diff options
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp b/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp index 62febdb..09f58d3 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp @@ -115,28 +115,32 @@ if {[run_on_host "objcopy" [gdb_find_objcopy] "$args"]} { # executable we're going to get an error, which we check for below. clean_restart +set line1 "Reading symbols from \[^\r\n\]+" +set dwarf_error "Dwarf Error: DW_FORM_strp used without required section" + # This pattern is hit when GDB does not use -readnow (i.e. the default # behaviour). set pattern1 \ [multi_line \ - "Reading symbols from \[^\r\n\]+" \ - "Dwarf Error: DW_FORM_strp used without required section" \ + $line1 \ + $dwarf_error \ "\\(No debugging symbols \[^\r\n\]+\\)"] # This pattern is hit when GDB does use -readnow (e.g. running with # --target_board=readnow). set pattern2 \ [multi_line \ - "Reading symbols from \[^\r\n\]+" \ + $line1 \ "Expanding full symbols from \[^\r\n\]+" \ - "Dwarf Error: DW_FORM_strp used without required section"] + $dwarf_error] + +# This pattern is hit when gcc adds an index (e.g. running with +# --target_board=cc-with-gdb-index). +set pattern3 \ + [multi_line \ + $line1 \ + $dwarf_error] # Load the executable, we expect an error from the DWARF parser. -gdb_test_multiple "file $binfile_no_debug_str" "file $testfile" { - -wrap -re $pattern1 { - pass $gdb_test_name - } - -re -wrap "$pattern2" { - pass $gdb_test_name - } -} +gdb_test "file $binfile_no_debug_str" "($pattern1|$pattern2|$pattern3)" \ + "file $testfile" |