aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/bits
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-05-22 22:28:09 -0400
committerZack Weinberg <zackw@panix.com>2017-05-22 22:32:09 -0400
commit231a59ce2c5719d2d77752c21092960e28837b4a (patch)
tree8027ab11263bad7d73188b34aebc3d881fc0dec2 /sysdeps/unix/sysv/linux/bits
parentf1a67a2c78601599be51a17250ca02c7d830d79d (diff)
downloadglibc-231a59ce2c5719d2d77752c21092960e28837b4a.zip
glibc-231a59ce2c5719d2d77752c21092960e28837b4a.tar.gz
glibc-231a59ce2c5719d2d77752c21092960e28837b4a.tar.bz2
Fix a bug in 'Remove __need macros from signal.h' (a992f506)
siginfo-arch.h is included in two different places, so the default definitions of the macros that it might or might not define need to be done conditionally afterward, not unconditionally beforehand. * sysdeps/unix/sysv/linux/bits/siginfo-consts.h (__SI_ASYNCIO_AFTER_SIGIO): Define default after including bits/siginfo-arch.h, only if not already defined. * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h (__SI_ALIGNMENT, __SI_BAND_TYPE, __SI_CLOCK_T) (__SI_ERRNO_THEN_CODE, __SI_HAVE_SIGSYS, __SI_SEGFAULT_ADDL): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h * sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h: Unconditionally define __SI_* macros.
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits')
-rw-r--r--sysdeps/unix/sysv/linux/bits/siginfo-consts.h4
-rw-r--r--sysdeps/unix/sysv/linux/bits/types/siginfo_t.h24
2 files changed, 21 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
index a7a31bf..525840c 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 1bb6da5..bed6914 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
{