Commit aaed87a7 authored by Linus Torvalds's avatar Linus Torvalds

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".
parent 6a9f6b3f
...@@ -26,6 +26,15 @@ typedef union sigval { ...@@ -26,6 +26,15 @@ typedef union sigval {
#define __ARCH_SI_UID_T uid_t #define __ARCH_SI_UID_T uid_t
#endif #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 #ifndef HAVE_ARCH_SIGINFO_T
typedef struct siginfo { typedef struct siginfo {
...@@ -77,7 +86,7 @@ typedef struct siginfo { ...@@ -77,7 +86,7 @@ typedef struct siginfo {
/* SIGPOLL */ /* SIGPOLL */
struct { struct {
long _band; /* POLL_IN, POLL_OUT, POLL_MSG */ __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
int _fd; int _fd;
} _sigpoll; } _sigpoll;
} _sifields; } _sifields;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
#define __ARCH_SI_TRAPNO #define __ARCH_SI_TRAPNO
#define __ARCH_SI_BAND_T int
#include <asm-generic/siginfo.h> #include <asm-generic/siginfo.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment