Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=269dd2b2526d046d8b43554ff27b486e2ddb3f08
Commit:     269dd2b2526d046d8b43554ff27b486e2ddb3f08
Parent:     f49a747c4adadd96addf4dbf4a44f439513fb29b
Author:     Atsushi Nemoto <[EMAIL PROTECTED]>
AuthorDate: Sun Feb 18 00:12:57 2007 +0900
Committer:  Ralf Baechle <[EMAIL PROTECTED]>
CommitDate: Tue Feb 20 01:26:42 2007 +0000

    [MIPS] Fix struct sigcontext for N32 userland
    
    The kernel use 64-bit for sc_regs[0], and both N32/N64 userland
    expects it was 64-bit.  But size of 'long' on N32 is actually 32-bit.
    So this definition make some confusion.  Use __u32 and __u64 for
    N32/N64 sigcontext to get rid of this confusion.
    
    Signed-off-by: Atsushi Nemoto <[EMAIL PROTECTED]>
    Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]>
---
 include/asm-mips/sigcontext.h |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/include/asm-mips/sigcontext.h b/include/asm-mips/sigcontext.h
index 3c175a7..9729474 100644
--- a/include/asm-mips/sigcontext.h
+++ b/include/asm-mips/sigcontext.h
@@ -42,6 +42,7 @@ struct sigcontext {
 
 #if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
 
+#include <linux/posix_types.h>
 /*
  * Keep this struct definition in sync with the sigcontext fragment
  * in arch/mips/tools/offset.c
@@ -53,27 +54,25 @@ struct sigcontext {
  * entries, add sc_dsp and sc_reserved for padding.  No prisoners.
  */
 struct sigcontext {
-       unsigned long   sc_regs[32];
-       unsigned long   sc_fpregs[32];
-       unsigned long   sc_mdhi;
-       unsigned long   sc_hi1;
-       unsigned long   sc_hi2;
-       unsigned long   sc_hi3;
-       unsigned long   sc_mdlo;
-       unsigned long   sc_lo1;
-       unsigned long   sc_lo2;
-       unsigned long   sc_lo3;
-       unsigned long   sc_pc;
-       unsigned int    sc_fpc_csr;
-       unsigned int    sc_used_math;
-       unsigned int    sc_dsp;
-       unsigned int    sc_reserved;
+       __u64   sc_regs[32];
+       __u64   sc_fpregs[32];
+       __u64   sc_mdhi;
+       __u64   sc_hi1;
+       __u64   sc_hi2;
+       __u64   sc_hi3;
+       __u64   sc_mdlo;
+       __u64   sc_lo1;
+       __u64   sc_lo2;
+       __u64   sc_lo3;
+       __u64   sc_pc;
+       __u32   sc_fpc_csr;
+       __u32   sc_used_math;
+       __u32   sc_dsp;
+       __u32   sc_reserved;
 };
 
 #ifdef __KERNEL__
 
-#include <linux/posix_types.h>
-
 struct sigcontext32 {
        __u32           sc_regmask;     /* Unused */
        __u32           sc_status;      /* Unused */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to