Mail Archives: djgpp/1994/09/28/18:33:57
Hello All,
I have two computers: a 386SX/16 and a 486/25, and I seem to have problems
getting programs to run with the 386SX. On my 486, the program runs perfectly
and I don't have any apparent problems. However, when I try to run the same
program with a 386SX, the program locks up (ctrl-c fails). If I then use GDB
to try to find the line that the program is crashing on, I find that I can
ctrl-c out of the lock up and GDB tells me that a floating point exception
occurred (which is possible since I am using some code that is not my own).
If I then add the following to my autoexec.bat:
set GO32=emu c:/djgpp/bin/emu387
I still get the floating point exception in gdb, and the program still hangs
outside of gdb.
I'm compiling with the flags "-mno-486"
The lines of code that appear to generate the floating point exception are:
int i;
int j;
for (i=0; i < 40000; i++) {
if (i < j ) j++;
}
or something similar to this. I do not see anything to do with floating point
in the above, yet I don't want to rule out a floating point emulation problem
either.
Am I missing something? Does djgpp have problems with the 386sx because it's
not a dx? Am I setting up the 387 emulation incorrectly? Should I use a
compiler flag I don't know about? Have I missed something in the
documentation?
Any help would be greatly appreciated
Brian Acton
- Raw text -