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

Signed-off-by: Frans Meulenbroeks <[email protected]>
---
 recipes/gcc/gcc-4.4.1.inc               |    3 ++-
 recipes/gcc/gcc-4.4.1/Makefile.in.patch |   30 ++++++++++++++++++++++++++++++
 recipes/gcc/gcc-4.4.2.inc               |    3 ++-
 recipes/gcc/gcc-4.4.2/Makefile.in.patch |   30 ++++++++++++++++++++++++++++++
 recipes/gcc/gcc-4.4.4.inc               |    3 ++-
 recipes/gcc/gcc-4.4.4/Makefile.in.patch |   30 ++++++++++++++++++++++++++++++
 6 files changed, 96 insertions(+), 3 deletions(-)
 create mode 100644 recipes/gcc/gcc-4.4.1/Makefile.in.patch
 create mode 100644 recipes/gcc/gcc-4.4.2/Makefile.in.patch
 create mode 100644 recipes/gcc/gcc-4.4.4/Makefile.in.patch

diff --git a/recipes/gcc/gcc-4.4.1.inc b/recipes/gcc/gcc-4.4.1.inc
index c4138b8..1364cf6 100644
--- a/recipes/gcc/gcc-4.4.1.inc
+++ b/recipes/gcc/gcc-4.4.1.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
 DEPENDS = "mpfr gmp"
 NATIVEDEPS = "mpfr-native gmp-native"
 
-INC_PR = "r8"
+INC_PR = "r9"
 
 FILESPATHPKG .= ":gcc-$PV"
 
@@ -26,6 +26,7 @@ SRC_URI = 
"${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
        file://gcc-pr41175.patch \
        file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
        file://gcc-4.3.3-fix-EXTRA_BUILD.patch \
+       file://Makefile.in.patch \
        "
 # Language Overrides
 FORTRAN = ""
diff --git a/recipes/gcc/gcc-4.4.1/Makefile.in.patch 
b/recipes/gcc/gcc-4.4.1/Makefile.in.patch
new file mode 100644
index 0000000..13ae6c5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.1/Makefile.in.patch
@@ -0,0 +1,30 @@
+Index: gcc-4.4.4/gcc/Makefile.in
+===================================================================
+--- gcc-4.4.4.orig/gcc/Makefile.in
++++ gcc-4.4.4/gcc/Makefile.in
+@@ -596,7 +596,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 -fno-tree-vectorize \
+   $(INHIBIT_LIBC_CFLAGS)
+@@ -940,10 +940,14 @@ 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) \
+          $(PPLINC) $(CLOOGINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+ 
+ .c.o:
+       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/recipes/gcc/gcc-4.4.2.inc b/recipes/gcc/gcc-4.4.2.inc
index 0ad3fe5..dd0ca67 100644
--- a/recipes/gcc/gcc-4.4.2.inc
+++ b/recipes/gcc/gcc-4.4.2.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
 DEPENDS = "mpfr gmp"
 NATIVEDEPS = "mpfr-native gmp-native"
 
-INC_PR = "r2"
+INC_PR = "r3"
 
 FILESPATHPKG .= ":gcc-$PV"
 
@@ -26,6 +26,7 @@ SRC_URI = 
"${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
        file://gcc-pr41175.patch \
        file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
        file://gcc-4.3.3-fix-EXTRA_BUILD.patch \
+       file://Makefile.in.patch \
        "
 # Language Overrides
 FORTRAN = ""
diff --git a/recipes/gcc/gcc-4.4.2/Makefile.in.patch 
b/recipes/gcc/gcc-4.4.2/Makefile.in.patch
new file mode 100644
index 0000000..13ae6c5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.2/Makefile.in.patch
@@ -0,0 +1,30 @@
+Index: gcc-4.4.4/gcc/Makefile.in
+===================================================================
+--- gcc-4.4.4.orig/gcc/Makefile.in
++++ gcc-4.4.4/gcc/Makefile.in
+@@ -596,7 +596,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 -fno-tree-vectorize \
+   $(INHIBIT_LIBC_CFLAGS)
+@@ -940,10 +940,14 @@ 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) \
+          $(PPLINC) $(CLOOGINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+ 
+ .c.o:
+       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/recipes/gcc/gcc-4.4.4.inc b/recipes/gcc/gcc-4.4.4.inc
index 37c8cd0..ba3ec1b 100644
--- a/recipes/gcc/gcc-4.4.4.inc
+++ b/recipes/gcc/gcc-4.4.4.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
 DEPENDS = "mpfr gmp"
 NATIVEDEPS = "mpfr-native gmp-native"
 
-INC_PR = "r2"
+INC_PR = "r3"
 
 FILESPATHPKG .= ":gcc-$PV"
 
@@ -27,6 +27,7 @@ SRC_URI = 
"${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=gcc444tarbz2 \
        file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
        file://gcc-add-t-slibgcc-libgcc.patch \
        file://gcc-4.3.3-fix-EXTRA_BUILD.patch \
+       file://Makefile.in.patch \
        "
 SRC_URI[gcc444tarbz2.md5sum] = "7ff5ce9e5f0b088ab48720bbd7203530"
 SRC_URI[gcc444tarbz2.sha256sum] = 
"e1c13696b45752ad3f652304fab5120a43a8a5c0f438d3bda78cf16b620c0c58"
diff --git a/recipes/gcc/gcc-4.4.4/Makefile.in.patch 
b/recipes/gcc/gcc-4.4.4/Makefile.in.patch
new file mode 100644
index 0000000..13ae6c5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.4/Makefile.in.patch
@@ -0,0 +1,30 @@
+Index: gcc-4.4.4/gcc/Makefile.in
+===================================================================
+--- gcc-4.4.4.orig/gcc/Makefile.in
++++ gcc-4.4.4/gcc/Makefile.in
+@@ -596,7 +596,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 -fno-tree-vectorize \
+   $(INHIBIT_LIBC_CFLAGS)
+@@ -940,10 +940,14 @@ 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) \
+          $(PPLINC) $(CLOOGINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+ 
+ .c.o:
+       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
-- 
1.6.4.2


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to