Using apcs frame layout

Anton Kozlov akozlov at azul.com
Tue Mar 29 11:13:10 UTC 2016


Actually, x86_64 just standartize optionallity of rbp use as stack
frame link: http://www.x86-64.org/documentation/abi.pdf Section 3.2.2
The Stack Frame, note 7.

So on x86_64 rbp may or may not point to previouslly saved rbp address.
In last case perf fp-mode will not work. But in fp-mode unwinding is
based solely on memory values (linux
-sources/arch/x86/kernel/cpu/perf_event.c:perf_callchain_user; x86
directory contains unified sources for x86 and x86_64)

Thanks,
Anton

On Tue, 2016-03-29 at 11:06 +0100, Andrew Haley wrote:
> On 28/03/16 10:45, Anton Kozlov wrote:
> > x86 unwinded by just memory content, without dwarf info. This
> > achived
> > with gcc's -fno-omit-frame-pointer flag, which always generate
> > known
> > frame layout (actually, it disables optimizations for leaf
> > functions,
> > but it have desired effect)
> 
> Yeah, but that's the legacy 32-bit x86, right?  What happens with
> perf unwinding and x86-64?
> 
> Andrew.
> 


More information about the aarch32-port-dev mailing list