This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/6] Committed: Remove __need macros from signal.h.
I'm testing this patch now. It will take all day to test thoroughly.
I apologize for the inconvenience.
diff --git a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
index a7a31bfe5f..525840cea1 100644
--- a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
+++ b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
@@ -25,8 +25,10 @@
/* Most of these constants are uniform across all architectures, but there
is one exception. */
-#define __SI_ASYNCIO_AFTER_SIGIO 1
#include <bits/siginfo-arch.h>
+#ifndef __SI_ASYNCIO_AFTER_SIGIO
+# define __SI_ASYNCIO_AFTER_SIGIO 1
+#endif
/* Values for `si_code'. Positive values are reserved for kernel-generated
signals. */
diff --git a/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
b/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
index 1bb6da5264..bed69148f9 100644
--- a/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
+++ b/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
@@ -13,13 +13,25 @@
#endif
/* Some fields of siginfo_t have architecture-specific variations. */
-#define __SI_ALIGNMENT /* nothing */
-#define __SI_BAND_TYPE long int
-#define __SI_CLOCK_T __clock_t
-#define __SI_ERRNO_THEN_CODE 1
-#define __SI_HAVE_SIGSYS 1
-#define __SI_SIGFAULT_ADDL /* nothing */
#include <bits/siginfo-arch.h>
+#ifndef __SI_ALIGNMENT
+# define __SI_ALIGNMENT /* nothing */
+#endif
+#ifndef __SI_BAND_TYPE
+# define __SI_BAND_TYPE long int
+#endif
+#ifndef __SI_CLOCK_T
+# define __SI_CLOCK_T __clock_t
+#endif
+#ifndef __SI_ERRNO_THEN_CODE
+# define __SI_ERRNO_THEN_CODE 1
+#endif
+#ifndef __SI_HAVE_SIGSYS
+# define __SI_HAVE_SIGSYS 1
+#endif
+#ifndef __SI_SIGFAULT_ADDL
+# define __SI_SIGFAULT_ADDL /* nothing */
+#endif
typedef struct
{
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
b/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
index f824adb77a..8b5647062c 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
@@ -1,10 +1,8 @@
/* Architecture-specific adjustments to siginfo_t. ia64 version. */
#ifndef _BITS_SIGINFO_ARCH_H
-#undef __SI_HAVE_SIGSYS
#define __SI_HAVE_SIGSYS 0
-#undef __SI_SIGFAULT_ADDL
#define __SI_SIGFAULT_ADDL \
int _si_imm; \
unsigned int _si_flags; \
diff --git a/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
b/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
index 4292d7c9cd..cd3af7db06 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
@@ -4,12 +4,10 @@
/* MIPS has the si_code and si_errno fields in the opposite order from
all other architectures. */
-#undef __SI_ERRNO_THEN_CODE
#define __SI_ERRNO_THEN_CODE 0
/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
than all other architectures. */
-#undef __SI_ASYNCIO_AFTER_SIGIO
#define __SI_ASYNCIO_AFTER_SIGIO 0
#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
b/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
index 92fe30f11e..9f79715ebe 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
@@ -2,10 +2,8 @@
#ifndef _BITS_SIGINFO_ARCH_H
#define _BITS_SIGINFO_ARCH_H 1
-#undef __SI_BAND_TYPE
#define __SI_BAND_TYPE int
-#undef __SI_SIGFAULT_ADDL
#define __SI_SIGFAULT_ADDL \
int _si_trapno;
diff --git a/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
b/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
index 013ad7187d..7d0c24c84b 100644
--- a/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
+++ b/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
@@ -2,7 +2,6 @@
#ifndef _BITS_SIGINFO_ARCH_H
#define _BITS_SIGINFO_ARCH_H 1
-#undef __SI_SIGFAULT_ADDL
#define __SI_SIGFAULT_ADDL \
int _si_trapno;
diff --git a/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
b/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
index 6c85dbb6e8..7688a8d66d 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
@@ -10,9 +10,7 @@
attribute would be ignored if it were put in __SI_CLOCK_T instead
of encapsulated in a typedef. */
typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
-# undef __SI_ALIGNMENT
# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
-# undef __SI_CLOCK_T
# define __SI_CLOCK_T __sigchld_clock_t
#endif