mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
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. (From OE-Core rev: be21c6e8e4f810e826538337dac6e34ed96e1f6f) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
65385d4bb9
commit
216e4dc4aa
@@ -1,6 +1,6 @@
|
|||||||
When cross compiling a target gcc, target flags may be used on the host
|
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
|
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
|
from the host compiler and may not support the same set of flags. This
|
||||||
leads to problems such as:
|
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"
|
cc1plus: error: unrecognized command line option "-Wno-overlength-strings"
|
||||||
|
|
||||||
Work around this problem by removing the warning flags from the
|
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
|
Upstream-Status: Pending
|
||||||
|
|
||||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
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
|
Index: gcc-4.8.0/gcc/configure
|
||||||
--- 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
|
--- gcc-4.8.0.orig/gcc/configure
|
||||||
@@ -1892,8 +1892,8 @@
|
+++ gcc-4.8.0/gcc/configure
|
||||||
# These are the normal (build=host) settings:
|
@@ -11720,6 +10581,7 @@ STMP_FIXINC=stmp-fixinc
|
||||||
CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
|
if test x$build != x$host || test "x$coverage_flags" != x
|
||||||
CXX_FOR_BUILD='$(CXX)' AC_SUBST(CXX_FOR_BUILD)
|
then
|
||||||
-BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
|
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
|
||||||
-BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
|
+ BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
|
||||||
+BUILD_CFLAGS='$(ALL_BUILD_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
|
BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
|
||||||
+BUILD_CXXFLAGS='$(ALL_BUILD_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
|
fi
|
||||||
BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
|
|
||||||
STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
|
|
||||||
|
|
||||||
diff -ur gcc-4.8.0.orig/gcc/Makefile.in gcc-4.8.0/gcc/Makefile.in
|
Index: gcc-4.8.0/gcc/configure.ac
|
||||||
--- 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
|
--- gcc-4.8.0.orig/gcc/configure.ac
|
||||||
@@ -989,10 +989,16 @@
|
+++ gcc-4.8.0/gcc/configure.ac
|
||||||
ALL_CFLAGS = $(T_CFLAGS) $(CFLAGS-$@) \
|
@@ -1901,6 +1901,7 @@ STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_F
|
||||||
$(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@
|
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.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user