about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--conform/conformtest.pl1
-rw-r--r--conform/data/signal.h-data4
-rw-r--r--linuxthreads/semaphore.h4
-rw-r--r--linuxthreads/sysdeps/pthread/bits/pthreadtypes.h2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/siginfo.h9
-rw-r--r--sysdeps/unix/sysv/linux/bits/siginfo.h7
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/siginfo.h11
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/siginfo.h11
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/siginfo.h7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h9
11 files changed, 53 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f0f7280ce..0b175d6446 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,18 @@
 2001-01-26  Ulrich Drepper  <drepper@redhat.com>
 
+	* conform/conformtest.pl: Define $mustprepend{"signal.h"}.
+	* conform/data/signal.h-data: Fix sigev_notify_function entry.
+	Fix typo (SIGVALRM -> SIGVTALRM).
+	* sysdeps/unix/sysv/linux/bits/siginfo.h: Define sigev_notify_attr
+	with real type.
+	* sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise.
+
 	* conform/conformtest.pl: Implement optional-element.  Define
 	$mustprepend{"sched.h"}.
-
 	* conform/data/sched.h-data: Make sporadic scheduler definitions
 	optional.
 
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
index a121554d07..1357bb33d5 100644
--- a/conform/conformtest.pl
+++ b/conform/conformtest.pl
@@ -55,6 +55,7 @@ $CFLAGS{"XOPEN2K"} = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=600";
 # Some headers need a bit more attention.
 $mustprepend{'regex.h'} = "#include <sys/types.h>\n";
 $mustprepend{'sched.h'} = "#include <sys/types.h>\n";
+$mustprepend{'signal.h'} = "#include <pthread.h>\n";
 $mustprepend{'wordexp.h'} = "#include <stddef.h>\n";
 
 # Make a hash table from this information.
diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data
index 4fcbf9a5a5..22e07fb257 100644
--- a/conform/data/signal.h-data
+++ b/conform/data/signal.h-data
@@ -16,7 +16,7 @@ type {struct sigevent}
 element {struct sigevent} int sigev_notify
 element {struct sigevent} int sigev_signo
 element {struct sigevent} {union sigval} sigev_value
-element {struct sigevent} {void(*)(union sigval)} sigev_notify_function
+element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
 element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
 
 constant SIGEV_NONE
@@ -54,7 +54,7 @@ constant SIGPROF
 constant SIGSYS
 constant SIGTRAP
 constant SIGURG
-constant SIGVALRM
+constant SIGVTALRM
 constant SIGXCPU
 constant SIGXFSZ
 
