This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] fix ada/10546 on mainline by merging from ACT


Approved privately by Robert Dewar, commited to mainline,
bootstrap and ACATS on x86-linux glibc 2.2 and 2.3.

The fix for 3.3 hasn't been approved yet by Mark.

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.
	
Index: 5iosinte.ads
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/5iosinte.ads,v
retrieving revision 1.5
diff -c -3 -p -r1.5 5iosinte.ads
*** 5iosinte.ads	24 Apr 2003 17:53:51 -0000	1.5
--- 5iosinte.ads	1 May 2003 14:10:38 -0000
***************
*** 6,12 ****
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2001 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- --
--- 6,12 ----
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          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,33 ****
  -- 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.      --
  --                                                                          --
  ------------------------------------------------------------------------------
  
--- 27,33 ----
  -- 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.     --
  --                                                                          --
  ------------------------------------------------------------------------------
  
*************** package System.OS_Interface is
*** 234,239 ****
--- 234,244 ----
        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 --
     -------------------------
*************** package System.OS_Interface is
*** 443,453 ****
  
  private
  
!    type sigset_t is array (0 .. 31) of unsigned_long;
     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;
  
--- 448,455 ----
  
  private
  
!    type sigset_t is array (0 .. 127) of unsigned_char;
     pragma Convention (C, sigset_t);
  
     type pid_t is new int;
  
*************** private
*** 476,482 ****
        stackaddr     : System.Address;
        stacksize     : size_t;
     end record;
!    pragma Convention (C_Pass_By_Copy, pthread_attr_t);
  
     type pthread_condattr_t is record
        dummy : int;
--- 478,484 ----
        stackaddr     : System.Address;
        stacksize     : size_t;
     end record;
!    pragma Convention (C, pthread_attr_t);
  
     type pthread_condattr_t is record
        dummy : int;
*************** private
*** 490,514 ****
  
     type pthread_t is new unsigned_long;
  
!    type struct_pthread_queue is record
!       head : System.Address;
!       tail : System.Address;
     end record;
!    pragma Convention (C, struct_pthread_queue);
  
     type pthread_mutex_t is record
!       m_spinlock : int;
        m_count    : int;
        m_owner    : System.Address;
        m_kind     : int;
!       m_waiting  : struct_pthread_queue;
     end record;
     pragma Convention (C, pthread_mutex_t);
  
!    type pthread_cond_t is record
!       c_spinlock : int;
!       c_waiting  : struct_pthread_queue;
!    end record;
     pragma Convention (C, pthread_cond_t);
  
     type pthread_key_t is new unsigned;
--- 492,513 ----
  
     type pthread_t is new unsigned_long;
  
!    type struct_pthread_fast_lock is record
!       status   : long;
!       spinlock : int;
     end record;
!    pragma Convention (C, struct_pthread_fast_lock);
  
     type pthread_mutex_t is record
!       m_reserved : int;
        m_count    : int;
        m_owner    : System.Address;
        m_kind     : int;
!       m_lock     : struct_pthread_fast_lock;
     end record;
     pragma Convention (C, pthread_mutex_t);
  
!    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 Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]