[distcc] Re: distcc

Martin Pool mbp at sourcefrog.net
Mon Jul 21 23:05:25 GMT 2003


On 21 Jul 2003, James Emerton <james at emdata.net> wrote:
> I'm currently drooling over distcc.  I'm going to try and implement it 
> on top of MinGW, maybe I'll even try cross compiling on a Linux host.  
> (Yes, sadly I'm writing Windows software for a living)
> 
> I had an idea about one of your pie-in-the-sky features, versioning 
> compilers.  The problem, of course, with different compilers is that 
> they don't produce compatible object code.  I was thinking that if you 
> distributed a small test case, and build it with each available 
> compiler on the system.  Then you hash the resulting object code and 
> voila, sort of a psudo test case.

There's a start towards that in 'distcc-check' in CVS.

However for a couple of reasons you might get false failures: firstly
gcc will often do that because of the -g problem (see the website).
Even without that, people might have sightly different patchlevels of
compilers that are completely compatible but that do not generate the
exact same binary code.

It may be that checking that the program links (and runs?) is more
useful than testing for binary equality.

Secondly you might get false successes: it's conceivable (perhaps
unlikely) that two versions of gcc would generate the same code for a
simple hello world, but incompatible code for say something in C++, or
something using varargs or a particular standard library function.  So
I think there would need to be a battery of tests that check different
things that are known to be incompatible.

Also the user needs to specify which compiler they want to test.  It's
not necessarily 'gcc'.

Unfortunately all of this is probably too expensive to be done
completely transparently.  Also, there is no straightforward way for
distcc to find the version of the compiler it wants.  But I think we
can at least give people a quick sanity check that everything is
installed properly.

> Of course, I could be way way off...but I thought it has potential.
> 
> James
--
Martin



More information about the distcc mailing list