Mail Archives: djgpp/1999/10/19/15:02:45
Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> said:
> > Exiting due to signal SIGSEGV
> > General Protection Fault at eip=00001dcc, error=01d4
>
> If a program crashes with a GPF, and the crash message includes an error
> code, then the error code is actually the value of a selector that your
> program tried to load into one of the segment registered, and the
> selector turned out to be invalid.
>
> So in this case, you are trying to use a selector 0x1d4, which is indeed
> invalid (it's not ring-3 selector).
OTOH, the error code doesn't include the ring-level.
But, thanks for the tip. I completely overlooked that error-code.
>> Maybe I need to modify the selector for 'execute' ? (don't think so)
>
> I think you do need that. In which case you will have to define two
> selectors: one for data, another for code, with the same base address
> and limit, but different descriptors. (DJGPP does exactly that for CS
> and DS, btw.)
Bingo, changing the access-reight (ORing with 8) did the trick.
A "fresh" descriptor seems to only have Read/Write access.
Everything works now, thanks alot!
Gisle V.
- Raw text -