Consider test-case gdb.dwarf2/fission-multi-cu.exp. It produces an executable
fission-multi-cu and a dwo file fission-multi-cu.dwo.
The file fission-multi-cu.dwo contains a .debug_line.dwo section, which
according to the DWARF v5 standard is a "specialized line number table" for
type units in the .debug_info.dwo section, and contains only the directory and
filename lists.
When reading the actual .debug_line.dwo section using readelf -w, we get:
...
The Directory Table is empty.
The File Name Table is empty.
No Line Number Statements.
...
So, the section does not contain any actual information. Furthermore, no
information is required because the .debug_line.dwo section does not contain
any type units.
This is confirmed by:
- re-doing the commands listed at the start of fission-multi-cu.S, which were
used as starting point for fission-multi-cu.S, and
- compiling the fission-multi-cu{1,2}.c files with clang -flto -g -gsplit-dwarf
In both cases, no .debug_line.dwo section is generated.
Remove the .debug_line.dwo section, to make it fit how split dwarf is actually
generated by clang.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2020-11-02 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/fission-multi-cu.S: Remove .debug_line.dwo section.
+2020-11-02 Tom de Vries <tdevries@suse.de>
+
+ * gdb.dwarf2/fission-multi-cu.S: Remove .debug_line.dwo section.
+
2020-11-01 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/fixed_points/fixed_points.adb: Replace use of
.byte 0 # EOM(1)
.byte 0 # EOM(2)
.byte 0 # EOM(3)
- .section .debug_line.dwo,"",@progbits
-.Ltmp4:
- .long (.Ltmp5-.Ltmp4)-4
- .short 2
- .long (.Ltmp6-.Ltmp4)-10
- .byte 1
- .byte 1
- .byte -5
- .byte 14
- .byte 1
- .byte 0
- .byte 0
-.Ltmp6:
-.Ltmp5:
.section .debug_addr,"",@progbits
.quad .Lfunc_begin0
.quad .Lfunc_begin1