[distcc] What is the best way to separate compiler and assembler phases?

Martin Pool mbp at samba.org
Wed Feb 26 02:54:43 GMT 2003

On 25 Feb 2003, "Stuart D. Gathman" <stuart at bmsi.com> wrote:
> Having lurked for a while, I realize that not all compilers produce 
> assembler code as an intermediate step.  Some directly produce an object 
> file.  But for those that produce assembler as an intermediate, what is the 
> best way to run the compiler and assembler on different machines - while 
> keeping the overall distcc architecture?

(Answered in the other message.)

I think what you're saying is that on your volunteer machine, you have
the right cc1, but not the corresponding as.  Isn't gas produced as
part of the GNU toolchain installation?

> Also, the GNU compiler supports piping preprocessed source into the 
> compiler via stdin - avoiding having to produce an entire temp file before 
> beginning the compile.  Similarly, the compiler output goes to stdout, and 
> can be piped directly to the assembler.  How should this be supported in 
> distcc?

distcc used to support something like this but it was disabled because
of bugs.  In fact, it fed the compiler from a fifo rather than stdin.
(See the NEWS file.)  I'll look at adding it back in now that there is
a benchmark suite that can show whether it's faster or not.

It does allow for more overlapped processing but I'm not sure if it's
> Perhaps distcc could recognize the -pipe option to enable these
> features.

You can use -pipe now, which will make the (possibly remote) cc1 feed
as through a pipe.


More information about the distcc mailing list