[gdb/testsuite] Add dummy start and end CUs in dwarf assembly
authorTom de Vries <tdevries@suse.de>
Mon, 23 Aug 2021 10:08:25 +0000 (12:08 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 23 Aug 2021 10:08:25 +0000 (12:08 +0200)
commit5ef670d81fd222ae5edfa1428ad48710f5e10d35
tree0e82fd1ab01854e02b0fa65fa7bcaa91fe399b52
parentd53f8a847228418346457254736dd5e7824bf504
[gdb/testsuite] Add dummy start and end CUs in dwarf assembly

Say one compiles a hello.c:
...
$ gcc -g hello.c
...

On openSUSE Leap 15.2 and Tumbleweed, the CU for hello.c is typically not the
first in .debug_info, nor the last, due to presence of debug information in
objects for sources like:
- ../sysdeps/x86_64/start.S
- init.c
- ../sysdeps/x86_64/crti.S
- elf-init.c
- ../sysdeps/x86_64/crtn.S.

On other systems, say ubuntu 18.04.5, the CU for hello.c is typically the
first and the last in .debug_info.

This difference has caused me to find some errors in the dwarf assembly
using openSUSE, that didn't show up on other platforms.

Force the same situation on other platforms by adding a dummy start
and end CU.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2021-08-22  Tom de Vries  <tdevries@suse.de>

PR testsuite/28235
* lib/dwarf.exp (Dwarf::dummy_cu): New proc.
(Dwarf::assemble): Add dummy start and end CU.
gdb/testsuite/lib/dwarf.exp