You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RISC architectures fare much worse in gdb compared to x86. Right now we can't have stack traces in gdb, on arm64. Adding frame pointers would fix this.
https://go-review.googlesource.com/#/c/20193/ fixes backtrace in gdb under arm64. And it turns out that the break backtrace is caused by incorrect handling ra position relative to CFA during function call in DWARF '.debug_frame' under arm64.
I find frame pointer is still needed in linux perf tool to unwind stack when using "--call-graph fp". But it could be workarounded by telling perf unwind stack using DWARF info.
Activity
4ad commentedon Mar 8, 2015
Replaces 4ad/go#101
minux commentedon Mar 8, 2015
rsc commentedon Jun 29, 2015
Too late for Go 1.5.
zhongweiy commentedon Jun 3, 2016
https://go-review.googlesource.com/#/c/20193/ fixes backtrace in gdb under arm64. And it turns out that the break backtrace is caused by incorrect handling ra position relative to CFA during function call in DWARF '.debug_frame' under arm64.
I find frame pointer is still needed in linux perf tool to unwind stack when using "--call-graph fp". But it could be workarounded by telling perf unwind stack using DWARF info.
4ad commentedon Jun 3, 2016
Yes, we we add frame pointers in 1.8.
gopherbot commentedon Oct 12, 2017
Change https://golang.org/cl/61511 mentions this issue:
build: support frame-pointer for arm64