[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
this.)
-- Joel
More information about the ccache
mailing list