[gdb/testsuite] Handle internal-error in gdb_unload

When reverting commit 5a20fadc84 and using gdb_unload instead of runto "bar"
to trigger the internal-error in test-case
gdb.dwarf2/locexpr-data-member-location.exp, we run into:
...
ERROR: couldn't unload file in $gdb (timeout).
...
and the test-case takes about 1 minute.

Fix this by handling internal-error in gdb_unload, such that we have:
...
ERROR: Couldn't unload file in $gdb (GDB internal error).
ERROR: Could not resync from internal error (eof)
...
within 2 seconds.

Tested on x86_64-linux.
This commit is contained in:
Tom de Vries 2021-09-07 10:31:42 +02:00
parent b54509b844
commit 5d2deb81fa

View File

@ -235,6 +235,11 @@ proc gdb_unload {} {
exp_continue
}
-re "$gdb_prompt $" {}
-re "A problem internal to GDB has been detected" {
perror "Couldn't unload file in $GDB (GDB internal error)."
gdb_internal_error_resync
return -1
}
timeout {
perror "couldn't unload file in $GDB (timeout)."
return -1