diff options
author | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-07-14 22:52:38 +0200 |
---|---|---|
committer | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-07-14 22:52:38 +0200 |
commit | 6bd90b5b7e01a877e464bd729d9baef2f4994187 (patch) | |
tree | 7804563e9bc1732672832ca345bba2a039c56ca3 /recipes/gcc/gcc-4.1.0 | |
parent | 098bbaa7446076dd10b2d221719e75b0964e0ba7 (diff) |
gcc 4.1.x: patch Makefile.in for cross compile badness
When compiling gcc target code make passes -I(GMPINC)
but this one points to the host dir (it is set to HOST_GMPINC
which in oe points to tmp/sysroots/i686-linux/usr/include)
This patch breaks the env var $(INCLUDES) in two
and only uses the TARGET specific part for compiling libgcc
and the crt stuff.
This has been fully tested with gcc 4.1.2. For 4.1.0 and 4.1.0 it is
verified that the patch applies properly
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Acked-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/gcc/gcc-4.1.0')
-rw-r--r-- | recipes/gcc/gcc-4.1.0/Makefile.in.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.1.0/Makefile.in.patch b/recipes/gcc/gcc-4.1.0/Makefile.in.patch new file mode 100644 index 0000000000..f6c4bceeb5 --- /dev/null +++ b/recipes/gcc/gcc-4.1.0/Makefile.in.patch @@ -0,0 +1,38 @@ +Index: gcc-4.1.2/gcc/Makefile.in +=================================================================== +--- gcc-4.1.2.orig/gcc/Makefile.in ++++ gcc-4.1.2/gcc/Makefile.in +@@ -548,7 +548,7 @@ LIBGCC2_INCLUDES = + TARGET_LIBGCC2_CFLAGS = + + # Options to use when compiling crtbegin/end. +-CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ ++CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(TARGET_INCLUDES) $(MULTILIB_CFLAGS) -g0 \ + -finhibit-size-directive -fno-inline-functions -fno-exceptions \ + -fno-zero-initialized-in-bss -fno-unit-at-a-time \ + $(INHIBIT_LIBC_CFLAGS) +@@ -845,9 +845,13 @@ BUILD_VARRAY = build/varray.o + # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file + # currently being compiled, in both source trees, to be examined as well. + # libintl.h will be found in ../intl if we are using the included libintl. +-INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ ++# ++# TARGET_INCLUDES is added to avoid that GMPINC (which points to the host ++# include dir) is used for compiling libgcc.a ++TARGET_INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ + -I$(srcdir)/../include @INCINTL@ \ +- $(CPPINC) $(GMPINC) ++ $(CPPINC) ++INCLUDES = $(TARGET_INCLUDES) $(GMPINC) + + .c.o: + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION) +@@ -1379,7 +1383,7 @@ libgcc.a: $(LIBGCC_DEPS) + $(MAKE) \ + CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \ + CONFIG_H="$(TCONFIG_H)" TM_H="$(TM_H)" \ +- INCLUDES="$(INCLUDES)" \ ++ INCLUDES="$(TARGET_INCLUDES)" \ + MAKEOVERRIDES= \ + -f libgcc.mk all + |