Dump of alternate .debuginfo

Mark Wielaard mark at klomp.org
Wed Jul 31 19:27:59 UTC 2013


On Tue, Jul 30, 2013 at 06:05:00PM +0400, Andrey Ponomarenko wrote:
> Hi,
> 
> I created a dump of a library debug-info by the "eu-readelf
> --debug-dump=info" command. The formal_parameter of a subprogram has
> type "(GNU_ref_alt) [    N]", but N is not described anywhere in the
> dump.
> 
> I have take a look at the source code of elfutils and found, that
> DW_FORM_GNU_ref_alt is an offset in the "alternate debuginfo":
> 
>     DW_FORM_GNU_ref_alt = 0x1f20, /* offset in alternate .debuginfo.  */
>     DW_FORM_GNU_strp_alt = 0x1f21 /* offset in alternate .debug_str. */
> 
> How can I read/dump this "alternate debuginfo"?

DWARF extensions elfutils recognizes/supports are described at:
https://fedorahosted.org/elfutils/wiki/DwarfExtensions

When configured with --enable-dwz libdw will resolve these FORMs.

The new forms are described in this DWARF5 proposal:
http://www.dwarfstd.org/ShowIssue.php?issue=120604.1

You can find the alt dwz file by reading the .gnu_debugaltlink section.
Which contains a file name followed by the build-id of the dwz file.
Resolving the build-id is done in the regular way as described at
https://fedoraproject.org/wiki/Releases/FeatureBuildId#Find_files_by_build_ID
The build-id symlink will point at the /usr/lib/debug/.dwz/ file.

Cheers,

Mark


More information about the elfutils-devel mailing list