2004-03-24 13:57:45

by Marcus Meissner

[permalink] [raw]
Subject: PATCH: siginfo -> si_band is long

Hi,

After discussion on the glibc list the result was that
si_band is "long int" according to POSIX:

http://www.opengroup.org/onlinepubs/007904975/basedefs/signal.h.html

Ulrich Drepper refused a patch to fix glibc due to this reason:
http://sources.redhat.com/ml/libc-alpha/2004-03/msg00254.html

so here is the patch to fix it in the kernel.

ppc64 and s390x were broken before and are fixed by this patch too.

Please apply.

Ciao, Marcus

--- linux-2.6.4/include/asm-generic/siginfo.h.xx 2004-03-24 14:44:23.000000000 +0100
+++ linux-2.6.4/include/asm-generic/siginfo.h 2004-03-24 14:44:36.000000000 +0100
@@ -27,7 +27,7 @@
#endif

#ifndef __ARCH_SI_BAND_T
-#define __ARCH_SI_BAND_T int
+#define __ARCH_SI_BAND_T long int
#endif

#ifndef HAVE_ARCH_SIGINFO_T
--- linux-2.6.4/include/asm-x86_64/siginfo.h.xx 2004-03-24 14:45:26.000000000 +0100
+++ linux-2.6.4/include/asm-x86_64/siginfo.h 2004-03-24 14:45:34.000000000 +0100
@@ -3,8 +3,6 @@

#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))

-#define __ARCH_SI_BAND_T long
-
#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4)

#include <asm-generic/siginfo.h>

Ciao, Marcus


Attachments:
(No filename) (1.12 kB)
(No filename) (189.00 B)
Download all attachments

2004-03-24 21:42:50

by Lars Marowsky-Bree

[permalink] [raw]
Subject: Re: PATCH: siginfo -> si_band is long

On 2004-03-24T14:57:37,
Marcus Meissner <[email protected]> said:

Hi Andrew, the patch looks good to me (I originally stumbled across this
when debugging an application trying to use SIGIO, which is currently
broken on ppc64).

Could you please pick it up?

s390x, sparc64 might also be affected, btw.

Why are all these archs not using the asm-generic/siginfo.h anyway?
*sigh*. Oh well.

> Hi,
>
> After discussion on the glibc list the result was that
> si_band is "long int" according to POSIX:
>
> http://www.opengroup.org/onlinepubs/007904975/basedefs/signal.h.html
>
> Ulrich Drepper refused a patch to fix glibc due to this reason:
> http://sources.redhat.com/ml/libc-alpha/2004-03/msg00254.html
>
> so here is the patch to fix it in the kernel.
>
> ppc64 and s390x were broken before and are fixed by this patch too.
>
> Please apply.
>
> Ciao, Marcus
>
> --- linux-2.6.4/include/asm-generic/siginfo.h.xx 2004-03-24 14:44:23.000000000 +0100
> +++ linux-2.6.4/include/asm-generic/siginfo.h 2004-03-24 14:44:36.000000000 +0100
> @@ -27,7 +27,7 @@
> #endif
>
> #ifndef __ARCH_SI_BAND_T
> -#define __ARCH_SI_BAND_T int
> +#define __ARCH_SI_BAND_T long int
> #endif
>
> #ifndef HAVE_ARCH_SIGINFO_T
> --- linux-2.6.4/include/asm-x86_64/siginfo.h.xx 2004-03-24 14:45:26.000000000 +0100
> +++ linux-2.6.4/include/asm-x86_64/siginfo.h 2004-03-24 14:45:34.000000000 +0100
> @@ -3,8 +3,6 @@
>
> #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
>
> -#define __ARCH_SI_BAND_T long
> -
> #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4)
>
> #include <asm-generic/siginfo.h>
>
> Ciao, Marcus


Sincerely,
Lars Marowsky-Br?e <[email protected]>

--
High Availability & Clustering \ ever tried. ever failed. no matter.
SUSE Labs | try again. fail again. fail better.
Research & Development, SUSE LINUX AG \ -- Samuel Beckett