Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -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 */