[binutils] Print DWO ID

With exec:
...
$ gcc -gsplit-dwarf ~/hello.c -gdwarf-5
...
a dwarf-5 DW_UT_skeleton CU is generated, but the corresponding DWO ID is not
printed by readelf -wi.

Add this, such that we have:
....
   Compilation Unit @ offset 0xc7:
    Length:        0x31 (32-bit)
    Version:       5
    Unit Type:     DW_UT_skeleton (4)
    Abbrev Offset: 0x64
    Pointer Size:  8
+   DWO ID:        0x4756ae3ac4348f21
  <0><db>: Abbrev Number: 1 (DW_TAG_skeleton_unit)
...

binutils/ChangeLog:

2021-02-12  Tom de Vries  <tdevries@suse.de>

	* dwarf.c (process_debug_info): Print DWO ID.
This commit is contained in:
Tom de Vries 2021-02-12 04:43:03 +01:00
parent a5a310d616
commit d60f79984a
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2021-02-12 Tom de Vries <tdevries@suse.de>
* dwarf.c (process_debug_info): Print DWO ID.
2021-02-11 Alan Modra <amodra@gmail.com>
PR 27290

View File

@ -3692,11 +3692,13 @@ process_debug_info (struct dwarf_section * section,
if (compunit.cu_version < 5)
SAFE_BYTE_GET_AND_INC (compunit.cu_pointer_size, hdrptr, 1, end);
bfd_boolean do_dwo_id = FALSE;
uint64_t dwo_id;
if (compunit.cu_unit_type == DW_UT_split_compile
|| compunit.cu_unit_type == DW_UT_skeleton)
{
uint64_t dwo_id;
SAFE_BYTE_GET_AND_INC (dwo_id, hdrptr, 8, end);
do_dwo_id = TRUE;
}
/* PR 17512: file: 001-108546-0.001:0.1. */
@ -3769,6 +3771,8 @@ process_debug_info (struct dwarf_section * section,
printf (_(" Type Offset: 0x%s\n"),
dwarf_vmatoa ("x", type_offset));
}
if (do_dwo_id)
printf (_(" DWO ID: 0x%s\n"), dwarf_vmatoa ("x", dwo_id));
if (this_set != NULL)
{
dwarf_vma *offsets = this_set->section_offsets;