linux-user: Correct definition of stack_t
commitce437484fced8292d90497d7b740335428fffed6
authorLemonBoy <thatlemon@gmail.com>
Thu, 5 Nov 2020 15:52:51 +0000 (5 16:52 +0100)
committerLaurent Vivier <laurent@vivier.eu>
Wed, 11 Nov 2020 09:59:39 +0000 (11 10:59 +0100)
treef489abcb4819b2adef74c0c98779e65f28c1d552
parentc6f28ed5075df79fef39c500362a3f4089256c9c
linux-user: Correct definition of stack_t

Some platforms used the wrong definition of stack_t where the flags and
size fields were swapped or where the flags field had type ulong instead
of int.

Due to the presence of padding space in the structure and the prevalence
of little-endian machines this problem went unnoticed for a long time.

The type definitions have been cross-checked with the ones defined in
the Linux kernel v5.9, plus some older versions for a few architecture
that have been removed and Xilinx's kernel fork for NiosII [1].

The bsd-user headers remain unchanged as I don't know if they are wrong
or not.

[1] https://github.com/Xilinx/linux-xlnx/blob/master/arch/nios2/include/uapi/asm/signal.h

Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <e9d47692-ee92-009f-6007-0abc3f502b97@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
15 files changed:
linux-user/alpha/target_signal.h
linux-user/arm/target_signal.h
linux-user/cris/target_signal.h
linux-user/hppa/target_signal.h
linux-user/i386/target_signal.h
linux-user/m68k/target_signal.h
linux-user/microblaze/target_signal.h
linux-user/mips/target_signal.h
linux-user/mips64/target_signal.h
linux-user/nios2/target_signal.h
linux-user/ppc/target_signal.h
linux-user/s390x/target_signal.h
linux-user/sh4/target_signal.h
linux-user/sparc/target_signal.h
linux-user/x86_64/target_signal.h