From dee285096f2ac88d3f6ed6260cd5801173b9a4ae Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Mon, 17 Aug 2009 12:08:20 +0000 Subject: [PATCH] s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant. * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant. (stack_t): New record type. (sigaltstack): New imported function. (Alternate_Stack): New imported variable. (Alternate_Stack_Size): New constant. From-SVN: r150840 --- gcc/ada/ChangeLog | 8 ++++++++ gcc/ada/s-osinte-kfreebsd-gnu.ads | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 8dfceb4b01b..04712c2cd3a 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,11 @@ +2009-08-17 Aurelien Jarno + + * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant. + (stack_t): New record type. + (sigaltstack): New imported function. + (Alternate_Stack): New imported variable. + (Alternate_Stack_Size): New constant. + 2009-08-17 Vasiliy Fofanov * a-calend-vms.adb: Fix typo. diff --git a/gcc/ada/s-osinte-kfreebsd-gnu.ads b/gcc/ada/s-osinte-kfreebsd-gnu.ads index ad33e54164b..e85af994422 100644 --- a/gcc/ada/s-osinte-kfreebsd-gnu.ads +++ b/gcc/ada/s-osinte-kfreebsd-gnu.ads @@ -188,6 +188,7 @@ package System.OS_Interface is SIG_IGN : constant := 1; SA_SIGINFO : constant := 16#0040#; + SA_ONSTACK : constant := 16#0001#; function sigaction (sig : Signal; @@ -280,6 +281,24 @@ package System.OS_Interface is -- Stack -- ----------- + type stack_t is record + ss_sp : System.Address; + ss_size : size_t; + ss_flags : int; + end record; + pragma Convention (C, stack_t); + + function sigaltstack + (ss : not null access stack_t; + oss : access stack_t) return int; + pragma Import (C, sigaltstack, "sigaltstack"); + + Alternate_Stack : aliased System.Address; + -- This is a dummy definition, never used (Alternate_Stack_Size is null) + + Alternate_Stack_Size : constant := 0; + -- No alternate signal stack is used on this platform + function Get_Stack_Base (thread : pthread_t) return Address; pragma Inline (Get_Stack_Base); -- This is a dummy procedure to share some GNULLI files