Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | gcc/Makefile.in: fix parallel building failure |
| 2 | |
| 3 | The gcc-ar.o, gcc-nm.o, gcc-ranlib.o and errors.o included |
| 4 | config.h which was a generated file. But no explicity rule |
| 5 | to clarify the dependency. There was potential building |
| 6 | failure while parallel make. |
| 7 | |
| 8 | For gcc-ar.o, gcc-nm.o and gcc-ranlib.o, they were compiled from one C |
| 9 | source file gcc-ar.c, we add them to ALL_HOST_BACKEND_OBJS, so the |
| 10 | '$(ALL_HOST_OBJS) : | $(generated_files)' rule could work for these |
| 11 | objects. |
| 12 | |
| 13 | For errors.o, it is part of gengtype, and the gengtype generator program |
| 14 | is special: Two versions are built. One is for the build machine, and one |
| 15 | is for the host. We refered what gengtype-parse.o did (which also is part |
| 16 | of gengtype). |
| 17 | |
| 18 | [GCC #61899] |
| 19 | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61899 |
| 20 | |
| 21 | Upstream-Status: Submitted [gcc-patches@gcc.gnu.org] |
| 22 | |
| 23 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
| 24 | --- |
| 25 | gcc/Makefile.in | 7 ++++++- |
| 26 | 1 file changed, 6 insertions(+), 1 deletion(-) |
| 27 | |
| 28 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
| 29 | index 6475cba..56e50bb 100644 |
| 30 | --- a/gcc/Makefile.in |
| 31 | +++ b/gcc/Makefile.in |
| 32 | @@ -1481,13 +1481,16 @@ OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ |
| 33 | opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ |
| 34 | hash-table.o file-find.o |
| 35 | |
| 36 | +# Objects compiled from one C source file gcc-ar.c |
| 37 | +OBJS-gcc-ar = gcc-ar.o gcc-nm.o gcc-ranlib.o |
| 38 | + |
| 39 | # This lists all host objects for the front ends. |
| 40 | ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) |
| 41 | |
| 42 | ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \ |
| 43 | $(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \ |
| 44 | $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) \ |
| 45 | - lto-wrapper.o |
| 46 | + lto-wrapper.o $(OBJS-gcc-ar) |
| 47 | |
| 48 | # This lists all host object files, whether they are included in this |
| 49 | # compilation or not. |
| 50 | @@ -2437,6 +2440,8 @@ gengtype-parse.o: $(CONFIG_H) |
| 51 | CFLAGS-build/gengtype-parse.o += -DGENERATOR_FILE |
| 52 | build/gengtype-parse.o: $(BCONFIG_H) |
| 53 | |
| 54 | +errors.o : $(CONFIG_H) |
| 55 | + |
| 56 | gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \ |
| 57 | gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \ |
| 58 | $(XREGEX_H) |
| 59 | -- |
| 60 | 1.8.1.2 |
| 61 | |