diff options
author | Andrew Turner <andrew@FreeBSD.org> | 2022-02-07 11:47:04 +0000 |
---|---|---|
committer | Andrew Turner <andrew@FreeBSD.org> | 2022-02-07 11:56:04 +0000 |
commit | 67dc576bae6e624ae46962ad187e0e31fece6688 (patch) | |
tree | cb9e68c5af7624f6c00f7d263332b7f515ccf208 | |
parent | a9696510f5caef4a7c525fcf4359597798829350 (diff) | |
download | src-67dc576bae6e624ae46962ad187e0e31fece6688.tar.gz src-67dc576bae6e624ae46962ad187e0e31fece6688.zip |
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
-rw-r--r-- | sys/arm64/arm64/undefined.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm64/arm64/undefined.c b/sys/arm64/arm64/undefined.c index 2cdb5f9a97fb..1feb242db060 100644 --- a/sys/arm64/arm64/undefined.c +++ b/sys/arm64/arm64/undefined.c @@ -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; |