[gdb/testsuite] Handle maint set dwarf synchronous off default

I ran the testsuite with a patch setting dwarf_synchronous to false by
default, and ran into FAILs in test-cases gdb.dwarf2/dw2-inter-cu-error.exp
and gdb.dwarf2/dw2-inter-cu-error-2.exp, because the expected DWARF errors did
not show up as a result of the file command.

Fix this by forcing "maint set dwarf synchronous on".

Add the same in gdb.base/index-cache.exp, where this is also required.

Tested on aarch64-linux.
This commit is contained in:
Tom de Vries
2024-10-22 09:23:26 +02:00
parent 485d9cab65
commit a03c03f84a
3 changed files with 19 additions and 3 deletions

View File

@@ -86,7 +86,11 @@ proc run_test_with_flags { cache_dir cache_enabled code } {
set GDBFLAGS "$GDBFLAGS -iex \"set index-cache directory $cache_dir\""
set GDBFLAGS "$GDBFLAGS -iex \"set index-cache enabled $cache_enabled\""
clean_restart ${testfile}
clean_restart
gdb_test_no_output "maint set dwarf synchronous on"
gdb_load $::binfile
uplevel 1 $code
}

View File

@@ -41,11 +41,17 @@ Dwarf::assemble $asm_file {
}
}
if [prepare_for_testing "failed to prepare" $testfile \
if [build_executable "failed to prepare" $testfile \
[list $asm_file $srcfile] {nodebug}] {
return -1
}
clean_restart
gdb_test_no_output "maint set dwarf synchronous on"
gdb_load $binfile
gdb_assert \
{ [regexp "DWARF Error: cannot follow reference" $gdb_file_cmd_msg] } \
"Error message"

View File

@@ -41,11 +41,17 @@ Dwarf::assemble $asm_file {
}
}
if [prepare_for_testing "failed to prepare" $testfile \
if [build_executable "failed to prepare" $testfile \
[list $asm_file $srcfile] {nodebug}] {
return -1
}
clean_restart
gdb_test_no_output "maint set dwarf synchronous on"
gdb_load $binfile
# Verify that GDB notices the null DIE.
gdb_assert { [regexp "DWARF Error: Unexpected null DIE" $gdb_file_cmd_msg] } \
"Null DIE error missing"