OSDN Git Service

2003-05-01 Laurent Guerby <guerby@acm.org>
authorguerby <guerby@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 May 2003 14:14:35 +0000 (14:14 +0000)
committerguerby <guerby@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 May 2003 14:14:35 +0000 (14:14 +0000)
        PR ada/10546
        * 5iosinte.ads: Increase pthread_cond_t size to match recent
        LinuxThread and NPTL version, merge from ACT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66327 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/5iosinte.ads
gcc/ada/ChangeLog

index 81b82ec..e112c8c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2001 Free Software Foundation, Inc.          --
+--          Copyright (C) 1992-2003 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- --
@@ -27,7 +27,7 @@
 -- covered by the  GNU Public License.                                      --
 --                                                                          --
 -- GNARL was developed by the GNARL team at Florida State University.       --
--- Extensive contributions were provided by Ada Core Technologies Inc.      --
+-- Extensive contributions were provided by Ada Core Technologies, Inc.     --
 --                                                                          --
 ------------------------------------------------------------------------------
 
@@ -234,6 +234,11 @@ package System.OS_Interface is
       tz : System.Address := System.Null_Address) return int;
    pragma Import (C, gettimeofday, "gettimeofday");
 
+   function sysconf (name : int) return long;
+   pragma Import (C, sysconf);
+
+   SC_CLK_TCK : constant := 2;
+
    -------------------------
    -- Priority Scheduling --
    -------------------------
@@ -443,11 +448,8 @@ package System.OS_Interface is
 
 private
 
-   type sigset_t is array (0 .. 31) of unsigned_long;
+   type sigset_t is array (0 .. 127) of unsigned_char;
    pragma Convention (C, sigset_t);
-   for sigset_t'Size use 1024;
-   --  This is for GNU libc version 2 but should be backward compatible with
-   --  other libc where sigset_t is smaller.
 
    type pid_t is new int;
 
@@ -476,7 +478,7 @@ private
       stackaddr     : System.Address;
       stacksize     : size_t;
    end record;
-   pragma Convention (C_Pass_By_Copy, pthread_attr_t);
+   pragma Convention (C, pthread_attr_t);
 
    type pthread_condattr_t is record
       dummy : int;
@@ -490,25 +492,22 @@ private
 
    type pthread_t is new unsigned_long;
 
-   type struct_pthread_queue is record
-      head : System.Address;
-      tail : System.Address;
+   type struct_pthread_fast_lock is record
+      status   : long;
+      spinlock : int;
    end record;
-   pragma Convention (C, struct_pthread_queue);
+   pragma Convention (C, struct_pthread_fast_lock);
 
    type pthread_mutex_t is record
-      m_spinlock : int;
+      m_reserved : int;
       m_count    : int;
       m_owner    : System.Address;
       m_kind     : int;
-      m_waiting  : struct_pthread_queue;
+      m_lock     : struct_pthread_fast_lock;
    end record;
    pragma Convention (C, pthread_mutex_t);
 
-   type pthread_cond_t is record
-      c_spinlock : int;
-      c_waiting  : struct_pthread_queue;
-   end record;
+   type pthread_cond_t is array (0 .. 47) of unsigned_char;
    pragma Convention (C, pthread_cond_t);
 
    type pthread_key_t is new unsigned;
index e0b9aa2..e3347ed 100644 (file)
@@ -1,3 +1,9 @@
+2003-05-01  Laurent Guerby <guerby@acm.org>
+
+        PR ada/10546 
+        * 5iosinte.ads: Increase pthread_cond_t size to match recent
+        LinuxThread and NPTL version, merge from ACT.
+       
 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
 
        * utils.c (convert): No need to clear TREE_CST_RTL.