aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorLaurent Guerby <guerby@acm.org>2003-05-01 14:14:35 +0000
committerLaurent Guerby <guerby@gcc.gnu.org>2003-05-01 14:14:35 +0000
commit4f9335cdd957ddfc4a25c6713843fccba7ec4c29 (patch)
treeb792a098d789a4cbe74a5da219744f120728a339 /gcc/ada
parent3b895f8ed663edc2bfab43aec24e3e8ac3cf2c9f (diff)
downloadgcc-4f9335cdd957ddfc4a25c6713843fccba7ec4c29.zip
gcc-4f9335cdd957ddfc4a25c6713843fccba7ec4c29.tar.gz
gcc-4f9335cdd957ddfc4a25c6713843fccba7ec4c29.tar.bz2
re PR ada/10546 (GCC 3.3, Ada tasking not working on Red Hat Linux 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. From-SVN: r66327
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/5iosinte.ads33
-rw-r--r--gcc/ada/ChangeLog6
2 files changed, 22 insertions, 17 deletions
diff --git a/gcc/ada/5iosinte.ads b/gcc/ada/5iosinte.ads
index 81b82ec..e112c8c 100644
--- a/gcc/ada/5iosinte.ads
+++ b/gcc/ada/5iosinte.ads
@@ -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;
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index e0b9aa2..e3347ed 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.