diff options
Diffstat (limited to 'gcc/ada/s-osinte-darwin.ads')
-rw-r--r-- | gcc/ada/s-osinte-darwin.ads | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ada/s-osinte-darwin.ads b/gcc/ada/s-osinte-darwin.ads index f8c67117c79..27a7860522f 100644 --- a/gcc/ada/s-osinte-darwin.ads +++ b/gcc/ada/s-osinte-darwin.ads @@ -117,10 +117,15 @@ package System.OS_Interface is type Signal_Set is array (Natural range <>) of Signal; Unmasked : constant Signal_Set := - (SIGTTIN, SIGTTOU, SIGSTOP, SIGTSTP); + (SIGTTIN, SIGTTOU, SIGSTOP, SIGTSTP); Reserved : constant Signal_Set := - (SIGKILL, SIGSTOP); + (SIGKILL, SIGSTOP); + + Exception_Signals : constant Signal_Set := + (SIGFPE, SIGILL, SIGSEGV, SIGBUS); + -- These signals (when runtime or system) will be caught and converted + -- into an Ada exception. type sigset_t is private; @@ -279,10 +284,11 @@ package System.OS_Interface is pragma Import (C, sigaltstack, "sigaltstack"); Alternate_Stack : aliased System.Address; - -- This is a dummy definition, never used (Alternate_Stack_Size is null) + pragma Import (C, Alternate_Stack, "__gnat_alternate_stack"); + -- The alternate signal stack for stack overflows - Alternate_Stack_Size : constant := 0; - -- No alternate signal stack is used on this platform + Alternate_Stack_Size : constant := 64 * 1024; + -- This must be in keeping with init.c:__gnat_alternate_stack Stack_Base_Available : constant Boolean := False; -- Indicates whether the stack base is available on this target. This |