s-osinte-darwin.adb, [...] (sigset_t_ptr): Removed, replaced by anonymous access...
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 15 Feb 2006 09:29:34 +0000 (10:29 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 15 Feb 2006 09:29:34 +0000 (10:29 +0100)
* s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
replaced by anonymous access type.
(pthread_sigmask): Now take an access sigset_t

* s-osinte-hpux.ads:  Ditto.
(pthread_mutex_t, pthread_cond_t): Update definitions to support
properly 32 and 64 bit ABIs.

From-SVN: r111025

17 files changed:
gcc/ada/s-inmaop-posix.adb
gcc/ada/s-osinte-aix.ads
gcc/ada/s-osinte-darwin.adb
gcc/ada/s-osinte-darwin.ads
gcc/ada/s-osinte-freebsd.ads
gcc/ada/s-osinte-hpux-dce.ads
gcc/ada/s-osinte-hpux.ads
gcc/ada/s-osinte-irix.ads
gcc/ada/s-osinte-linux-alpha.ads
gcc/ada/s-osinte-linux-hppa.ads
gcc/ada/s-osinte-linux.ads
gcc/ada/s-osinte-lynxos-3.ads
gcc/ada/s-osinte-lynxos.ads
gcc/ada/s-osinte-solaris-posix.ads
gcc/ada/s-osinte-solaris.ads
gcc/ada/s-osinte-tru64.ads
gcc/ada/s-osinte-vxworks.ads

index 2dab2de08ab9a0b281f199735f48537e4ca04622..486795c858ab7ca98a049e7d9d3e0674f54ca104 100644 (file)
@@ -8,7 +8,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--                     Copyright (C) 1995-2006, AdaCore                     --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -48,18 +48,11 @@ with System.Storage_Elements;
 --  used for To_Address
 --           Integer_Address
 
-with Unchecked_Conversion;
-
 package body System.Interrupt_Management.Operations is
 
    use Interfaces.C;
    use System.OS_Interface;
 
-   type Interrupt_Mask_Ptr is access all Interrupt_Mask;
-
-   function "+" is new
-     Unchecked_Conversion (Interrupt_Mask_Ptr, sigset_t_ptr);
-
    ---------------------
    -- Local Variables --
    ---------------------
@@ -111,10 +104,9 @@ package body System.Interrupt_Management.Operations is
    ------------------------
 
    procedure Set_Interrupt_Mask (Mask : access Interrupt_Mask) is
-      Result   : Interfaces.C.int;
+      Result : Interfaces.C.int;
    begin
-      Result := pthread_sigmask
-        (SIG_SETMASK, +Interrupt_Mask_Ptr (Mask), null);
+      Result := pthread_sigmask (SIG_SETMASK, Mask, null);
       pragma Assert (Result = 0);
    end Set_Interrupt_Mask;
 
@@ -124,8 +116,7 @@ package body System.Interrupt_Management.Operations is
    is
       Result  : Interfaces.C.int;
    begin
-      Result := pthread_sigmask
-        (SIG_SETMASK, +Interrupt_Mask_Ptr (Mask), +Interrupt_Mask_Ptr (OMask));
+      Result := pthread_sigmask (SIG_SETMASK, Mask, OMask);
       pragma Assert (Result = 0);
    end Set_Interrupt_Mask;
 
@@ -136,8 +127,7 @@ package body System.Interrupt_Management.Operations is
    procedure Get_Interrupt_Mask (Mask : access Interrupt_Mask) is
       Result : Interfaces.C.int;
    begin
-      Result := pthread_sigmask
-        (SIG_SETMASK, null, +Interrupt_Mask_Ptr (Mask));
+      Result := pthread_sigmask (SIG_SETMASK, null, Mask);
       pragma Assert (Result = 0);
    end Get_Interrupt_Mask;
 
index fcc7c245d088f5e2917fa8dd723bb3cf30d30620..527c8ae95e8968b8bbc17b05b0361ab75cdd19cd 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -324,12 +324,10 @@ package System.OS_Interface is
       sig    : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "sigthreadmask");
 
    --------------------------
