aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gcc/gcc-4.2.2
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-07-25 22:13:53 +0200
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-08-14 11:27:20 +0200
commit2cde6e004fdc0487d9bce741f0a8ef0a979f9079 (patch)
tree59e68a449aa248db3f5b361797e17931771b8591 /recipes/gcc/gcc-4.2.2
parent5e47534a34f6d131fb9621320c637bda0256fbcf (diff)
downloadopenembedded-2cde6e004fdc0487d9bce741f0a8ef0a979f9079.tar.gz
gcc4.2.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. The patch has been verified by baking all affected recipes with bitbake -c configure -b recipe Also introduced INC_PR Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/gcc/gcc-4.2.2')
-rw-r--r--recipes/gcc/gcc-4.2.2/Makefile.in.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.2.2/Makefile.in.patch b/recipes/gcc/gcc-4.2.2/Makefile.in.patch
new file mode 100644
index 0000000000..6013f710c0
--- /dev/null
+++ b/recipes/gcc/gcc-4.2.2/Makefile.in.patch
@@ -0,0 +1,38 @@
+Index: gcc-4.2.4/gcc/Makefile.in
+===================================================================
+--- gcc-4.2.4.orig/gcc/Makefile.in
++++ gcc-4.2.4/gcc/Makefile.in
+@@ -570,7 +570,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-toplevel-reorder \
+ $(INHIBIT_LIBC_CFLAGS)
+@@ -874,9 +874,13 @@ BUILD_ERRORS = build/errors.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) $(DECNUMINC)
++ $(CPPINC) $(DECNUMINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+
+ .c.o:
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
+@@ -1485,7 +1489,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
+