qemu/linux-user/arm
Peter Maydell babe6d5c88 linux-user/arm: Use force_sig() to deliver fpa11 emulation SIGFPE
In the Arm target code, when the fpa11 emulation code tells us we
need to send the guest a SIGFPE, we do this with queue_signal(), but
we are using the wrong si_type, and we aren't setting the _sifields
union members corresponding to either the si_type we are using or the
si_type we should be using.

As the existing comment notes, the kernel code for this calls the old
send_sig() function to deliver the signal.  This eventually results
in the kernel's signal handling code fabricating a siginfo_t with a
SI_KERNEL code and a zero pid and uid.  For QEMU this means we need
to use QEMU_SI_KILL.  We already have a function for that:
force_sig() sets up the whole target_siginfo_t the way we need it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210813131809.28655-4-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2021-09-23 14:42:55 +02:00
..
nwfpe softfloat: Introduce Floatx80RoundPrec 2021-06-03 14:04:02 -07:00
cpu_loop.c linux-user/arm: Use force_sig() to deliver fpa11 emulation SIGFPE 2021-09-23 14:42:55 +02:00
meson.build semihosting: Move ARM semihosting code to shared directories 2021-01-18 10:05:06 +00:00
signal.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
sockbits.h linux-user: move socket.h generic definitions to generic/sockbits.h 2018-05-25 10:10:55 +02:00
syscall.tbl linux-user: update syscall.tbl to Linux v5.13 2021-07-13 13:59:59 +02:00
syscallhdr.sh linux-user, arm: add syscall table generation support 2020-03-20 16:02:00 +01:00
target_cpu.h linux user: Fix Lesser GPL version number 2020-11-15 16:41:26 +01:00
target_elf.h linux-user: Move CPU type name selection to a function 2018-02-25 17:27:41 +01:00
target_errno_defs.h linux-user: Extract target errno to 'target_errno_defs.h' 2021-07-12 21:53:35 +02:00
target_fcntl.h linux-user: move arm/aarch64/m68k fcntl definitions to [arm|aarch64|m68k]/target_fcntl.h 2018-06-04 01:30:44 +02:00
target_signal.h linux-user: Correct definition of stack_t 2020-11-11 10:59:39 +01:00
target_structs.h linux user: Fix Lesser GPL version number 2020-11-15 16:41:26 +01:00
target_syscall.h linux-user: Add strace support for printing arguments of syscalls used to lock and unlock memory 2020-08-27 12:29:50 +02:00
termbits.h linux-user: Add generic 'termbits.h' for some archs 2020-08-27 12:29:50 +02:00