summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2013-06-24 09:44:30 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-25 17:43:43 +0100
commitbe21c6e8e4f810e826538337dac6e34ed96e1f6f (patch)
tree25469b8a1a57fada7441ebdfe188d1d80417931d /meta/recipes-devtools/gcc
parent9ceebb966e5294a270222475ab6317dcae2952fa (diff)
downloadopenembedded-core-be21c6e8e4f810e826538337dac6e34ed96e1f6f.tar.gz
openembedded-core-be21c6e8e4f810e826538337dac6e34ed96e1f6f.tar.bz2
openembedded-core-be21c6e8e4f810e826538337dac6e34ed96e1f6f.zip
gcc: When cross compiling a target gcc, target flags may be used on the host
The original fix worked some of the time, but not on all machines. Fix this by applying the change in a different way. Following the example of the existing BUILD_CFLAGS. Below is the commit message from the original change to help explain why this is needed: Configure identifies a number of warning flags (WARN_CFLAGS and WARN_CXXFLAGS) from the $CC value. The cross compiler may be different from the host compiler and may not support the same set of flags. This leads to problems such as: cc1plus: error: unrecognized command line option "-Wno-narrowing" cc1plus: error: unrecognized command line option "-Wno-overlength-strings" Work around this problem by removing the warning flags from the BUILD_CXXFLAGS value, in a way similar to the BUILD_CFLAGS. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/gcc-4.8-build-args.patch58
1 files changed, 24 insertions, 34 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.8-build-args.patch b/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.8-build-args.patch
index 95f39bb23d..c27e009619 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.8-build-args.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.8-build-args.patch
@@ -1,6 +1,6 @@
When cross compiling a target gcc, target flags may be used on the host
-Configure identifies a number of warning flags (WARN_CFLAGS and
+Configure identifies a number of warning flags (WARN_CFLAGS and
WARN_CXXFLAGS) from the $CC value. The cross compiler may be different
from the host compiler and may not support the same set of flags. This
leads to problems such as:
@@ -9,43 +9,33 @@ cc1plus: error: unrecognized command line option "-Wno-narrowing"
cc1plus: error: unrecognized command line option "-Wno-overlength-strings"
Work around this problem by removing the warning flags from the
-BUILD_*FLAGS values.
+BUILD_CXXFLAGS value, in a way similar to the BUILD_CFLAGS.
Upstream-Status: Pending
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-diff -ur gcc-4.8.0.orig/gcc/configure.ac gcc-4.8.0/gcc/configure.ac
---- gcc-4.8.0.orig/gcc/configure.ac 2013-05-29 14:44:24.960853593 -0500
-+++ gcc-4.8.0/gcc/configure.ac 2013-05-31 01:34:09.518775962 -0500
-@@ -1892,8 +1892,8 @@
- # These are the normal (build=host) settings:
- CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
- CXX_FOR_BUILD='$(CXX)' AC_SUBST(CXX_FOR_BUILD)
--BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
--BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
-+BUILD_CFLAGS='$(ALL_BUILD_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
-+BUILD_CXXFLAGS='$(ALL_BUILD_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
- BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
- STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
+Index: gcc-4.8.0/gcc/configure
+===================================================================
+--- gcc-4.8.0.orig/gcc/configure
++++ gcc-4.8.0/gcc/configure
+@@ -11720,6 +10581,7 @@ STMP_FIXINC=stmp-fixinc
+ if test x$build != x$host || test "x$coverage_flags" != x
+ then
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
++ BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
+ fi
-diff -ur gcc-4.8.0.orig/gcc/Makefile.in gcc-4.8.0/gcc/Makefile.in
---- gcc-4.8.0.orig/gcc/Makefile.in 2013-05-29 14:44:24.369853593 -0500
-+++ gcc-4.8.0/gcc/Makefile.in 2013-05-31 01:34:30.360776427 -0500
-@@ -989,10 +989,16 @@
- ALL_CFLAGS = $(T_CFLAGS) $(CFLAGS-$@) \
- $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@
+Index: gcc-4.8.0/gcc/configure.ac
+===================================================================
+--- gcc-4.8.0.orig/gcc/configure.ac
++++ gcc-4.8.0/gcc/configure.ac
+@@ -1901,6 +1901,7 @@ STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_F
+ if test x$build != x$host || test "x$coverage_flags" != x
+ then
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
++ BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
+ fi
-+ALL_BUILD_CFLAGS = $(T_CFLAGS) $(CFLAGS-$@) \
-+ $(CFLAGS) $(INTERNAL_CFLAGS) @DEFS@
-+
- # The C++ version.
- ALL_CXXFLAGS = $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) $(INTERNAL_CFLAGS) \
- $(COVERAGE_FLAGS) $(NOEXCEPTION_FLAGS) $(WARN_CXXFLAGS) @DEFS@
-
-+ALL_BUILD_CXXFLAGS = $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) $(INTERNAL_CFLAGS) \
-+ $(NOEXCEPTION_FLAGS) @DEFS@
-+
- # Likewise. Put INCLUDES at the beginning: this way, if some autoconf macro
- # puts -I options in CPPFLAGS, our include files in the srcdir will always
- # win against random include files in /usr/include.