Hi Andrew, Linus,

This patch just consolidates the last of the (what should have been)
compat_sigval_ts.  It also fixes S390 that had a sigval_t in its struct
compat_siginfo.

Signed-off-by: Stephen Rothwell <[EMAIL PROTECTED]>

This patch needs to be applied on top of my "add and use
COMPAT_SIGEV_PAD_SIZE" patch posted a few minutes ago.

P.S. this patch has not even been compiled as I don't have acces to any of
the platforms involved, but has been acked by Dave Miller.

-- 
Cheers,
Stephen Rothwell                    [EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/

diff -ruNp linus-SIGEV/arch/ia64/ia32/ia32priv.h 
linus-sigval/arch/ia64/ia32/ia32priv.h
--- linus-SIGEV/arch/ia64/ia32/ia32priv.h       2005-02-21 12:02:07.000000000 
+1100
+++ linus-sigval/arch/ia64/ia32/ia32priv.h      2005-03-07 17:52:28.000000000 
+1100
@@ -225,11 +225,6 @@ struct stat64 {
        unsigned int    st_ino_hi;
 };
 
-typedef union sigval32 {
-       int sival_int;
-       unsigned int sival_ptr;
-} sigval_t32;
-
 typedef struct compat_siginfo {
        int si_signo;
        int si_errno;
@@ -249,7 +244,7 @@ typedef struct compat_siginfo {
                        timer_t _tid;           /* timer id */
                        int _overrun;           /* overrun count */
                        char _pad[sizeof(unsigned int) - sizeof(int)];
-                       sigval_t32 _sigval;     /* same as below */
+                       compat_sigval_t _sigval;        /* same as below */
                        int _sys_private;       /* not to be passed to user */
                } _timer;
 
@@ -257,7 +252,7 @@ typedef struct compat_siginfo {
                struct {
                        unsigned int _pid;      /* sender's pid */
                        unsigned int _uid;      /* sender's uid */
-                       sigval_t32 _sigval;
+                       compat_sigval_t _sigval;
                } _rt;
 
                /* SIGCHLD */
@@ -283,7 +278,7 @@ typedef struct compat_siginfo {
 } compat_siginfo_t;
 
 typedef struct sigevent32 {
-       sigval_t32 sigev_value;
+       compat_sigval_t sigev_value;
        int sigev_signo;
        int sigev_notify;
        union {
diff -ruNp linus-SIGEV/arch/mips/kernel/signal32.c 
linus-sigval/arch/mips/kernel/signal32.c
--- linus-SIGEV/arch/mips/kernel/signal32.c     2005-02-04 04:10:36.000000000 
+1100
+++ linus-sigval/arch/mips/kernel/signal32.c    2005-03-02 14:25:33.000000000 
+1100
@@ -32,11 +32,6 @@
 
 #define SI_PAD_SIZE32   ((SI_MAX_SIZE/sizeof(int)) - 3)
 
-typedef union sigval32 {
-       int sival_int;
-       s32 sival_ptr;
-} sigval_t32;
-
 typedef struct compat_siginfo {
        int si_signo;
        int si_code;
@@ -89,7 +84,7 @@ typedef struct compat_siginfo {
                struct {
                        compat_pid_t _pid;      /* sender's pid */
                        compat_uid_t _uid;      /* sender's uid */
-                       sigval_t32 _sigval;
+                       compat_sigval_t _sigval;
                } _rt;
 
        } _sifields;
diff -ruNp linus-SIGEV/arch/s390/kernel/compat_linux.h 
linus-sigval/arch/s390/kernel/compat_linux.h
--- linus-SIGEV/arch/s390/kernel/compat_linux.h 2005-02-21 12:02:07.000000000 
+1100
+++ linus-sigval/arch/s390/kernel/compat_linux.h        2005-03-07 
17:49:16.000000000 +1100
@@ -29,11 +29,6 @@ struct old_sigaction32 {
        __u32                   sa_restorer;    /* Another 32 bit pointer */
 };
  
-typedef union sigval32 {
-        int     sival_int;
-        __u32   sival_ptr;
-} sigval_t32;
-                 
 typedef struct compat_siginfo {
        int     si_signo;
        int     si_errno;
@@ -52,7 +47,7 @@ typedef struct compat_siginfo {
                struct {
                        timer_t _tid;           /* timer id */
                        int _overrun;           /* overrun count */
-                       sigval_t _sigval;       /* same as below */
+                       compat_sigval_t _sigval;        /* same as below */
                        int _sys_private;       /* not to be passed to user */
                } _timer;
 
@@ -60,7 +55,7 @@ typedef struct compat_siginfo {
                struct {
                        pid_t                   _pid;   /* sender's pid */
                        uid_t                   _uid;   /* sender's uid */
-                       sigval_t32              _sigval;
+                       compat_sigval_t         _sigval;
                } _rt;
 
                /* SIGCHLD */
diff -ruNp linus-SIGEV/arch/sparc64/kernel/signal32.c 
linus-sigval/arch/sparc64/kernel/signal32.c
--- linus-SIGEV/arch/sparc64/kernel/signal32.c  2005-02-04 04:10:36.000000000 
+1100
+++ linus-sigval/arch/sparc64/kernel/signal32.c 2005-03-02 14:25:33.000000000 
+1100
@@ -104,7 +104,7 @@ typedef struct compat_siginfo{
                struct {
                        timer_t _tid;                   /* timer id */
                        int _overrun;                   /* overrun count */
-                       sigval_t32 _sigval;             /* same as below */
+                       compat_sigval_t _sigval;                /* same as 
below */
                        int _sys_private;               /* not to be passed to 
user */
                } _timer;
 
@@ -112,7 +112,7 @@ typedef struct compat_siginfo{
                struct {
                        compat_pid_t _pid;              /* sender's pid */
                        unsigned int _uid;              /* sender's uid */
-                       sigval_t32 _sigval;
+                       compat_sigval_t _sigval;
                } _rt;
 
                /* SIGCHLD */
diff -ruNp linus-SIGEV/include/asm-sparc64/siginfo.h 
linus-sigval/include/asm-sparc64/siginfo.h
--- linus-SIGEV/include/asm-sparc64/siginfo.h   2005-02-21 12:02:07.000000000 
+1100
+++ linus-sigval/include/asm-sparc64/siginfo.h  2005-03-07 17:49:55.000000000 
+1100
@@ -18,11 +18,6 @@
 
 #ifdef CONFIG_COMPAT
 
-typedef union sigval32 {
-       int sival_int;
-       u32 sival_ptr;
-} sigval_t32;
-
 struct compat_siginfo;
 
 #endif /* CONFIG_COMPAT */
@@ -42,7 +37,7 @@ struct compat_siginfo;
 #ifdef CONFIG_COMPAT
 
 typedef struct sigevent32 {
-       sigval_t32 sigev_value;
+       compat_sigval_t sigev_value;
        int sigev_signo;
        int sigev_notify;
        union {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to