DWARF5 and .gdb_index/.debug_names

Mark Wielaard <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hi,

Last week we had a DWARF BoF at the virtual GNU tools cauldron.
Notes have been posted to the gcc wiki:
https://gcc.gnu.org/wiki/LPC2020NotesDWARF

I would like to try to make DWARF5 the default for GCC11 and have been
trying to fix any issues I could find. Testing gdb went pretty well.
There is one issue that I originally filed against gdb:
https://sourceware.org/bugzilla/show_bug.cgi?id=26525
But that is most likely a bug in gcc. Jakub has a patch that fixes the
issue for gcc, but there is some debate whether that is the correct
approach or not:
https://gcc.gnu.org/pipermail/gcc-patches/2020-August/552535.html

Note that I haven't really looked for issues in languages other than C
or C++, so someone might want to double check whether other languages
supported by gcc are also ready to switch to DWARF5 by default.

During the BoF Pedro mentioned that the GDB DWARF5 .debug_names support
is incomplete/wrong. I was wondering whether there was a good
description of the issue and/or a bug report for it. When using the
contrib/gdb-add-index.sh it does add a .gdb_index for objects
containing DWARF5 and the results seem correct, gdb also seems to be
able to use it. When adding -dwarf-5 it seems to output a .debug_names
section which can be read by binutils readelf (elfutils doesn't yet
support .debug_names). I couldn't immediately see in what way it was
wrong/incomplete.

dwz does support .gdb_index rewriting, but doesn't know about
.debug_names yet. So could we as a first step, when switching the
DWARF5 keep using .gdb_index? At least till any issues with gdb
.debug_names are resolved and dwz supports it?

Thanks,

Mark
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.