Le 25/10/2019 à 15:38, Richard Henderson a écrit : > On 10/25/19 8:47 AM, Laurent Vivier wrote: >> Le 25/10/2019 à 13:39, Richard Henderson a écrit : >>> Instructions are always 4 bytes; use uint32_t not abi_ulong. >>> >>> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> >>> --- >>> linux-user/sparc/signal.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c >>> index efb0df7e2b..ecfdf937e4 100644 >>> --- a/linux-user/sparc/signal.c >>> +++ b/linux-user/sparc/signal.c >>> @@ -87,7 +87,7 @@ struct target_signal_frame { >>> struct sparc_stackf ss; >>> __siginfo_t info; >>> abi_ulong fpu_save; >>> - abi_ulong insns[2] __attribute__ ((aligned (8))); >>> + uint32_t insns[2] __attribute__ ((aligned (8))); >>> abi_ulong extramask[TARGET_NSIG_WORDS - 1]; >>> abi_ulong extra_size; /* Should be 0 */ >>> qemu_siginfo_fpu_t fpu_state; >>> @@ -98,7 +98,7 @@ struct target_rt_signal_frame { >>> abi_ulong regs[20]; >>> sigset_t mask; >>> abi_ulong fpu_save; >>> - unsigned int insns[2]; >>> + uint32_t insns[2]; >>> stack_t stack; >>> unsigned int extra_size; /* Should be 0 */ >>> qemu_siginfo_fpu_t fpu_state; >>> >> >> This definition is used by sparc and sparc64 (sparc64/signal.c includes >> sparc/signal.c), so the definition was valid before your changes for >> sparc and not good for sparc64. Moreover rt_signal_frame for sparc64 >> doesn't look like this one (and signal_frame doesn't exist). > > You're right that target_rt_signal_frame isn't correct for sparc64. But we > also don't implement setup_rt_frame yet, so it's also currently unused. > > What's here is just good enough to make setup_frame work, and that is correct > for both sparc and sparc64.
ok Reviewed-by: Laurent Vivier <laur...@vivier.eu>