https://sourceware.org/bugzilla/show_bug.cgi?id=29267
Bug ID: 29267
Summary: readelf..info misreports DW_FORM_loclistx,
DW_FORM_rnglistx
Product: binutils
Version: 2.39 (HEAD)
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: binutils
Assignee: unassigned at sourceware dot org
Reporter: sevaa at sprynet dot com
Target Milestone: ---
When readelf --debug-dump=info prints attributes of type DW_FORM_loclistx,
DW_FORM_rnglistx, it prints what should be the offset of the loclist/rangelist
in the respective section. The raw value of this attribute is supposed to be an
index into the offsets table in the compilation unit header inside the
debug_loclists or debug_rnglists sections, respectively, while the address of
the offset table itself should be taken from the DW_AT_loclists_base or
DW_AT_rnglists_base, respecively, in the CU's top DIE.
But it looks like readelf looks up the offset in the debug_addr section,
instead of debug_loclists/debug_rnglists section.
This even causes warnings of type "Offset into section .debug_addr too big:",
because the offset was never meant to be in .debug_addr.
I've got a repro for that from clang++-11, but it's big. I'll try to find a
smaller one.
--
You are receiving this mail because:
You are on the CC list for the bug.