summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.compile/compile.exp
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2022-11-30 11:27:10 -0700
committerTom Tromey <tromey@adacore.com>2022-12-01 08:28:20 -0700
commit9a7fde04ca4232d4b2efed61486fff65e83ab3a2 (patch)
tree79ce2f78ee0a2610532e4a5ffc90421aa1083a93 /gdb/testsuite/gdb.compile/compile.exp
parent5b92bbd934059eb06cf531c268627deef53886aa (diff)
downloadbinutils-gdb-9a7fde04ca4232d4b2efed61486fff65e83ab3a2.tar.gz
Avoid timeouts in gdb.compile
PR compile/29541 points out that some of the C++ tests in gdb.compile will time out when the glibc debuginfo is installed. This was interfering with my hacking on gdb by making test runs extremely long, so I looked into it. Internally the bug seems to be that gdb tries to convert multiple symbols named "var" via the compiler interface; one such symbol (I didn't track it down too far) causes the C++ compiler plugin to crash. Unfortunately, the crash is reported as a timeout, as the gdb side of the plugin simply hangs. This seems like a bug in the plugin RPC mechanism and, worse, apparently when I wrote this stuff I didn't really consider error reporting very much at all, so gdb can't really detect failures in the first place. Anyway... this patch works around the timeout by compiling a simple test that should provoke this bug, and then using "untested" if it notices a GCC crash. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29541
Diffstat (limited to 'gdb/testsuite/gdb.compile/compile.exp')
-rw-r--r--gdb/testsuite/gdb.compile/compile.exp3
1 files changed, 1 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.compile/compile.exp b/gdb/testsuite/gdb.compile/compile.exp
index c712070872a..b75ec4bd485 100644
--- a/gdb/testsuite/gdb.compile/compile.exp
+++ b/gdb/testsuite/gdb.compile/compile.exp
@@ -57,8 +57,7 @@ if ![runto_main] {
return -1
}
-if {[skip_compile_feature_tests]} {
- untested "compile command not supported (could not find libcc1 shared library?)"
+if {[skip_compile_feature_untested]} {
return -1
}