|
From: <g....@fr...> - 2012-05-18 09:27:05
|
ccache rely on a compiler signature to determine if a cache hit is valid or not.
The signature must change when the compiler is changed.
We can't rely on the compiler build date (mtime is the default signature) or each new build would create a new signature.
I made the compiler signature depend from gcc md5sum.
That's good enought when /usr/bin/gcc is changed, but not when /usr/bin/{cpp,c++} or anything else change (in /usr/lib/gcc or /usr/lib/{libgcc_s*,libc++*}
I understand this issue after doing that simple change on lfs/gcc
+ # Remove #ident deprecation made by mistake and removed after gcc-4.4. That fix many shadows warnings
+ cd $(DIR_APP) && sed -i '/T_IDENT/s/ | DEPRECATED//' libcpp/directives.c
I was disapointed when nothing changed on shadow compilation log until I understand this issue.
For the final gcc, the solution may be to create a big tar from gcc installed files and run md5sum against.
I don't know yet what disorder may affect the md5sum, maybe gcc static libs?
For the toolchain, I don't have the list of installed files available. I will see what I can cook.
Gilles
|