[ccache] ccache - .d files with absolute system header paths
Anders Björklund
anders at ecsit.se
Sat Sep 16 11:16:56 UTC 2017
Karanam Suryanarayana Rao Venkata Krishna wrote:
> Hello,
> I think I discovered a scenario that results in cache misses in spite of
> using CCACHE_BASEDIR.
> Consider the following command:
>
> CCACHE_BASEDIR=$PWD /bin/bash -c "ccache clang++
> -fdebug-prefix-map=/proc/self/cwd= -g -c -MD -MF hello.d -o hello.o
> hello.cpp"
>
> It seems to me that is is perfectly alright to ask for debug prefix mapping
> like: "-fdebug-prefix-map=/proc/self/cwd="
> Unfortunately, ccache is ending up hashing gnu_getcwd(); thus, even though
> we use CCACHE_BASEDIR setting, such a cache cannot be shared by other
> users' from different workspaces resulting in cache misses.
...
>
> If the string after "=" in the mapping is null string, then, I hash "./".
Can't you just use "$PWD" and ".", instead of this elaborate scheme ?
Especially since using /proc/self/cwd doesn't even work, not with GCC...
i.e. when you give that prefix, it will just look for that path string
In the actual debug info, you will _still_ have a reference the cwd.
/Anders
More information about the ccache
mailing list