[PATCH] libdw,readelf: Recognize DW_CFA_AARCH64_negate_ra_state

Mark Wielaard mark@klomp.org
Mon Sep 7 11:00:10 GMT 2020


On Thu, 2020-09-03 at 17:58 +0200, Mark Wielaard wrote:
> DW_CFA_AARCH64_negate_ra_state is used on aarch64 to indicate whether
> or not the return address is mangled or not. This has the same value
> as the DW_CFA_GNU_window_save. So we have to pass around the e_machine
> value of the process or core we are inspecting to know which one to
> use.
> 
> Note that it isn't actually implemented yet. It needs ARMv8.3 hardware.
> If we don't have such hardware it is enough to simply ignore the
> DW_CFA_AARCH64_negate_ra_state (and not confuse it with
> DW_CFA_GNU_window_save) to get backtraces to work on aarch64.
> 
> Add a testcase for eu-readelf --debug-dump=frames to show the value
> is correctly recognized. Also don't warn we cannot find any DWARF
> if we are just dumping frames (those will come from .eh_frame if
> there is no .debug_frame).

Pushed.


More information about the Elfutils-devel mailing list