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.
-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
}