Hi,

there were always various problems with compatibility with ccache:
        https://bugzilla.redhat.com/show_bug.cgi?id=488863
        https://bugzilla.redhat.com/show_bug.cgi?id=759592
        https://sourceware.org/ml/gdb-patches/2009-02/msg00397.html

IMO in a summary ccache finds more a benefit of faster compilation despite the
debug info is no longer exactly the same (as without ccache).

Although for example in this case ccache helped to find a real GDB bug:
        https://sourceware.org/ml/gdb-patches/2015-01/msg00497.html

For the GDB testcases ccache has (IMO) no real performance advantage and it
just brings heisenbugs - false FAILs - from time to time:

Breakpoint 1, main () at gdb/testsuite/gdb.base/vdso-warning.c:21^M
        21        return 0;^M
        (gdb) PASS: gdb.base/vdso-warning.exp: run: startup
        ->
        Breakpoint 1, main () at gdb/testsuite/gdb.base/hbreak-unmapped.c:21^M
        21        return 0;^M
        (gdb) FAIL: gdb.base/vdso-warning.exp: run: startup

So I find most safe and easy to just disable ccache for all testsuites.

I guess this issues can be considered more general than just for the GDB
testsuite, therefore posting it for dejagnu.


Jan
diff --git a/ChangeLog b/ChangeLog
index 4880003..916fa04 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-09-04  Jan Kratochvil  <jan.kratoch...@redhat.com>
+
+       * runtest.exp: Set CCACHE_DISABLE, clear CCACHE_NODISABLE.
+
 2016-06-28  Ben Elliston  <b...@gnu.org>
 
        * aclocal.m4, Makefile.in: Regenerate with automake 1.15.
diff --git a/runtest.exp b/runtest.exp
index 2c6ca5d..0415e4e 100644
--- a/runtest.exp
+++ b/runtest.exp
@@ -87,6 +87,11 @@ set target_cpu     ""                ;# type of the cpu 
tests are running on
 set target_alias   ""          ;# standard abbreviation of target
 set compiler_flags ""          ;# the flags used by the compiler
 
+# Various ccache versions provide incorrect debug info such as ignoring
+# different current directory, breaking GDB testsuite.
+set env(CCACHE_DISABLE) 1
+unset -nocomplain env(CCACHE_NODISABLE)
+
 #
 # some convenience abbreviations
 #
_______________________________________________
DejaGnu mailing list
DejaGnu@gnu.org
https://lists.gnu.org/mailman/listinfo/dejagnu

Reply via email to