[ccache] Re: [REGRESSION] Recent change to kernel spikes out
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).
How about this simple patch.
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 5d90030..3b9b8f5 100644
@@ -208,7 +208,7 @@ cmd_modversions = \
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