tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gcc build is serialised


src/gnu/usr.bin/gcc4/Makefile has this fragment:

SUBDIR+=        host-libiberty libiberty .WAIT \
                backend .WAIT \
                frontend .WAIT \
                libcpp gcov .WAIT \
                cc1 cc1obj cc1plus cpp g++ gcc \
                include protoize unprotoize

It was originally added for gcc3:

Sat Oct 11 07:16:18 2003 (4 years, 6 months ago) by enami

Serialize the build of backend and frontend, since the latter requires
header files created during the former is built.

So there is (or was) a requirement to serialise certain parts of the gcc
build. The manual page for make says this:

     The way that parallel makes are scheduled changed in NetBSD 4.0 so that
     .ORDER and .WAIT apply recursively to the dependant nodes.  The algo-
     rithms used may change again in the future.

The gcc source has some really large source files that take a long time to
build. It would be an ideal place to exploit paralleism in the hardware;
at this point in the build, multiprocessor systems currently sit mostly
idle. Any ideas on how to fix it?


Home | Main Index | Thread Index | Old Index