public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* gcc-3.2.3 + small ada patch successful on i686 Red Hat Linux release 9
@ 2003-04-25 23:55 Laurent Guerby
  0 siblings, 0 replies; only message in thread
From: Laurent Guerby @ 2003-04-25 23:55 UTC (permalink / raw)
  To: gcc

Hi,

The ACATS results are in a bit better (numerical stuff passing more tests) than those of
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7). 

I assume packager of gcc/ada for NPTL systems will want to include it
in their build, it's small and gets Ada tasking in good shape
instead of not working at all.

The patch applies to 3.3 branch too, althought I haven't tested it.
I use it on mainline and with the ACT tree too with even
better results, so there's progress in the right direction :).

Laurent

$ gcc -v
Reading specs from bin/../lib/gcc-lib/i686-pc-linux-gnu/3.2.3/specs
Configured with: /home/guerby/tmp/gcc-3.2.3/configure --prefix=/home/guerby/work/gcc/install/install-2003-04-25-22-17-17 --enable-languages=ada,c --enable-threads --disable-nls
Thread model: posix
gcc version 3.2.3

$ ./config.guess
i686-pc-linux-gnu

$ head -1 /etc/issue
Red Hat Linux release 9 (Shrike)

$ rpm -q glibc
glibc-2.3.2-11.9

$ cat /tmp/gcc-3.2.3-ada-rh9.diff
--- 5iosinte.ads.orig	2003-04-25 22:12:24.000000000 +0200
+++ 5iosinte.ads	2003-04-25 22:13:40.000000000 +0200
@@ -445,11 +443,8 @@
 
 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;
 
@@ -478,7 +473,7 @@
       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;
@@ -492,24 +487,28 @@
 
    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_padding_t is array (0 .. 35) of unsigned_char;
+   pragma Convention (C, pthread_cond_padding_t);
+
    type pthread_cond_t is record
-      c_spinlock : int;
-      c_waiting  : struct_pthread_queue;
+      c_lock     : struct_pthread_fast_lock;
+      c_waiting  : System.Address;
+      c_padding  : pthread_cond_padding_t;
    end record;
    pragma Convention (C, pthread_cond_t);
 


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-04-25 22:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-25 23:55 gcc-3.2.3 + small ada patch successful on i686 Red Hat Linux release 9 Laurent Guerby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).