When cross compiling a target gcc, target flags may be used on the host 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_*FLAGS values. Upstream-Status: Pending Signed-off-by: Mark Hatle 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) 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@ +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.