From: Tom Tromey Date: Fri, 29 Oct 2021 23:04:09 +0000 (-0600) Subject: Fix latent bug in DWARF test case X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e195444fbde94477ffbaecd37f0b2d9c3f4ed3f;p=binutils-gdb.git Fix latent bug in DWARF test case On my branch that replaces the DWARF psymtab reader, dw2-stack-boundary.exp started failing. However, when I look at the output in gdb.log, it is correct: file /home/tromey/gdb/build/gdb/testsuite/outputs/gdb.dwarf2/dw2-stack-boundary/dw2-stack-boundary Reading symbols from /home/tromey/gdb/build/gdb/testsuite/outputs/gdb.dwarf2/dw2-stack-boundary/dw2-stack-boundary... During symbol reading: location description stack overflow During symbol reading: location description stack underflow What happens to cause the failure is that the two branches in gdb_test_multiple appear in this order: -re "\r\nDuring symbol reading: location description stack underflow" { [...] -re "\r\nDuring symbol reading: location description stack overflow" { The first one will match the above, without causing the second one to ever match -- leading to a spurious failure. Anchoring the regexps seems to fix the problem, and works for the current gdb as well. --- diff --git a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp index 8b81b5b2119..054d0c66e71 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp @@ -44,11 +44,11 @@ gdb_test_multiple "file $binfile" "file command" { -re "\r\nReading symbols from \[^\r\n\]*\\.\\.\\." { exp_continue } - -re "\r\nDuring symbol reading: location description stack underflow" { + -re "^\r\nDuring symbol reading: location description stack underflow" { set w1 1 exp_continue } - -re "\r\nDuring symbol reading: location description stack overflow" { + -re "^\r\nDuring symbol reading: location description stack overflow" { set w2 1 exp_continue }