summaryrefslogtreecommitdiff
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;