aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-09-30 12:02:14 +0200
committerTom de Vries <tdevries@suse.de>2021-09-30 12:02:14 +0200
commit6010fb0c49e7dd9f183375fb4f343acc2999e127 (patch)
tree7af16d7a917eb2a5837789dffa923c8e7f024638
parent6420dd27cb8ee2c89c379255ba4c438d22376bc4 (diff)
downloadgdb-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.exp34
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
}