diff options
author | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-07-25 22:07:10 +0200 |
---|---|---|
committer | Frans Meulenbroeks <fransmeulenbroeks@gmail.com> | 2010-08-14 12:54:52 +0200 |
commit | c9da5bb8400a2290af95402ee73ad53f642894b8 (patch) | |
tree | 8df492b7607cbddcc625de8de2edc25d4101d457 | |
parent | eb973ef9d548f1aaa149ebead08e6ecbbc6f58f6 (diff) |
gcc4.3.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
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
-rw-r--r-- | recipes/gcc/gcc-4.3.1.inc | 3 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.1/Makefile.in.patch | 29 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.2.inc | 3 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.2/Makefile.in.patch | 29 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.3.inc | 3 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.3/Makefile.in.patch | 29 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.4.inc | 3 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.3.4/Makefile.in.patch | 29 |
8 files changed, 124 insertions, 4 deletions
diff --git a/recipes/gcc/gcc-4.3.1.inc b/recipes/gcc/gcc-4.3.1.inc index c7feee00d0..645c14a778 100644 --- a/recipes/gcc/gcc-4.3.1.inc +++ b/recipes/gcc/gcc-4.3.1.inc @@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r22" +INC_PR = "r23" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \ @@ -65,6 +65,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://zecke-xgcc-cpp.patch \ file://gcc-4.3.x-fix-EXTRA_BUILD.patch \ file://gcc-flags-for-build.patch \ + file://Makefile.in.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " diff --git a/recipes/gcc/gcc-4.3.1/Makefile.in.patch b/recipes/gcc/gcc-4.3.1/Makefile.in.patch new file mode 100644 index 0000000000..4c11a64b2d --- /dev/null +++ b/recipes/gcc/gcc-4.3.1/Makefile.in.patch @@ -0,0 +1,29 @@ +Index: gcc-4.3.1/gcc/Makefile.in +=================================================================== +--- gcc-4.3.1.orig/gcc/Makefile.in ++++ gcc-4.3.1/gcc/Makefile.in +@@ -575,7 +575,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) +@@ -901,9 +901,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) diff --git a/recipes/gcc/gcc-4.3.2.inc b/recipes/gcc/gcc-4.3.2.inc index 04e3dd7367..2d3118ce2b 100644 --- a/recipes/gcc/gcc-4.3.2.inc +++ b/recipes/gcc/gcc-4.3.2.inc @@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r12" +INC_PR = "r13" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \ @@ -61,6 +61,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://zecke-xgcc-cpp.patch \ file://gcc-4.3.x-fix-EXTRA_BUILD.patch \ file://gcc-flags-for-build.patch \ + file://Makefile.in.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " diff --git a/recipes/gcc/gcc-4.3.2/Makefile.in.patch b/recipes/gcc/gcc-4.3.2/Makefile.in.patch new file mode 100644 index 0000000000..4c11a64b2d --- /dev/null +++ b/recipes/gcc/gcc-4.3.2/Makefile.in.patch @@ -0,0 +1,29 @@ +Index: gcc-4.3.1/gcc/Makefile.in +=================================================================== +--- gcc-4.3.1.orig/gcc/Makefile.in ++++ gcc-4.3.1/gcc/Makefile.in +@@ -575,7 +575,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) +@@ -901,9 +901,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) diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc index c1355e14a1..11d09fa2e3 100644 --- a/recipes/gcc/gcc-4.3.3.inc +++ b/recipes/gcc/gcc-4.3.3.inc @@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r15" +INC_PR = "r16" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \ @@ -63,6 +63,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://gcc-4.3.3-fix-EXTRA_BUILD.patch \ file://arm-gcc-objective.patch \ + file://Makefile.in.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " diff --git a/recipes/gcc/gcc-4.3.3/Makefile.in.patch b/recipes/gcc/gcc-4.3.3/Makefile.in.patch new file mode 100644 index 0000000000..4c11a64b2d --- /dev/null +++ b/recipes/gcc/gcc-4.3.3/Makefile.in.patch @@ -0,0 +1,29 @@ +Index: gcc-4.3.1/gcc/Makefile.in +=================================================================== +--- gcc-4.3.1.orig/gcc/Makefile.in ++++ gcc-4.3.1/gcc/Makefile.in +@@ -575,7 +575,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) +@@ -901,9 +901,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) diff --git a/recipes/gcc/gcc-4.3.4.inc b/recipes/gcc/gcc-4.3.4.inc index b0954c420d..b8df9f06f6 100644 --- a/recipes/gcc/gcc-4.3.4.inc +++ b/recipes/gcc/gcc-4.3.4.inc @@ -8,7 +8,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" NATIVEDEPS = "mpfr-native gmp-native" -INC_PR = "r10" +INC_PR = "r11" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \ @@ -61,6 +61,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \ file://zecke-xgcc-cpp.patch \ file://gcc-4.3.x-fix-EXTRA_BUILD.patch \ file://gcc-flags-for-build.patch \ + file://Makefile.in.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " diff --git a/recipes/gcc/gcc-4.3.4/Makefile.in.patch b/recipes/gcc/gcc-4.3.4/Makefile.in.patch new file mode 100644 index 0000000000..4c11a64b2d --- /dev/null +++ b/recipes/gcc/gcc-4.3.4/Makefile.in.patch @@ -0,0 +1,29 @@ +Index: gcc-4.3.1/gcc/Makefile.in +=================================================================== +--- gcc-4.3.1.orig/gcc/Makefile.in ++++ gcc-4.3.1/gcc/Makefile.in +@@ -575,7 +575,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) +@@ -901,9 +901,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) |