index 6423877bdf25411ffdc921fd992b1840271d2efe..3ccd8c2741ced14436de9d3c0fb0dab92015725a 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---           Copyright (C) 1999-2005 Free Software Foundation, Inc.         --
+--           Copyright (C) 1999-2006 Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -37,8 +37,6 @@ pragma Polling (Off);
 --  Turn off polling, we do not want ATC polling to take place during
 --  tasking operations. It causes infinite loops and other problems.
 
-with Interfaces.C;
-
 package body System.OS_Interface is
 
    use Interfaces.C;
index ba4572e988def24b6e7e66253ec7d80f962422fe..e2ef1f1bca55edf479a857b63d274ed38dbd8e2a 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -302,12 +302,10 @@ package System.OS_Interface is
    function pthread_kill (thread : pthread_t; sig : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index 81a918656451d55edf56f902b107872bc5a9139d..35a3871c50acd678319ef82762dfe0c4b09f9fad 100644 (file)
@@ -7,7 +7,7 @@
 --                                   S p e c                                --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -353,12 +353,10 @@ package System.OS_Interface is
       sig    : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index be0b418e6a092e2f08112f2538922bd5593b05b9..1b59690c16164e7948251bc926ea87e36c552543 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -287,12 +287,10 @@ package System.OS_Interface is
    pragma Inline (pthread_kill);
    --  DCE_THREADS doesn't have pthread_kill
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    --  DCE THREADS does not have pthread_sigmask. Instead, it uses
    --  sigprocmask to do the signal handling when the thread library is
    --  sucked in.
index 9b911a108480d442852cbc1a70c9d454a3482d23..425f8d2fbb3a0519fd4492f78af397fda8ce6fdb 100644 (file)
@@ -6,8 +6,8 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--               Copyright (C) 1991-1994, Florida State University          --
+--            Copyright (C) 1995-2006, Free Software Foundation, Inc.       --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -320,12 +320,10 @@ package System.OS_Interface is
       sig    : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
@@ -526,29 +524,36 @@ private
    type int_array is array (Natural range <>) of int;
 
    type pthread_mutex_t is record
-      m_short  : short_array (0 .. 1);
-      m_int    : int;
-      m_int1   : int_array (0 .. 3);
-      m_pad    : int;  --  needed for 32 bit ABI, but *not* for 64 bit
-      m_ptr    : System.Address;
+      m_short : short_array (0 .. 1);
+      m_int   : int;
+      m_int1  : int_array (0 .. 3);
+      m_pad   : int;
+
+      m_ptr : int;
+      --  actually m_ptr is a void*, and on 32 bit ABI, m_pad is added so that
+      --  this field takes 64 bits. On 64 bit ABI, m_pad is gone, and m_ptr is
+      --  a 64 bit void*. Assume int'Size = 32.
+
       m_int2   : int_array (0 .. 1);
       m_int3   : int_array (0 .. 3);
       m_short2 : short_array (0 .. 1);
       m_int4   : int_array (0 .. 4);
       m_int5   : int_array (0 .. 1);
    end record;
+   for pthread_mutex_t'Alignment use System.Address'Alignment;
    pragma Convention (C, pthread_mutex_t);
 
    type pthread_cond_t is record
       c_short : short_array (0 .. 1);
       c_int   : int;
       c_int1  : int_array (0 .. 3);
-      m_pad   : int;  --  needed for 32 bit ABI, but *not* for 64 bit
-      m_ptr   : System.Address;
+      m_pad   : int;
+      m_ptr   : int;  --  see comment in pthread_mutex_t
       c_int2  : int_array (0 .. 1);
       c_int3  : int_array (0 .. 1);
       c_int4  : int_array (0 .. 1);
    end record;
+   for pthread_cond_t'Alignment use System.Address'Alignment;
    pragma Convention (C, pthread_cond_t);
 
    type pthread_key_t is new int;
index 88bb5007c4659cf953d8445a57d75f1103298a21..fedca74bdc530e137900582ba7592dd6c117fb94 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -127,7 +127,6 @@ package System.OS_Interface is
    SIGRTMAX   : constant := 64; --  Posix 1003.1b signals
 
    type sigset_t is private;
-   type sigset_t_ptr is access all sigset_t;
 
    function sigaddset (set : access sigset_t; sig : Signal) return int;
    pragma Import (C, sigaddset, "sigaddset");
@@ -284,8 +283,8 @@ package System.OS_Interface is
 
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index ece57dc69362089792dc0213dac44aebfeca16f9..f5e218239187a07ff1328e92ee4da94083b5b4fb 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -309,12 +309,10 @@ package System.OS_Interface is
    function pthread_kill (thread : pthread_t; sig : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index 40f0d073af562dc1709dcad899eb53cb5497ebca..2a033f1f9aaf34e7726ae5b9a0d04c662c92fdbc 100644 (file)
@@ -8,7 +8,7 @@
 --                          (GNU/Linux-HPPA Version)                        --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -316,12 +316,10 @@ package System.OS_Interface is
    function pthread_kill (thread : pthread_t; sig : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index 9872cdc3439fb8594c47e48c68fb3c88d94788b9..5d909fd9a4a3bc942100968b8fb69d4930dcde23 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -314,12 +314,10 @@ package System.OS_Interface is
    function pthread_kill (thread : pthread_t; sig : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index dadf8843f1ff6f3cd0bcdd9c022b7d7591f996a2..99e060a5f4b64e43fd63a48a00f560bd57cc3520 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -308,12 +308,10 @@ package System.OS_Interface is
    function pthread_kill (thread : pthread_t; sig : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "sigprocmask");
 
    --------------------------
index 0499adfb9ebebe5d80a818b2ae51e0fc924dd780..133078bc24693b13224e72459ec417da25def0da 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -332,12 +332,10 @@ package System.OS_Interface is
       sig    : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
    --  The behavior of pthread_sigmask on LynxOS requires
    --  further investigation.
index 5beb96707213d4c9b607c4262d108408b85bb25d..b3c4be2452bec5ccafb75cd86a7d4672399d1815 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -306,12 +306,10 @@ package System.OS_Interface is
       sig    : Signal) return int;
    pragma Import (C, pthread_kill, "pthread_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "pthread_sigmask");
 
    --------------------------
index cbbca6eff4e3e326d7ed683aeb1e960eeb71aacf..503475e4f128e7116b843c72115e3a17c73221bc 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -400,18 +400,16 @@ package System.OS_Interface is
    function thr_kill (thread : thread_t; sig : Signal) return int;
    pragma Import (C, thr_kill, "thr_kill");
 
-   type sigset_t_ptr is access all sigset_t;
-
    function thr_sigsetmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, thr_sigsetmask, "thr_sigsetmask");
 
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "thr_sigsetmask");
 
    function thr_suspend (target_thread : thread_t) return int;
index d3efe3079de2ecf5460bdd763d292c5f14e901c0..bac521fd54a65c5019e3b9c310c2cb16e103ddbc 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -335,12 +335,10 @@ package System.OS_Interface is
       sig    : Signal) return int;
    pragma Import (C, pthread_kill);
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask);
 
    --------------------------
index 82b4bcee60403f37bb4554c0ebfe2ad52b354472..ef9907a248b67b3d190f9eeb90c92af4011ef505 100644 (file)
@@ -7,7 +7,7 @@
 --                                   S p e c                                --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--             Copyright (C) 1995-2006, Free Software Foundation, Inc.      --
 --                                                                          --
 -- GNARL is free software; you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -141,12 +141,10 @@ package System.OS_Interface is
    function sigwait (set : access sigset_t; sig : access Signal) return int;
    pragma Inline (sigwait);
 
-   type sigset_t_ptr is access all sigset_t;
-
    function pthread_sigmask
      (how  : int;
-      set  : sigset_t_ptr;
-      oset : sigset_t_ptr) return int;
+      set  : access sigset_t;
+      oset : access sigset_t) return int;
    pragma Import (C, pthread_sigmask, "sigprocmask");
 
    type t_id is new long;