[distcc] gcc bootstraps with distcc

Martin Pool mbp at sourcefrog.net
Fri Jul 11 06:30:52 GMT 2003


On 10 Jul 2003, Zack Weinberg <zack at codesourcery.com> wrote:
> Alexandre Oliva <aoliva at redhat.com> writes:
> 
> > On Jul 10, 2003, "Zack Weinberg" <zack at codesourcery.com> wrote:
> >
> >> Yeah.  I vote always do it, too.
> >
> > Fine, I'll do that.  As long as there's a way to disable it, I'm fine
> > with it.  I dislike that it will prevent legitimate uses of ccache and
> > make gcc different from all other compilers in this regard, but, heck,
> > I don't want to fight over this.
> 
> I don't understand.  On by default makes sense precisely because
> there's no bad side effect to this feature.  If there *is* a bad
> side effect which I'm not aware of, then my opinion may be different,
> but I don't see how having this information in the .i file can
> possibly interfere with anything.

ccache is a cache of the mapping from [arguments, cpp output, some
other stuff] to [object file, error output]. 

Suppose we use ccache to build two identical trees in different
directories.  Previously the second tree would have got 100% cache
hits (roughly) but the directory in the second tree's debug info would
have been wrong.

With this change, the second tree will not get any cache hits, because
the cpp output will contain the directory name.

This makes the cache more accurate, which is generally desirable.
However, if you never used the debug information, then you might be
disappointed by the reduced hit rate.

Since the directory name (I think) only affects the debug information,
it might be good to turn -Mpwd on when running cpp only if -g is
specified, if that makes any sense for gcc.

Alternatively it can just always be on and ccache could optionally
ignore the line when computing its hash. 

For distcc it's always better to include the path and get the more
correct output.

-- 
Martin 



More information about the distcc mailing list