This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] gcc-4.8: Parallel build failure due to missing header insn-opinit.h


It appears the generated header file, insn-opinit.h is new as of gcc 4.8.
To support parallel builds, gcc/Makefile.in defines a variable containing prerequisite files which guarantees they are built early.
On inspection of gcc/Makefile.in it is obvious that its absence from the 'generated_files' variable is an oversight - the patch simply adds it.

Quoting from gcc/Makefile.in: "
	# Language-independent object files.
	# We put the insn-*.o files first so that a parallel make will build
	# them sooner, because they are large and otherwise tend to be the
	# last objects to finish building.
"
Observations:

	* without patch *
	A parallel build on my 4-core i5 @ 2.5GHz will always fail.
	A parallel build on my 2-core Core Duo @ 1.87GHz will always succeed.
	A non-parallel build (make -j 1) will always succeed on either of the above machines.

	* with patch *
	Both non- and parallel builds always succeed.

Tested on the following gcc versions:
gcc-4.8.0
gcc-4.8.1
gcc-linaro-4.8-2013.04
gcc-linaro-4.8-2013.05
gcc-linaro-4.8-2013.06-1

---
 gcc/Makefile.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 4b04d64..e9ee4a0 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -3801,8 +3801,8 @@ s-gtype: build/gengtype$(build_exeext) $(filter-out [%], $(GTFILES)) \
 	$(STAMP) s-gtype
 
 generated_files = config.h tm.h $(TM_P_H) $(TM_H) multilib.h \
-       $(simple_generated_h) specs.h \
-       tree-check.h genrtl.h insn-modes.h tm-preds.h tm-constrs.h \
+       $(simple_generated_h) specs.h tree-check.h insn-opinit.h \
+       genrtl.h insn-modes.h tm-preds.h tm-constrs.h \
        $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gcov-iov.h
 
 # In order for parallel make to really start compiling the expensive
-- 


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]