[ccache] improving ccache to work with debug symbols?

Joel Rosdahl joel at rosdahl.net
Sun Mar 20 14:24:18 MDT 2011

On 2011-02-28 09:18, James Donald wrote:
> For usage of ccache at our company, here is one of our biggest hassles
> today: even with the CCACHE_BASEDIR feature, users complain when gdb
> points to files that no longer exist.
> Independently, a couple of our engineers have proposed the following fix :
> 1. On a cache miss, generate preprocessor output.
> 2. Modify it to extend debug symbol path names to some arbitrary path
> e.g. :
>   # 1 "/any/path/you/want/ca44a4def837bde348a738112/a.c"
>   # 1 "<built-in>"
>   # 1 "<command line>"
>   # 1 "/any/path/you/want/ca44a4def837bde348a738112/a.c"
>   int main() {
>       return 0;
>   }
> 3. Compile the modified text into an object binary and store in the
> cache.
> 4. On a cache hit, retrieve the binary, search-and-replace the binary
> representation of ca44a4def837bde348a738112 to the desired path name
> padded with zeroes.

(Sorry for the very late reply.)

Although this will increase the complexity of ccache a bit, I think the
idea sounds promising. Anyone interested in taking a shot at
implementing it? (I only have limited time for ccache right now, and I
think other things on my ccache todo list have higher priority than

-- Joel

More information about the ccache mailing list