[ccache] Support for -fprofile-generate, -fprofile-use, -fprofile-arcs
Chris AtLee
chris at atlee.ca
Wed Aug 10 08:51:44 MDT 2011
On Mon, Aug 8, 2011 at 4:24 PM, Justin Lebar <justin.lebar at gmail.com> wrote:
>> The .gcda files themselves aren't cached, their contents are used to
>> calculate the hash for a -fprofile-use run. So if the .o file doesn't
>> exist, and you have the same .gcda file, you get a cache hit.
>
> Ah, I see. What if the .o file does exist? Why should that matter,
> if gcc is going to overwrite it anyway?
It doesn't really matter..my point was that hopefully your make
dependencies are set up so you're not calling gcc if you don't need
to.
> You mentioned earlier that a simple program without branches or loops
> didn't generate the same .gcda files when the program was run twice.
> Would you mind including that code? I wrote a pretty simple testcase
> and observed the opposite result. Maybe it's different in different
> versions of gcc or something.
I have a simple hello world program. Even if I comment out the printf
I get different .gcda files after each run.
#include <stdio.h>
int main() {
printf("hello world\n");
return 0;
}
gcc -fprofile-generate -c -o test.o test.c
gcc -fprofile-generate test.o -o test
./test; md5sum test.gcda
83fdede120951b154184271416082bdb test.gcda
./test; md5sum test.gcda
230d10c340e6ae068a7d65b4bc355472 test.gcda
More information about the ccache
mailing list