[distcc] using distcc to speed up gcc bootstraps
Alexandre Oliva
aoliva at redhat.com
Tue Aug 13 18:14:00 GMT 2002
A while ago, we've been talking about using distcc to speed up gcc
bootstraps. I've made some progress today towards this goal, but
there's still some way to go to get there.
I've written a wrapper for distcc that goes over the command line
arguments looking for relative pathnames and, if it finds any, it
turns them into network-neutral full pathnames, using the netpwd
script below, and then runs the real distcc to do the work.
Unfortunately, this solution is not complete yet, since libstdc++-v3
fails to configure with this patch. I'm yet to investigate why, but I
wanted heads up that I've made some progress.
I enclose below the patch for GCC I'm using, that, if you set
STAGE_CC_WRAPPER=distcc, will let you take advantage of distcc for the
several stages of gcc. I'd like to put this patch in as soon as I get
it into a functional state, but I'm open to suggestions for the name
of the variable.
I also enclose the distcc wrapper script and the netpwd script it uses
to turn pwd into a network-neutral full pathname.
Besides the problem mentioned above, I've run into two other problems:
- the bootstrap check fails, even though I have every reason to
believe it bootstrapped correctly. I believe the cause of the
failure is the problem documented in distcc's manual: that gcc adds
the preprocessed filename to the debugging info emitted for each
file. I believe it shouldn't do this, but rather just use the name
in the first #line directive in the preprocessed file. I'll look
into trying to fix this problem, if I confirm it is indeed the
reason for the failure.
- the load on my build machine skyrockets while building the ada
compiler and the Java library. It would be nice if distcc could
throttle other instances thereof when it realizes it can't send
builds to remote build servers. A lock on localhost, to be used in
such situations, would be ideal IMO. Is this an acceptable change
for distcc?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stage-cc-wrapper.patch
Type: text/x-patch
Size: 4028 bytes
Desc: not available
Url : http://lists.samba.org/archive/distcc/attachments/20020813/abeb49b1/stage-cc-wrapper.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: distcc
Type: application/x-sh
Size: 1286 bytes
Desc: not available
Url : http://lists.samba.org/archive/distcc/attachments/20020813/abeb49b1/distcc.sh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: netpwd
Type: application/x-sh
Size: 790 bytes
Desc: not available
Url : http://lists.samba.org/archive/distcc/attachments/20020813/abeb49b1/netpwd.sh
-------------- next part --------------
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist Professional serial bug killer
More information about the distcc
mailing list