]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.18] runtime: support for debugger function calls on linux/arm64
authoreric fang <eric.fang@arm.com>
Tue, 22 Mar 2022 07:04:35 +0000 (07:04 +0000)
committerHeschi Kreinick <heschi@google.com>
Mon, 9 May 2022 20:11:26 +0000 (20:11 +0000)
commit66432dadb109c1b9d3e4b9309538c236d7085de6
treeafc5fce75068f21653332325e25d25c2238dc4d8
parent3e79a84853091717c0274281270992f55d2fad04
[release-branch.go1.18] runtime: support for debugger function calls on linux/arm64

This CL adds support for debugger function calls on linux arm64
platform. The protocol is basically the same as in CL 109699, except for
the following differences:
1, The abi difference which affect parameter passing and frame layout.
2, Stores communication information in R20.
3, The closure register is R26.
4, Use BRK 0 instruction to generate a breakpoint. The saved PC in
sigcontext is the PC where the signal occurred, not the next PC.

In addition, this CL refactors the existing code (which is dedicated to
amd64) for easier multi-arch scaling.

Fixes #52699

Change-Id: I06b14e345cc89aab175f4a5f2287b765da85a86b
Reviewed-on: https://go-review.googlesource.com/c/go/+/395754
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Eric Fang <eric.fang@arm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
(cherry picked from commit 9717e8f80f973e747a6c6e4a938c7f2a091a9b50)
Reviewed-on: https://go-review.googlesource.com/c/go/+/404215
Reviewed-by: David Chase <drchase@google.com>
src/runtime/asm_arm64.s
src/runtime/debug_test.go
src/runtime/debugcall.go
src/runtime/export_debug_amd64_test.go [new file with mode: 0644]
src/runtime/export_debug_arm64_test.go [new file with mode: 0644]
src/runtime/export_debug_regabiargs_off_test.go [deleted file]
src/runtime/export_debug_regabiargs_on_test.go [deleted file]
src/runtime/export_debug_test.go
src/runtime/signal_amd64.go
src/runtime/signal_arm64.go
src/runtime/traceback.go