diff options
author | Tom de Vries <tdevries@suse.de> | 2021-09-30 12:02:14 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-09-30 12:02:14 +0200 |
commit | 6010fb0c49e7dd9f183375fb4f343acc2999e127 (patch) | |
tree | 7af16d7a917eb2a5837789dffa923c8e7f024638 | |
parent | 6420dd27cb8ee2c89c379255ba4c438d22376bc4 (diff) | |
download | gdb-6010fb0c49e7dd9f183375fb4f343acc2999e127.zip gdb-6010fb0c49e7dd9f183375fb4f343acc2999e127.tar.gz gdb-6010fb0c49e7dd9f183375fb4f343acc2999e127.tar.bz2 |
[gdb/testsuite] Fix full buffer in gdb.rust/dwindex.exp
On ubuntu 18.04.5, I run into:
...
(gdb) mt print objfiles dwindex^M
^M
Object file build/gdb/testsuite/outputs/gdb.rust/dwindex/dwindex: \
Objfile at 0x55dab0b87a50, bfd at 0x55dab0b0cfa0, 1095 minsyms^M
^M
Psymtabs:^M
vendor/compiler_builtins/src/int/specialized_div_rem/mod.rs at 0x55dab0db0720^M
...
library/std/src/sys/unix/stdio.rs at 0x55dab0d96320^M
ERROR: internal buffer is full.
UNRESOLVED: gdb.rust/dwindex.exp: check if index present
...
Fix this by using -lbl in proc ensure_gdb_index.
Tested on x86_64-linux.
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index b7f3a57..afdc92e 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -7917,22 +7917,36 @@ proc add_gdb_index { program {style ""} } { # string (the default) means .gdb_index; "-dwarf-5" means .debug_names. proc ensure_gdb_index { binfile {style ""} } { + global decimal + set testfile [file tail $binfile] set test "check if index present" - gdb_test_multiple "mt print objfiles ${testfile}" $test { - -re -wrap "gdb_index.*" { - return 0 + set has_index 0 + gdb_test_multiple "mt print objfiles ${testfile}" $test -lbl { + -re "\r\n\\.gdb_index: version ${decimal}(?=\r\n)" { + set has_index 1 + gdb_test_lines "" $gdb_test_name ".*" } - -re -wrap "debug_names.*" { - return 0 + -re "\r\n\\.debug_names: exists(?=\r\n)" { + set has_index 1 + gdb_test_lines "" $gdb_test_name ".*" } - -re -wrap "Psymtabs.*" { - if { [add_gdb_index $binfile $style] != "1" } { - return -1 - } - return 1 + -re "\r\nPsymtabs:(?=\r\n)" { + gdb_test_lines "" $gdb_test_name ".*" } + -re -wrap "" { + fail $gdb_test_name + } + } + + if { $has_index } { + return 0 } + + if { [add_gdb_index $binfile $style] == "1" } { + return 1 + } + return -1 } |