Hi, On Thu, 2023-02-16 at 23:48 +0100, Mark Wielaard wrote: > On Mon, Feb 13, 2023 at 01:44:39AM +0000, liuxu (AJ) via Elfutils-devel wrote: > > I am failing to unwind the user stack with libdw on Ubuntu 18.04 > > arm64 environment, the toolchain used is clang 12.0.1. form the > > unwinding process, I found that the pc value passing to handle_cfi > > is 0x760, which is 0x10000 offset from the corresponding cfi address > > 0x10760. > > > > Futher analysis show that the bias calculated in > > __libdwfl_elf_address_range for ET_DYN type pick the first PT_LOAD > > segment, not the segment corresponds to code segment. So the bias > > result is wrong in current situation. > > I have some problem replicating this because I don't have the same > toolchain and don't know enough about perf to know how to replicate.
We have discussed this a bit more offlist. But I still haven't been able to replicate this issue. It seems to depend on a couple of things I don't fully understand, clang, lld, musl, PIE executables, whether the fallback frame based unwinder can/is used, etc. I am hoping someone can sent me a binary to investigate. Thanks, Mark