On Thu, Nov 24, 2016 at 04:07:22PM +0100, Jan Kratochvil wrote: > On Thu, 20 Oct 2016 01:30:39 +0200, Jakub Jelinek wrote: > > This patch adds support for DWARF5 .debug_line{,_str} section format, > > though only if !DWARF2_ASM_LINE_DEBUG_INFO, because otherwise > > .debug_line is emitted by the assembler. > > with current GCC trunk (with the GCC patch above) binutils readelf DWARF-5 > patch being prepared outputs: > > The File name Table (offset 0x30): > Entry Name Dir > 0 (indirect line string, offset: 0x0): /home/jkratoch/t/classic.C 0 > 1 (indirect line string, offset: 0x11): classic.C 1 > > Please see the tabs there. > > After this GCC patch below readelf would output: > > The File name Table (offset 0x30): > Entry Dir Name > 0 0 (indirect line string, offset: 0x0): /home/jkratoch/t/classic.C > 1 1 (indirect line string, offset: 0x11): classic.C > > That 'indirect line string' may get removed, that is irrelevant for this mail. > > I could reorder that in readelf but I find it easier to do in GCC. > Also binutils has not switched to C++ yet so I have found the reordering not > trivial to do in readelf itself. > > The readelf patch being prepared - not yet submitted: > https://people.redhat.com/jkratoch/readelf-dwarf5.patch > > OK for GCC trunk? > > Sorry I have not regression tested it, I would handle that before a check-in.
Dunno, will defer to Jason. I'd think that reordering for improved readability should be readelf's job, and that the current order better matches the DWARF4 order. But it isn't a big deal for me. Some other producer might emit it in a different order though... E.g. readelf could print each entry in 2 passes, first prints selected subset of DW_LCNT_* and the other pass prints the remaining ones. Jakub