mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 19:11:03 +02:00
* tried to fix x86-64 signal handling
This commit is contained in:
parent
2553988d5a
commit
d531e303f9
@ -515,13 +515,13 @@ begin
|
||||
FillChar(act, sizeof(SigActionRec),0);
|
||||
{ initialize handler }
|
||||
act.sa_handler := signalhandler(@SignalToRunError);
|
||||
{$ifdef CPUARM}
|
||||
{$ifdef RTSIGACTION}
|
||||
act.sa_flags:=4;
|
||||
{$endif CPUARM}
|
||||
FpSigAction(SIGFPE,@act,@oldact);
|
||||
FpSigAction(SIGSEGV,@act,@oldact);
|
||||
FpSigAction(SIGBUS,@act,@oldact);
|
||||
FpSigAction(SIGILL,@act,@oldact);
|
||||
{$endif RTSIGACTION}
|
||||
FpSigAction(SIGFPE,@act,nil);
|
||||
FpSigAction(SIGSEGV,@act,nil);
|
||||
FpSigAction(SIGBUS,@act,nil);
|
||||
FpSigAction(SIGILL,@act,nil);
|
||||
end;
|
||||
|
||||
procedure SetupCmdLine;
|
||||
@ -584,7 +584,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.15 2004-04-22 21:16:35 peter
|
||||
Revision 1.16 2004-04-27 20:47:00 florian
|
||||
* tried to fix x86-64 signal handling
|
||||
|
||||
Revision 1.15 2004/04/22 21:16:35 peter
|
||||
* do_write/do_read fix
|
||||
|
||||
Revision 1.14 2004/03/27 14:33:45 florian
|
||||
|
@ -475,7 +475,7 @@ CONST
|
||||
MAP_ANONYMOUS =$20;
|
||||
|
||||
{Constansts Termios/Ioctl (used in Do_IsDevice) }
|
||||
{$ifdef PowerPc}
|
||||
{$ifdef PowerPC}
|
||||
IOCtl_TCGETS=$402c7413;
|
||||
{$else}
|
||||
IOCtl_TCGETS=$5401; // TCGETS is also in termios.inc, but the sysunix needs only this
|
||||
@ -509,7 +509,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.22 2004-04-25 07:18:49 florian
|
||||
Revision 1.23 2004-04-27 20:47:00 florian
|
||||
* tried to fix x86-64 signal handling
|
||||
|
||||
Revision 1.22 2004/04/25 07:18:49 florian
|
||||
* mmap for x86-64 fixed
|
||||
|
||||
Revision 1.21 2004/04/20 20:27:01 florian
|
||||
@ -579,6 +582,4 @@ end;
|
||||
|
||||
Revision 1.1 2002/11/12 14:40:18 marco
|
||||
* The syscall core of the new system unit.
|
||||
|
||||
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ type
|
||||
status: cardinal;
|
||||
end;
|
||||
|
||||
SigSet = array[0..wordsinsigset-1] of Longint;
|
||||
SigSet = array[0..wordsinsigset-1] of cint;
|
||||
sigset_t= SigSet;
|
||||
PSigSet = ^SigSet;
|
||||
psigset_t=psigset;
|
||||
@ -343,6 +343,13 @@ type
|
||||
TSigAction = procedure(Sig: Longint; SigContext: SigContextRec);cdecl;
|
||||
|
||||
|
||||
{$ifdef CPUARM}
|
||||
{$define NEWSIGNAL}
|
||||
{$endif CPUARM}
|
||||
|
||||
{$ifdef CPUx86_64}
|
||||
{$define NEWSIGNAL}
|
||||
{$endif CPUx86_64}
|
||||
|
||||
SigActionRec = packed record // this is temporary for the migration
|
||||
{$ifdef posixworkaround}
|
||||
@ -354,22 +361,25 @@ type
|
||||
1: (Sa: TSigAction);
|
||||
end;
|
||||
{$endif}
|
||||
{$ifdef CPUARM}
|
||||
Sa_Flags : Longint;
|
||||
{$ifdef NEWSIGNAL}
|
||||
Sa_Flags : cuint;
|
||||
Sa_restorer : SignalRestorer; { Obsolete - Don't use }
|
||||
Sa_Mask : SigSet;
|
||||
{$else CPUARM}
|
||||
{$else NEWSIGNAL}
|
||||
Sa_Mask : SigSet;
|
||||
Sa_Flags : Longint;
|
||||
Sa_restorer : SignalRestorer; { Obsolete - Don't use }
|
||||
{$endif CPUARM}
|
||||
{$endif NEWSIGNAL}
|
||||
end;
|
||||
TSigActionRec = SigActionRec;
|
||||
PSigActionRec = ^SigActionRec;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.17 2004-03-27 14:35:13 florian
|
||||
Revision 1.18 2004-04-27 20:47:00 florian
|
||||
* tried to fix x86-64 signal handling
|
||||
|
||||
Revision 1.17 2004/03/27 14:35:13 florian
|
||||
* structs for arm adapted
|
||||
|
||||
Revision 1.16 2004/02/05 01:16:12 florian
|
||||
|
Loading…
Reference in New Issue
Block a user