As there is no header in pre-DWARF5 address tables, and we fill the class data members with some artificial values, we should not dump them as that might be misleading.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
What do GNU tools report for a v4 .debug_addr section? Intuitively I'd want to see something that says what's going on, rather than have it look like we just forgot to print the header.
There's not much else to print, really - much like other pre-v4 sections with no separators (eg: debug_ranges) it's a flat list of things, from all the different contributions.
I'm pretty sure pre-v5 we didn't even print the "Addrs: [ ... ]" wrapper, it was ".debug_addr contents: " then lines of "<offset> <address>" pairs & that was it, maybe?
But yeah, fair question as to what binutils/GNU tools do in case there's some inspiration.
The output of readelf looks like this:
Contents of the .debug_addr section: For compilation unit at offset 0x0: Index Address 0: 00000000 1: 00000010 2: 00000018
As far as I remember the internals of GNU utilities, they parse .debug_info first and use references from there to parse other sections.
So the nonstandard .debug_addr section is identified by having a reference from a v4 .debug_info section... I guess there's no better way.
Yes, LGTM