[ccache] Re: [REGRESSION] Recent change to kernel spikes out ccache/distcc

Sam Ravnborg sam at ravnborg.org
Tue Jan 6 22:09:50 GMT 2009

On Tue, Jan 06, 2009 at 10:15:26AM -0500, Theodore Ts'o wrote:
> The following commit, ad7a953c, "kbuild: strip generated symbols from
> *.ko" which was merged to the mainline last week (December 28th) has the
> unfortunate side effct of making ccache useless.  That's because all
> files are now built using a two step process.  First they are compiled
> to assembly via "gcc -S -o .tmp_foo.s" and then assembled via "gcc" in a
> separate step.  Unfortunately, ccache doesn't seem to be able to cache
> either the compilation or the assembly step (and it may not be worth it
> once the two steps are separated).

Hi Ted.

How about this simple patch.

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 5d90030..3b9b8f5 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -208,7 +208,7 @@ cmd_modversions =							\
 		fi;							\
 	else								\
 		rm -f $(v_file);					\
-		$(CC) $(no_g_c_flags) -c -o $@ $(s_file);		\
+		$(CC) $(no_g_c_flags) -c -o $@ $< ;			\

It basically starts all over again with the C file if the
file did not export any symbols (typical case).

This I think should allow ccache to be functional again.

I do not propose this as a final suggestion - more so
that I'm sure I understand the problem.


More information about the ccache mailing list