version 1.27, 2003/03/09 15:17:03
|
version 1.29, 2006/01/05 01:37:33
|
Line 142 static void fpe_handler(int sig, siginfo
|
Line 142 static void fpe_handler(int sig, siginfo
|
#ifdef FPE_INTOVF |
#ifdef FPE_INTOVF |
case FPE_INTOVF: code=-11; break; /* integer overflow */ |
case FPE_INTOVF: code=-11; break; /* integer overflow */ |
#endif |
#endif |
|
#ifdef FPE_FLTDIV |
case FPE_FLTDIV: code=-42; break; /* floating point divide by zero */ |
case FPE_FLTDIV: code=-42; break; /* floating point divide by zero */ |
|
#endif |
|
#ifdef FPE_FLTOVF |
case FPE_FLTOVF: code=-43; break; /* floating point overflow */ |
case FPE_FLTOVF: code=-43; break; /* floating point overflow */ |
|
#endif |
|
#ifdef FPE_FLTUND |
case FPE_FLTUND: code=-54; break; /* floating point underflow */ |
case FPE_FLTUND: code=-54; break; /* floating point underflow */ |
|
#endif |
|
#ifdef FPE_FLTRES |
case FPE_FLTRES: code=-41; break; /* floating point inexact result */ |
case FPE_FLTRES: code=-41; break; /* floating point inexact result */ |
|
#endif |
#if 0 /* defined by Unix95, but unnecessary */ |
#if 0 /* defined by Unix95, but unnecessary */ |
case FPE_FLTINV: /* invalid floating point operation */ |
case FPE_FLTINV: /* invalid floating point operation */ |
case FPE_FLTSUB: /* subscript out of range */ |
case FPE_FLTSUB: /* subscript out of range */ |
Line 393 void install_signal_handlers(void)
|
Line 401 void install_signal_handlers(void)
|
SUSv2 ss_sp should point to the start of the stack, but |
SUSv2 ss_sp should point to the start of the stack, but |
unfortunately Irix 6.5 (at least) expects ss_sp to point to the |
unfortunately Irix 6.5 (at least) expects ss_sp to point to the |
end, so we work around this issue by accomodating everyone. */ |
end, so we work around this issue by accomodating everyone. */ |
if ((sigstack.ss_sp = my_alloc(sigstack.ss_size*2)) != NULL) { |
if ((sigstack.ss_sp = gforth_alloc(sigstack.ss_size*2)) != NULL) { |
sigstack.ss_sp += sigstack.ss_size; |
sigstack.ss_sp += sigstack.ss_size; |
sigstack.ss_flags=0; |
sigstack.ss_flags=0; |
sas_retval=sigaltstack(&sigstack,(stack_t *)0); |
sas_retval=sigaltstack(&sigstack,(stack_t *)0); |