From: Stephen Rothwell This patch is based on work by Carlos O'Donell and Matthew Wilcox. It introduces/updates the compat_time_t type and uses it for compat siginfo structures. I have built this on ppc64 and x86_64. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton --- arch/ia64/ia32/ia32priv.h | 2 +- arch/s390/kernel/compat_linux.h | 2 +- arch/sparc64/kernel/signal32.c | 2 +- include/asm-ia64/compat.h | 1 + include/asm-mips/compat.h | 1 + include/asm-parisc/compat.h | 2 +- include/asm-ppc64/compat.h | 1 + include/asm-ppc64/ppc32.h | 2 +- include/asm-sparc64/compat.h | 1 + include/asm-x86_64/ia32.h | 2 +- 10 files changed, 10 insertions(+), 6 deletions(-) diff -puN arch/ia64/ia32/ia32priv.h~compat-introduce-compat_time_t arch/ia64/ia32/ia32priv.h --- 25/arch/ia64/ia32/ia32priv.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/arch/ia64/ia32/ia32priv.h 2005-05-31 02:30:45.000000000 -0700 @@ -241,7 +241,7 @@ typedef struct compat_siginfo { /* POSIX.1b timers */ struct { - timer_t _tid; /* timer id */ + compat_timer_t _tid; /* timer id */ int _overrun; /* overrun count */ char _pad[sizeof(unsigned int) - sizeof(int)]; compat_sigval_t _sigval; /* same as below */ diff -puN arch/s390/kernel/compat_linux.h~compat-introduce-compat_time_t arch/s390/kernel/compat_linux.h --- 25/arch/s390/kernel/compat_linux.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/arch/s390/kernel/compat_linux.h 2005-05-31 02:30:45.000000000 -0700 @@ -45,7 +45,7 @@ typedef struct compat_siginfo { /* POSIX.1b timers */ struct { - timer_t _tid; /* timer id */ + compat_timer_t _tid; /* timer id */ int _overrun; /* overrun count */ compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ diff -puN arch/sparc64/kernel/signal32.c~compat-introduce-compat_time_t arch/sparc64/kernel/signal32.c --- 25/arch/sparc64/kernel/signal32.c~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/arch/sparc64/kernel/signal32.c 2005-05-31 02:30:45.000000000 -0700 @@ -102,7 +102,7 @@ typedef struct compat_siginfo{ /* POSIX.1b timers */ struct { - timer_t _tid; /* timer id */ + compat_timer_t _tid; /* timer id */ int _overrun; /* overrun count */ compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ diff -puN include/asm-ia64/compat.h~compat-introduce-compat_time_t include/asm-ia64/compat.h --- 25/include/asm-ia64/compat.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-ia64/compat.h 2005-05-31 02:30:45.000000000 -0700 @@ -27,6 +27,7 @@ typedef u16 compat_ipc_pid_t; typedef s32 compat_daddr_t; typedef u32 compat_caddr_t; typedef __kernel_fsid_t compat_fsid_t; +typedef s32 compat_timer_t; typedef s32 compat_int_t; typedef s32 compat_long_t; diff -puN include/asm-mips/compat.h~compat-introduce-compat_time_t include/asm-mips/compat.h --- 25/include/asm-mips/compat.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-mips/compat.h 2005-05-31 02:30:45.000000000 -0700 @@ -29,6 +29,7 @@ typedef s32 compat_caddr_t; typedef struct { s32 val[2]; } compat_fsid_t; +typedef s32 compat_timer_t; typedef s32 compat_int_t; typedef s32 compat_long_t; diff -puN include/asm-parisc/compat.h~compat-introduce-compat_time_t include/asm-parisc/compat.h --- 25/include/asm-parisc/compat.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-parisc/compat.h 2005-05-31 02:30:45.000000000 -0700 @@ -24,7 +24,7 @@ typedef u16 compat_nlink_t; typedef u16 compat_ipc_pid_t; typedef s32 compat_daddr_t; typedef u32 compat_caddr_t; -typedef u32 compat_timer_t; +typedef s32 compat_timer_t; typedef s32 compat_int_t; typedef s32 compat_long_t; diff -puN include/asm-ppc64/compat.h~compat-introduce-compat_time_t include/asm-ppc64/compat.h --- 25/include/asm-ppc64/compat.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-ppc64/compat.h 2005-05-31 02:30:45.000000000 -0700 @@ -26,6 +26,7 @@ typedef s32 compat_daddr_t; typedef u32 compat_caddr_t; typedef __kernel_fsid_t compat_fsid_t; typedef s32 compat_key_t; +typedef s32 compat_timer_t; typedef s32 compat_int_t; typedef s32 compat_long_t; diff -puN include/asm-ppc64/ppc32.h~compat-introduce-compat_time_t include/asm-ppc64/ppc32.h --- 25/include/asm-ppc64/ppc32.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-ppc64/ppc32.h 2005-05-31 02:30:45.000000000 -0700 @@ -32,7 +32,7 @@ typedef struct compat_siginfo { /* POSIX.1b timers */ struct { - timer_t _tid; /* timer id */ + compat_timer_t _tid; /* timer id */ int _overrun; /* overrun count */ compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ diff -puN include/asm-sparc64/compat.h~compat-introduce-compat_time_t include/asm-sparc64/compat.h --- 25/include/asm-sparc64/compat.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-sparc64/compat.h 2005-05-31 02:30:45.000000000 -0700 @@ -25,6 +25,7 @@ typedef s32 compat_daddr_t; typedef u32 compat_caddr_t; typedef __kernel_fsid_t compat_fsid_t; typedef s32 compat_key_t; +typedef s32 compat_timer_t; typedef s32 compat_int_t; typedef s32 compat_long_t; diff -puN include/asm-x86_64/ia32.h~compat-introduce-compat_time_t include/asm-x86_64/ia32.h --- 25/include/asm-x86_64/ia32.h~compat-introduce-compat_time_t 2005-05-31 02:30:45.000000000 -0700 +++ 25-akpm/include/asm-x86_64/ia32.h 2005-05-31 02:30:45.000000000 -0700 @@ -94,7 +94,7 @@ typedef struct compat_siginfo{ /* POSIX.1b timers */ struct { - int _tid; /* timer id */ + compat_timer_t _tid; /* timer id */ int _overrun; /* overrun count */ compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ _