summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-08-02 15:31:51 +0200
committerTom de Vries <tdevries@suse.de>2021-08-02 15:31:51 +0200
commitf7ded54b34dcfb2a8e7088c0045f835aab75963a (patch)
tree7c2446bee85820e383e3a3d351b4404416ebe56a /gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp
parent1df42e90836a542aa16b2f89b22810d264bb3882 (diff)
downloadbinutils-gdb-f7ded54b34dcfb2a8e7088c0045f835aab75963a.tar.gz
[gdb/testsuite] Fix gdb.dwarf2/dw2-using-debug-str.exp with cc-with-gdb-index
When running with target board cc-with-gdb-index, we run into: ... (gdb) file dw2-using-debug-str-no-debug-str^M Reading symbols from dw2-using-debug-str-no-debug-str...^M Dwarf Error: DW_FORM_strp used without required section^M (gdb) FAIL: gdb.dwarf2/dw2-using-debug-str.exp: file dw2-using-debug-str ... The test expects the dwarf error, but has no matching pattern for the entire output. Fix this by updating the regexp. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-08-02 Tom de Vries <tdevries@suse.de> * gdb.dwarf2/dw2-using-debug-str.exp: Update regexp to match cc-with-gdb-index output.
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp')
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp28
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 62febdb0a99..09f58d38f7b 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"