Mail Archives: djgpp-workers/2001/01/23/09:36:55
> > -> c
> > Breakpoint 1, main (argc=1, argv=0x905d4) at analyse_ints.c:129
> > 129 if( argc != 2)
> > -> bt
> > #0 main (argc=1, argv=0x905d4) at analyse_ints.c:129
> > #1 0x3368 in __crt1_startup ()
> > -> n
> > Exiting due to signal SIGFPE
>
> This one is not. What does "disassemble analyse_ints" print near the
> EIP of the breakpoint (0x1a64)? Do you see any FP instructions
> anywhere around that?
Nope. 00001a64 is a "cmpl" instruction. I'm at work now but I'll mail
back the disassembly later.
> > Coprocessor Error at eip=00001a64, x87 status=
> > Program received signal SIGEMT, Emulation trap.
> > 0x9611 in _status87 ()
> > -> bt
> > #0 0x9611 in _status87 ()
> > #1 0x47da in do_faulting_finish_message ()
> > #2 0x4d13 in __djgpp_traceback_exit ()
> > #3 0x4da0 in raise ()
> > #4 0x2c3a in nofpsig ()
> > #5 0x4daa in raise ()
> > #6 0x4e07 in __djgpp_exception_processor ()
> > #7 0x1 in ?? ()
> > #8 0x3368 in __crt1_startup ()
>
> This is expected: the code which prints the traceback calls
> _status87. But what is that 0x1 on the stack?
Yes...?
> Not bad at all: it eventually got to printing the crash message and
> exiting the program ``almost normally''.
Well, the first mystery is the SIGFPE. There shouldn't be any SIGFPE
signals coming at all...
> You are welcome to work on this, if you feel like it. I'd be happy to
> give directions if you do.
Please direct me.
Right,
MartinS
- Raw text -