Fix the signal code on 32-bit breakpoints on arm64

When debugging 32-bit programs a debugger may insert a instruction that
will raise the undefined instruction trap. The kernel handles these
by raising a SIGTRAP, however the code was incorrect.

Fix this by using the expected TRAP_BRKPT signal code.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Andrew Turner 2022-02-07 11:47:04 +00:00
parent a9696510f5
commit 67dc576bae

View File

@ -105,7 +105,7 @@ gdb_trapper(vm_offset_t va, uint32_t insn, struct trapframe *frame,
ksiginfo_init_trap(&ksi);
ksi.ksi_signo = SIGTRAP;
ksi.ksi_code = TRAP_TRACE;
ksi.ksi_code = TRAP_BRKPT;
ksi.ksi_addr = (void *)va;
trapsignal(td, &ksi);
return 1;