[gdb/testsuite] Fix dw2-ranges-base.exp FAIL with lib debuginfo

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.
This commit is contained in:
Tom de Vries
2020-03-12 11:58:20 +01:00
parent 9a2de3fc7f
commit 307eafd8df
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -144,7 +144,7 @@ gdb_test "info line frame3" \
# 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