diff --git a/linuxthreads/semaphore.h b/linuxthreads/semaphore.h
index f611f48323..fa0e52ddeb 100644
--- a/linuxthreads/semaphore.h
+++ b/linuxthreads/semaphore.h
@@ -33,8 +33,8 @@ typedef struct
 {
   struct
   {
-    long int status;
-    int spinlock;
+    long int __status;
+    int __spinlock;
   } __sem_lock;
   int __sem_value;
   _pthread_descr __sem_waiting;
diff --git a/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h b/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h
index 2bb661fea3..3ee5c48134 100644
--- a/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h
+++ b/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h
@@ -38,7 +38,7 @@ typedef struct _pthread_descr_struct *_pthread_descr;
 
 
 /* Attributes for threads.  */
-typedef struct
+typedef struct __pthread_attr_s
 {
   int __detachstate;
   int __schedpolicy;
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h b/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
index 9426c13ee7..ca0a4fccda 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
@@ -1,5 +1,5 @@
-/* siginfo_t, sigevent and constants.  Linux/SPARC version.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* siginfo_t, sigevent and constants.  Linux/Alpha version.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -257,6 +257,9 @@ enum
 #  define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
+/* Forward declaration of the `pthread_attr_t' type.  */
+struct __pthread_attr_s;
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -270,7 +273,7 @@ typedef struct sigevent
 	struct
 	  {
 	    void (*_function) (sigval_t);	  /* Function to start.  */
-	    void *_attribute;			  /* Really pthread_attr_t.  */
+	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
diff --git a/sysdeps/unix/sysv/linux/bits/siginfo.h b/sysdeps/unix/sysv/linux/bits/siginfo.h
index fca2612c48..2f7dc192d4 100644
--- a/sysdeps/unix/sysv/linux/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/bits/siginfo.h
@@ -1,5 +1,5 @@
 /* siginfo_t, sigevent and constants.  Linux/SPARC version.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -257,6 +257,9 @@ enum
 #  define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
+/* Forward declaration of the `pthread_attr_t' type.  */
+struct __pthread_attr_s;
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -270,7 +273,7 @@ typedef struct sigevent
 	struct
 	  {
 	    void (*_function) (sigval_t);	  /* Function to start.  */
-	    void *_attribute;			  /* Really pthread_attr_t.  */
+	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h b/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
index 455fc57c81..0113257af6 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
@@ -1,7 +1,7 @@
 /* siginfo_t, sigevent and constants.  Linux/ia64 version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by David Mosberger-Tang <davidm@hpl.hp.com.
+   Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -283,6 +283,9 @@ enum
 # define __SIGEV_MAX_SIZE	64
 # define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
 
+/* Forward declaration of the `pthread_attr_t' type.  */
+struct __pthread_attr_s;
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -295,8 +298,8 @@ typedef struct sigevent
 
 	struct
 	  {
-	    void (*_function) __PMT ((sigval_t)); /* Function to start.  */
-	    void *_attribute;			  /* Really pthread_attr_t.  */
+	    void (*_function) (sigval_t);	  /* Function to start.  */
+	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
diff --git a/sysdeps/unix/sysv/linux/mips/bits/siginfo.h b/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
index 9d348acb99..6bebeb2bac 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
@@ -1,5 +1,5 @@
-/* siginfo_t, sigevent and constants.  Linux version.
-   Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
+/* siginfo_t, sigevent and constants.  Linux/MIPS version.
+   Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -245,6 +245,9 @@ enum
 # define __SIGEV_MAX_SIZE	64
 # define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 
+/* Forward declaration of the `pthread_attr_t' type.  */
+struct __pthread_attr_s;
+
 /* XXX This one might need to change!!!  */
 typedef struct sigevent
   {
@@ -258,8 +261,8 @@ typedef struct sigevent
 
 	struct
 	  {
-	    void (*_function) (sigval_t);	/* Function to start.  */
-	    void *_attribute;			/* Really pthread_attr_t.  */
+	    void (*_function) (sigval_t);	  /* Function to start.  */
+	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
index d06cff67c4..0d92a846c9 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
@@ -1,5 +1,5 @@
 /* siginfo_t, sigevent and constants.  Linux/SPARC version.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -266,6 +266,9 @@ enum
 #  define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
+/* Forward declaration of the `pthread_attr_t' type.  */
+struct __pthread_attr_s;
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -279,7 +282,7 @@ typedef struct sigevent
 	struct
 	  {
 	    void (*_function) (sigval_t);	  /* Function to start.  */
-	    void *_attribute;			  /* Really pthread_attr_t.  */
+	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h
index 9426c13ee7..9feb7250db 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h
@@ -1,5 +1,5 @@
-/* siginfo_t, sigevent and constants.  Linux/SPARC version.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* siginfo_t, sigevent and constants.  Linux/SPARC64 version.
+   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -257,6 +257,9 @@ enum
 #  define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
+/* Forward declaration of the `pthread_attr_t' type.  */
+struct __pthread_attr_s;
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -270,7 +273,7 @@ typedef struct sigevent
 	struct
 	  {
 	    void (*_function) (sigval_t);	  /* Function to start.  */
-	    void *_attribute;			  /* Really pthread_attr_t.  */
+	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;