mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 12:23:31 +08:00
[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:
@ -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>
|
2021-02-11 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR 27290
|
PR 27290
|
||||||
|
@ -3692,11 +3692,13 @@ process_debug_info (struct dwarf_section * section,
|
|||||||
if (compunit.cu_version < 5)
|
if (compunit.cu_version < 5)
|
||||||
SAFE_BYTE_GET_AND_INC (compunit.cu_pointer_size, hdrptr, 1, end);
|
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
|
if (compunit.cu_unit_type == DW_UT_split_compile
|
||||||
|| compunit.cu_unit_type == DW_UT_skeleton)
|
|| compunit.cu_unit_type == DW_UT_skeleton)
|
||||||
{
|
{
|
||||||
uint64_t dwo_id;
|
|
||||||
SAFE_BYTE_GET_AND_INC (dwo_id, hdrptr, 8, end);
|
SAFE_BYTE_GET_AND_INC (dwo_id, hdrptr, 8, end);
|
||||||
|
do_dwo_id = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PR 17512: file: 001-108546-0.001:0.1. */
|
/* 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"),
|
printf (_(" Type Offset: 0x%s\n"),
|
||||||
dwarf_vmatoa ("x", type_offset));
|
dwarf_vmatoa ("x", type_offset));
|
||||||
}
|
}
|
||||||
|
if (do_dwo_id)
|
||||||
|
printf (_(" DWO ID: 0x%s\n"), dwarf_vmatoa ("x", dwo_id));
|
||||||
if (this_set != NULL)
|
if (this_set != NULL)
|
||||||
{
|
{
|
||||||
dwarf_vma *offsets = this_set->section_offsets;
|
dwarf_vma *offsets = this_set->section_offsets;
|
||||||
|
Reference in New Issue
Block a user