When running test-case gdb.dwarf2/dw2-ranges-base.exp with debuginfo for
various libs installed, I run into:
...
(gdb) maint info line-table^M
...
objfile: /usr/lib/debug/lib64/ld-2.26.so-2.26-lp151.18.7.x86_64.debug \
((struct objfile *) 0x1a9d7f0)^M
compunit_symtab: ((struct compunit_symtab *) 0x2061090)^M
symtab: /usr/src/debug/glibc-2.26-lp151.18.7.x86_64/sysdeps/generic/\
dl-fcntl.h ((struct symtab *) 0x2182660)^M
linetable: ((struct linetable *) 0x0):^M
No line table.^M
(gdb) FAIL: gdb.dwarf2/dw2-ranges-base.exp: count END markers in line table
...
The test-case intends to count 3 END markers in the line table for
gdb.dwarf2/dw2-ranges-base.c:
...
symtab: /data/gdb_versions/devel/binutils-gdb.git/gdb/testsuite/gdb.dwarf2/\
dw2-ranges-base.c ((struct symtab *) 0x2a7e8c0)^M
linetable: ((struct linetable *) 0x2a7ea60):^M
INDEX LINE ADDRESS IS-STMT^M
0 31 0x00000000004004a7 Y^M
1 21 0x00000000004004ae Y^M
2 END 0x00000000004004ae Y^M
3 11 0x00000000004004ba Y^M
4 END 0x00000000004004ba Y^M
5 END 0x00000000004004c6 Y^M
...
but ends up counting 70+ END markers for all line tables.
Fix this by limiting the line tables emitted by the maint info line-table
command.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2020-03-12 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/dw2-ranges-base.exp: Limit "maint info line-table" to
gdb.dwarf2/dw2-ranges-base.c.
+2020-03-12 Tom de Vries <tdevries@suse.de>
+
+ * gdb.dwarf2/dw2-ranges-base.exp: Limit "maint info line-table" to
+ gdb.dwarf2/dw2-ranges-base.c.
+
2020-03-12 Tom de Vries <tdevries@suse.de>
* gdb.linespec/explicit.exp: Fix "complete non-unique file name" test
# Ensure that the line table correctly tracks the end of sequence markers.
set end_seq_count 0
-gdb_test_multiple "maint info line-table" \
+gdb_test_multiple "maint info line-table gdb.dwarf2/dw2-ranges-base.c" \
"count END markers in line table" {
-re "^$decimal\[ \t\]+$decimal\[ \t\]+$hex\(\[ \t\]+Y\)?\r\n" {
exp_continue