Tiny GCC: Pure, Unadulterated, Object Code

Michael Witten mfwitten@MIT.EDU
Thu Jan 24 12:21:00 GMT 2008

Dear GCC developers,

I would like to use distcc in a compile-farm comprised
of various and sundry computing architectures.

Consequently, I need cross-compilers on many of these
machines. Consider first how distcc works (as described
by (http://en.wikipedia.org/wiki/Distcc):

     distcc works as an agent for the compiler. A distcc
     daemon has to run on each of the participating mach-
     ines. The originating machine invokes a preprocessor
     to handle header files, preprocessing directives
     (such as #ifdef) and the source files and sends the
     preprocessed source to other machines over the net-
     work via TCP either unencrypted or using SSH. Remote
     machines compile those source files without any local
     dependencies (such as libraries, header files or macro
     definitions) to object files and send them back to the
     originator for further compilation.

That "further compilation" really just means linking.

Therefore, the gcc cross-compilers I want to build need only
produce object code in the correct format using already pre-
processed code. That means:

     These cross-compilers don't need access to any kind of
     libraries or headers.

     They don't need C libraries, or libstdc++, or libobjc,
     or anything that has absolutely nothing to do whatsoever
     with compilation.

Can I build gcc in this way?

I've been trying for quite some time now to achieve such a
stripped down gcc, but it would seem that the gcc build
process insists on building these libraries, which I think
is wholly unnecessary.

I would like to ask further that if my understandings are
incorrect, could somebody please disabuse me.

Michael Witten

More information about the Gcc-help mailing list