[ccache] ccache and gcc triplet

Gilles Espinasse g.esp at free.fr
Sun Jan 23 14:43:48 MST 2011


We are building ipcop using ccache and recently upgraded from 2.4 to 3.1.4.
ipcop is a distro build from scratch using LFS way to compile.

cc, gcc, g++, c++ are symlinks to ccache firt in the path.

gcc package is compiled 3 times (once cross-compiled to isolate from host,
another after glibc compilation to build a toolchain and a last time for the
compilation of the code we use).
Previously ccache-2.4 was patched to not hash gcc mtime, so only compiler
size matter.
But when we start hacking on gcc specs, on gcc tests we could had different
answers depending on ccache content. That is understandable as the specs are
not hashed and size is not a reliable way to be sure the compile is exactly
the same. So I decided the ccache upgrade.

On ccache-3, we using CCACHE_COMPILERCHECK="echo <precompiled hash made with
$(md5sum <last-compile-gcc>)>". This work fine. It was planned to add the
hash of the specs to CCACHE_COMPILECHECK, but not yet made.

Looking more at ccache usage, I find that ccache is not used at all during
some of our binutils, gcc and glibc compilations.
ccache is not used (CCACHE_LOGFILE see really nothing) when --build options
is used for binutils, gcc, glibc. For those packages, the triplet
i486-linux-gnu-gcc is used to compile instead of simply gcc, so the symlinks
to ccache have no effect.

I had think to add triplet symlink (i486-linux-gnu-gcc) to ccache.

Is there another solution?

Should not that issue be referenced in the doc?

Gilles



More information about the ccache mailing list