diff --git a/rtl/linux/sparc/sighnd.inc b/rtl/linux/sparc/sighnd.inc new file mode 100644 index 0000000000..10b983e489 --- /dev/null +++ b/rtl/linux/sparc/sighnd.inc @@ -0,0 +1,58 @@ +{ + $Id$ + This file is part of the Free Pascal run time library. + Copyright (c) 1999-2000 by Michael Van Canneyt, + member of the Free Pascal development team. + + Signal handler is arch dependant due to processor to language + exception conversion. + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + + +procedure SignalToRunerror(Sig: longint; SigContext: SigContextRec); cdecl; + +var + res,fpustate : word; +begin + res:=0; + case sig of + SIGFPE : + begin + { don't know how to find the different causes, maybe via xer? } + res := 207; + end; + SIGILL, + SIGBUS, + SIGSEGV : + res:=216; + end; +{ give runtime error at the position where the signal was raised } + if res<>0 then + HandleErrorAddrFrame(res,pointer(SigContext.uc.uc_mcontext.pt_regs^.nip),pointer(SigContext.uc.uc_mcontext.pt_regs^.gpr[1])); +end; + +{ + $Log$ + Revision 1.1 2003-11-06 16:22:01 peter + * sparc + + Revision 1.1 2003/11/02 14:53:06 jonas + + sighand and associated record definitions for ppc. Untested. + + Revision 1.2 2003/11/01 01:58:11 marco + * more small fixes. + + Revision 1.1 2003/11/01 01:27:20 marco + * initial version from 1.0.x branch + + +} +