Notes taken at the DWARF5/DWARF64 BoF 79 attendees Can we default to DWARF5 for GCC11 * smaller, fewer relocations * GNU extensions are now standardized Approach * make it the default, see what breaks * GCC, elfutils, binutils and GDB testsuites Results * don't use location-review (breaks elfutils/binutils) * only small number of fixes needed for binutils * including one for ld * gas has issue with .debug_line (Mark Wielaard has patches) * Valgrind RPM/debugedit/DWZ need patches * GDB has DWARF5 issue with .debugnames section Look into generating .debug_names Considerations for DWARF64 * cross section references > 32bit * mostly already supported, if not, easy to add * -fdwarf64/-fdwarf32 * or -gdwarf32 or -gdwarf64 * or -gdbdwarf=32/64 * but all compute units need to agree! * Jakub Jelinek suggests would be good to enable so could test Single file split DWARF * two debug_*.dwo sections in same object file * no separate .dwo file, although allowed by standard * -gsplit-dwarf=single * -SHF_EXCLUDE (ignored by link editor) * not standardized -fdefug-types * negatives: * somewhat large overhead * can only reference full type directly] * not universally supported * Positives * makes dedup easier and earlier, * should naturally fit in early debug scheme, so would be natural for LTO