[2/6] Committed: Remove __need macros from signal.h.

Message ID CAKCAbMh=Y28+TmEngoFSM+PZABx+cmadyRo_nEg18bH_s9AFmQ@mail.gmail.com
State Committed
Headers

Commit Message

Zack Weinberg May 22, 2017, 11:59 a.m. UTC
  I'm testing this patch now.  It will take all day to test thoroughly.
I apologize for the inconvenience.
  

Comments

Zack Weinberg May 23, 2017, 2:33 a.m. UTC | #1
On Mon, May 22, 2017 at 7:59 AM, Zack Weinberg <zackw@panix.com> wrote:
> I'm testing this patch now.  It will take all day to test thoroughly.
> I apologize for the inconvenience.

This has been checked in now.
  

Patch

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