This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Ada] fix ada/10546 on mainline by merging from ACT
- From: Laurent Guerby <guerby at acm dot org>
- To: gcc-patches at gcc dot gnu dot org
- Date: 01 May 2003 16:18:16 +0200
- Subject: [Ada] fix ada/10546 on mainline by merging from ACT
- Organization:
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;