qemu/linux-user/arm
Peter Maydell acebed948c linux-user/arm: Deliver SIGTRAP for UDF patterns used as breakpoints
The Linux kernel doesn't use the official bkpt insn for breakpoints;
instead it uses three instructions in the guaranteed-to-UNDEF space,
and generates SIGTRAP for these rather than the SIGILL that most
UNDEF insns generate:

https://elixir.bootlin.com/linux/v5.9.8/source/arch/arm/kernel/ptrace.c#L197

Make QEMU treat these insns specially too.  The main benefit of this
is that if you're running a debugger on a guest program that runs
into a GCC __builtin_trap() or LLVM "trap because execution should
never reach here" then you'll get the expected signal rather than a
SIGILL.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201117155634.6924-1-peter.maydell@linaro.org
2020-11-23 11:04:51 +00:00
..
nwfpe meson: linux-user 2020-08-21 06:30:38 -04:00
cpu_loop.c linux-user/arm: Deliver SIGTRAP for UDF patterns used as breakpoints 2020-11-23 11:04:51 +00:00
meson.build meson: linux-user 2020-08-21 06:30:38 -04:00
semihost.c semihosting: add qemu_semihosting_console_inc for SYS_READC 2020-01-09 11:41:29 +00:00
signal.c linux-user/arm/signal.c: Drop TARGET_CONFIG_CPU_32 2020-05-21 22:05:27 +01:00
sockbits.h
syscall.tbl linux-user: update syscall.tbl to Linux 5.9-rc7 2020-10-26 11:39:23 +01: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
target_fcntl.h
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