git: 4b8f747b9d31 - stable/13 - Fix the signal code on 32-bit breakpoints on arm64
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 22 Feb 2022 16:40:25 UTC
The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4b8f747b9d31b546cf59fac10878f1104e57f25e commit 4b8f747b9d31b546cf59fac10878f1104e57f25e Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2022-02-07 11:47:04 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2022-02-22 16:23:07 +0000 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 (cherry picked from commit 67dc576bae6e624ae46962ad187e0e31fece6688) --- sys/arm64/arm64/undefined.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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;