Mail Archives: djgpp-workers/2000/04/28/11:42:58
At 16:27 27/04/00 -0400, you wrote:
>> Date: Thu, 27 Apr 2000 15:18:21 +0200
>> From: Pierre Muller <muller AT cerbere DOT u-strasbg DOT fr>
>>
>> I get a nice FPU exception,
>> but if I redirect the output of this code using DJGPP redir executable
>> it does not work anymore :(
>>
>> The exception seems to be sent to the redir executable rather than to the
>> correct executable !
>
>Sorry, I don't understand what does this mean: ``exception seems to be
>sent to redir''.
If I recompile redir.c but remove the djgpp_exception_toggle
around the run_program call then
the redir program gets the following !
Exiting due to signal SIGFPE
Floating Point exception at eip=0000e816, x87 status=0000
eax=00000000 ebx=00000021 ecx=00000000 edx=0003640f esi=0000002b edi=0022c588
ebp=0022c42c esp=0022c41c program=C:\CVS\COMPILER\REDIR.EXE
cs: sel=00a7 base=82f75000 limit=0022cfff
ds: sel=00af base=82f75000 limit=0022cfff
es: sel=00b7 base=82f75000 limit=0022cfff
fs: sel=0087 base=000363f0 limit=0000ffff
gs: sel=00bf base=00000000 limit=0010ffff
ss: sel=00b7 base=82f75000 limit=0022cfff
App stack: [0022d000..001ad000] Exceptn stack: [0001b0e0..000191a0]
Call frame traceback EIPs:
0x0000e816 ___dpmi_int+118
0x0000bc78 ___spawnvpe+1960
0x0000c5d0 __is_dos_shell+1976
0x0000d24a ___spawnve+630
0x00005040 __shell_command+1816
0x00005383 __shell_command+2651
0x00006068 _system+2552
0x00001f67 ___crt0_glob_function+2551
0x00002907 _main+1363
0x000042f2 ___crt1_startup+178
Debugging this is really hard as GDB does not allow to debug a program
inside another one
and that anyhow dbgcom.c does not allow int 0x75 to be redirected !!
The problem does not seem to be very DJGPP specific :
Real mode compiled Turbo Pascal code shows the same feature;
a division by zero in FPU is not converted into a RTE 200 if the program is
run
from another Turbo Pascal real mode program !
Pierre Muller
Institut Charles Sadron
6,rue Boussingault
F 67083 STRASBOURG CEDEX (France)
mailto:muller AT ics DOT u-strasbg DOT fr
Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99
- Raw text -