Skip to content

Commit

Permalink
runtime: fix breakpoint in ppc64x
Browse files Browse the repository at this point in the history
Currently runtime.Breakpoint generates a SIGSEGV in ppc64.
The solution is an unconditional trap similar to what clang and gcc do. It is documented in the section C.6 of the ABI Book 3.

Fixes #52101

Change-Id: I071d2f2679b695ef268445b04c9222bd74e1f9af
GitHub-Last-Rev: fff4e5e
GitHub-Pull-Request: #52102
Reviewed-on: https://go-review.googlesource.com/c/go/+/397554
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Paul Murphy <murp@ibm.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
  • Loading branch information
alexsaezm authored and pmur committed Jun 6, 2022
1 parent 9ce28b5 commit 1b8ca75
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/runtime/asm_ppc64x.s
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ DATA runtime·mainPC+0(SB)/8,$runtime·main<ABIInternal>(SB)
GLOBL runtime·mainPC(SB),RODATA,$8

TEXT runtime·breakpoint(SB),NOSPLIT|NOFRAME,$0-0
MOVD R0, 0(R0) // TODO: TD
TW $31, R0, R0
RET

TEXT runtime·asminit(SB),NOSPLIT|NOFRAME,$0-0
Expand Down

0 comments on commit 1b8ca75

Please sign in to comment.