Commit 269dd2b2 authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Ralf Baechle

[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: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent f49a747c
...@@ -42,6 +42,7 @@ struct sigcontext { ...@@ -42,6 +42,7 @@ struct sigcontext {
#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 #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 * Keep this struct definition in sync with the sigcontext fragment
* in arch/mips/tools/offset.c * in arch/mips/tools/offset.c
...@@ -53,27 +54,25 @@ struct sigcontext { ...@@ -53,27 +54,25 @@ struct sigcontext {
* entries, add sc_dsp and sc_reserved for padding. No prisoners. * entries, add sc_dsp and sc_reserved for padding. No prisoners.
*/ */
struct sigcontext { struct sigcontext {
unsigned long sc_regs[32]; __u64 sc_regs[32];
unsigned long sc_fpregs[32]; __u64 sc_fpregs[32];
unsigned long sc_mdhi; __u64 sc_mdhi;
unsigned long sc_hi1; __u64 sc_hi1;
unsigned long sc_hi2; __u64 sc_hi2;
unsigned long sc_hi3; __u64 sc_hi3;
unsigned long sc_mdlo; __u64 sc_mdlo;
unsigned long sc_lo1; __u64 sc_lo1;
unsigned long sc_lo2; __u64 sc_lo2;
unsigned long sc_lo3; __u64 sc_lo3;
unsigned long sc_pc; __u64 sc_pc;
unsigned int sc_fpc_csr; __u32 sc_fpc_csr;
unsigned int sc_used_math; __u32 sc_used_math;
unsigned int sc_dsp; __u32 sc_dsp;
unsigned int sc_reserved; __u32 sc_reserved;
}; };
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/posix_types.h>
struct sigcontext32 { struct sigcontext32 {
__u32 sc_regmask; /* Unused */ __u32 sc_regmask; /* Unused */
__u32 sc_status; /* Unused */ __u32 sc_status; /* Unused */
......
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