Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

GCC 4.2.2 for DJGPP released (Announce)

posted by RayeR Homepage, CZ, 27.10.2007, 01:54

> > Hm, bug is still present
>
> If you hand out your source code, some might be able to reproduce your
> problem.

OK, I cut the code as possible, try to compile this: gcc -S x.c -masm=intel

#include <stdlib.h>
#include <stdio.h>

typedef struct {
  unsigned long offset;                // 32-bit offset
  unsigned short selector;             // 16-bit selector
} __attribute__((packed)) PM_FAR_POINTER;

int exec_ring0_code(unsigned long code_address, unsigned long ecx, unsigned long *eax, unsigned long *edx)
{
  PM_FAR_POINTER callgate_ptr;
  asm __volatile__ (
    "lcall *%5\n"
    : "=a"(*eax), "=d"(*edx)
    : "a"(*eax), "c"(ecx), "d"(*edx), "m" (callgate_ptr)
    : "memory"
    );
  return(0);
}


result is:

x.c: In function 'exec_ring0_code':
x.c:19: internal compiler error: in print_operand, at config/i386/i386.c:7961 
Please submit a full bug report,     
with preprocessed source if appropriate.                             
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


Assemler output x.S stops at line
        lcall *

when I compile with gcc -S x.c only it compile all without error
and mentioned line looks this:
        lcall *-6(%ebp)

---
DOS gives me freedom to unlimited HW access.

 

Complete thread:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 489 users online (0 registered, 489 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum