]> Cypherpunks repositories - gostls13.git/commit
runtime: save frame pointer to the stack in signal handlers for arm64
authorNick Ripley <nick.ripley@datadoghq.com>
Mon, 3 Apr 2023 13:54:53 +0000 (09:54 -0400)
committerMichael Knyszek <mknyszek@google.com>
Wed, 5 Apr 2023 18:16:00 +0000 (18:16 +0000)
commitc00e9285eae4599f6a123d0a355633379be998e8
tree7603b322d83d889d9188d3293a1f029524b84002
parent3202dafd4a4e9fb994fc2259f396cfeeb25c28ba
runtime: save frame pointer to the stack in signal handlers for arm64

When taking over the goroutine stack in the panic or preemption signal
handlers on arm64, the frame pointer should be saved on the stack (like
the link register) so that frame-pointer unwinding from a panic stack
works properly. Otherwise, tests like TestStackWrapperStackPanic will
fail with the frame pointer check in adjustframe (enabled with
debugCheckBP) when checking the sigpanic frame.

Updates #39524, #58432

Change-Id: I8b89e6fc4877af29b1b81e55e591e6398159855c
Reviewed-on: https://go-review.googlesource.com/c/go/+/481635
Reviewed-by: Felix Geisendörfer <felix.geisendoerfer@datadoghq.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Nick Ripley <nick.ripley@datadoghq.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/runtime/signal_arm64.go