[binutils-gdb] [binutils] Print DWO ID
Tom de Vries
vries@sourceware.org
Fri Feb 12 03:43:07 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d60f79984aecd7f72de6fdf2015100a7516c9ee2
commit d60f79984aecd7f72de6fdf2015100a7516c9ee2
Author: Tom de Vries <tdevries@suse.de>
Date: Fri Feb 12 04:43:03 2021 +0100
[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.
Diff:
---
binutils/ChangeLog | 4 ++++
binutils/dwarf.c | 6 +++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 96283905074..3b638c0d90f 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -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
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 3cbd19710d7..c96613f37e6 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -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;
More information about the Binutils-cvs
mailing list