Patchwork [v4,03/20] move generated_files order-only dependency later

login
register
mail settings
Submitter Tom Tromey
Date Sept. 23, 2013, 2:11 p.m.
Message ID <1379945520-3839-4-git-send-email-tromey@redhat.com>
Download mbox | patch
Permalink /patch/277207/
State New
Headers show

Comments

Tom Tromey - Sept. 23, 2013, 2:11 p.m.
There is an order-only dependency in gcc/Makefile.in that tries to
build the generated files before compiling regular objects.  However,
this appears too early, and so at the time it is seen by make,
GCOV_OBJS and GCOV_DUMP_OBJS have not yet been set.

This patch fixes the problem and prevents any future problems of this
nature by moving the order-only dependency to the end of Makefile.in.

This also adds lto-wrapper.o to ALL_HOST_BACKEND_OBJS.

	* Makefile.in (ALL_HOST_BACKEND_OBJS): Add lto-wrapper.o.
	($(ALL_HOST_OBJS)): Move order-only dependency to end
	of file.
---
 gcc/Makefile.in | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

Patch

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index d4f335e..7b45229 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1500,7 +1500,8 @@  ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
 
 ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
   $(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \
-  $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
+  $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) \
+  lto-wrapper.o
 
 # This lists all host object files, whether they are included in this
 # compilation or not.
@@ -3898,11 +3899,6 @@  generated_files = config.h tm.h $(TM_P_H) $(TM_H) multilib.h \
        common/common-target-hooks-def.h pass-instances.def \
        c-family/c-target-hooks-def.h
 
-# In order for parallel make to really start compiling the expensive
-# objects from $(OBJS) as early as possible, build all their
-# prerequisites strictly before all objects.
-$(ALL_HOST_OBJS) : | $(generated_files)
-
 #
 # How to compile object files to run on the build machine.
 
@@ -5389,3 +5385,8 @@  po/gcc.pot: force
 	$(MAKE) srcextra
 	AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
 		$(XGETTEXT) gcc $(srcdir)
+
+# In order for parallel make to really start compiling the expensive
+# objects from $(OBJS) as early as possible, build all their
+# prerequisites strictly before all objects.
+$(ALL_HOST_OBJS) : | $(generated_files)