From 5d2deb81fa143e592414fd987c2899c839eb433e Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 7 Sep 2021 10:31:42 +0200 Subject: [PATCH] [gdb/testsuite] Handle internal-error in gdb_unload When reverting commit 5a20fadc841 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. --- gdb/testsuite/lib/gdb.exp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index d99e8360808..ff19760bac4 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -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 -- 2.30.2