]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
authorAurelien Jarno <aurelien@aurel32.net>
Mon, 17 Aug 2009 12:08:20 +0000 (12:08 +0000)
committerGerald Pfeifer <gerald@gcc.gnu.org>
Mon, 17 Aug 2009 12:08:20 +0000 (12:08 +0000)
* 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
gcc/ada/s-osinte-kfreebsd-gnu.ads

index 8dfceb4b01ba30c30e8402f2714847f9cc895b9f..04712c2cd3a93854de4683af5e1e5255a20aed78 100644 (file)
@@ -1,3 +1,11 @@
+2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
+
+       * 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  <fofanov@adacore.com>
 
        * a-calend-vms.adb: Fix typo.
index ad33e54164b387fed49c1898758b211df503712e..e85af9944227bb35f1df2495e3ff0285040aa265 100644 (file)
@@ -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