Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-04-03 00:43:41 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-04-03 00:43:41 -0800
commitaaed87a74b14798c7e91299d02a1f4d92564a0d4 (patch)
tree075fc2a01a3fe4cfcb7d8478766248334a268fd6
parent6a9f6b3fb8117adf7930e8eda52e6551a620885d (diff)
Re-instate __ARCH_SI_BAND_T, to allow architecture overrides.
We default to "long" (which is what POSIX says), but since a number of architectures have used "int" for historical reasons, we need to allow overrides. At least sparc64 needs this. Possibly others, but so far architecture maintainers haven't spoken up. ppc64 and x86-64 are known to be ok with the default "long".
-rw-r--r--include/asm-generic/siginfo.h11
-rw-r--r--include/asm-sparc64/siginfo.h1
2 files changed, 11 insertions, 1 deletions
diff --git a/include/asm-generic/siginfo.h b/include/asm-generic/siginfo.h
index ed7ff725b96a..e95efd9e00c6 100644
--- a/include/asm-generic/siginfo.h
+++ b/include/asm-generic/siginfo.h
@@ -26,6 +26,15 @@ typedef union sigval {
#define __ARCH_SI_UID_T uid_t
#endif
+/*
+ * The default "si_band" type is "long", as specified by POSIX.
+ * However, some architectures want to override this to "int"
+ * for historical compatibility reasons, so we allow that.
+ */
+#ifndef __ARCH_SI_BAND_T
+#define __ARCH_SI_BAND_T long
+#endif
+
#ifndef HAVE_ARCH_SIGINFO_T
typedef struct siginfo {
@@ -77,7 +86,7 @@ typedef struct siginfo {
/* SIGPOLL */
struct {
- long _band; /* POLL_IN, POLL_OUT, POLL_MSG */
+ __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
int _fd;
} _sigpoll;
} _sifields;
diff --git a/include/asm-sparc64/siginfo.h b/include/asm-sparc64/siginfo.h
index 01aa9f35fd45..a159c71962d1 100644
--- a/include/asm-sparc64/siginfo.h
+++ b/include/asm-sparc64/siginfo.h
@@ -8,6 +8,7 @@
#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
#define __ARCH_SI_TRAPNO
+#define __ARCH_SI_BAND_T int
#include <asm-generic/siginfo.h>