[gdb/testsuite] Add kfail in gdb.dwarf2/dwzbuildid.exp
authorTom de Vries <tdevries@suse.de>
Fri, 8 Sep 2023 10:27:02 +0000 (12:27 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 8 Sep 2023 10:27:02 +0000 (12:27 +0200)
When running test-case gdb.dwarf2/dwzbuildid.exp using target board readnow, I
get:
...
(gdb) file dwzbuildid-mismatch^M
Reading symbols from dwzbuildid-mismatch...^M
warning: File "dwzbuildid5.o" has a different build-id, file skipped^M
could not find '.gnu_debugaltlink' file for dwzbuildid-mismatch^M
(gdb) delete breakpoints^M
(gdb) info breakpoints^M
No breakpoints or watchpoints.^M
(gdb) break -qualified main^M
No symbol table is loaded.  Use the "file" command.^M
Make breakpoint pending on future shared library load? (y or [n]) n^M
(gdb) FAIL: gdb.dwarf2/dwzbuildid.exp: mismatch: gdb_breakpoint: set breakpoint at main
...

This is PR symtab/26797: when using readnow, a failure in reading the dwarf
results in the minimal symbols not being available.

Add a corresponding KFAIL.

Tested on x86_64-linux.

gdb/testsuite/gdb.dwarf2/dwzbuildid.exp

index 721aef8d3441290f58e3427f17b95f1b66b4fe1e..81cefc60dfc6c63091c19931b891a770aee44dc0 100644 (file)
@@ -160,6 +160,13 @@ foreach testname {ok mismatch fallback} {
 
        gdb_load ${binfile}-${testname}
 
+       if { $testname == "mismatch" && [readnow] } {
+           # Main is found in the minimal symbols.  When using readnow, a
+           # failure to read the dwarf also causes the minimal symbols to be
+           # unavailable.
+           # Setup a kfail for "FAIL: gdb_breakpoint: set breakpoint at main".
+           setup_kfail "symtab/26797" *-*-*
+       }
        if {[runto_main]} {
            if {$testname == "mismatch"} {
                gdb_test "print the_int" \