dejagnu: Disable ccache

Message ID 20160904084427.GA30664@host1.jankratochvil.net
State New, archived
Headers

Commit Message

Jan Kratochvil Sept. 4, 2016, 8:44 a.m. UTC
  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
  

Comments

Ben Elliston Sept. 4, 2016, 10:07 a.m. UTC | #1
On Sun, Sep 04, 2016 at 10:44:27AM +0200, Jan Kratochvil wrote:

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

Thanks--I agree.  As a principle, it makes no sense to cache in a test
environment.

Cheers, Ben
  

Patch

diff --git a/ChangeLog b/ChangeLog
index 4880003..916fa04 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@ 
+2016-09-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* runtest.exp: Set CCACHE_DISABLE, clear CCACHE_NODISABLE.
+
 2016-06-28  Ben Elliston  <bje@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
 #