diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch b/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch new file mode 100644 index 0000000000..86ab6574c7 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch @@ -0,0 +1,199 @@ +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Subject: [PATCH 1/5] Makefile.in: Ensure build CPP/CPPFLAGS is used for build targets + +During cross compiling, CPP is being set to the target compiler even for +build targets. As an example, when building a cross compiler targetting +mingw, the config.log for libiberty in +build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log +shows: + +configure:3786: checking how to run the C preprocessor +configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 +configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c +configure:3876: $? = 0 + +This is libiberty being built for the build environment, not the target one +(i.e. in build-x86_64-linux). As such it should be using the build environment's +gcc and not the target one. In the mingw case the system headers are quite +different leading to build failures related to not being able to include a +process.h file for pem-unix.c. + +Further analysis shows the same issue occuring for CPPFLAGS too. + +Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which +for example, avoids mixing the mingw headers for host binaries on linux +systems. + +2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org> + +ChangeLog: + + * Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support + * Makefile.in: Regenerate. + * configure: Regenerate. + * configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support + +gcc/ChangeLog: + + * configure: Regenerate. + * configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582727.html] +Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=84401ce5fb4ecab55decb472b168100e7593e01f] +--- + Makefile.in | 6 ++++++ + Makefile.tpl | 6 ++++++ + configure | 4 ++++ + configure.ac | 4 ++++ + gcc/configure | 2 +- + gcc/configure.ac | 2 +- + 6 files changed, 22 insertions(+), 2 deletions(-) + +Index: gcc-11.2.0/Makefile.in +=================================================================== +--- gcc-11.2.0.orig/Makefile.in ++++ gcc-11.2.0/Makefile.in +@@ -151,6 +151,8 @@ BUILD_EXPORTS = \ + CC="$(CC_FOR_BUILD)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ ++ CPP="$(CPP_FOR_BUILD)"; export CPP; \ ++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ +@@ -198,6 +200,8 @@ HOST_EXPORTS = \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ ++ CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ ++ CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ + CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ +@@ -353,6 +357,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@ + AS_FOR_BUILD = @AS_FOR_BUILD@ + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPP_FOR_BUILD = @CPP_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ + CXX_FOR_BUILD = @CXX_FOR_BUILD@ + DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ +Index: gcc-11.2.0/Makefile.tpl +=================================================================== +--- gcc-11.2.0.orig/Makefile.tpl ++++ gcc-11.2.0/Makefile.tpl +@@ -154,6 +154,8 @@ BUILD_EXPORTS = \ + CC="$(CC_FOR_BUILD)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ ++ CPP="$(CPP_FOR_BUILD)"; export CPP; \ ++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ +@@ -201,6 +203,8 @@ HOST_EXPORTS = \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ ++ CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ ++ CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ + CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ +@@ -356,6 +360,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@ + AS_FOR_BUILD = @AS_FOR_BUILD@ + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPP_FOR_BUILD = @CPP_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ + CXX_FOR_BUILD = @CXX_FOR_BUILD@ + DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ +Index: gcc-11.2.0/configure +=================================================================== +--- gcc-11.2.0.orig/configure ++++ gcc-11.2.0/configure +@@ -652,6 +652,8 @@ GFORTRAN_FOR_BUILD + DLLTOOL_FOR_BUILD + CXX_FOR_BUILD + CXXFLAGS_FOR_BUILD ++CPPFLAGS_FOR_BUILD ++CPP_FOR_BUILD + CFLAGS_FOR_BUILD + CC_FOR_BUILD + AS_FOR_BUILD +@@ -4092,6 +4094,7 @@ if test "${build}" != "${host}" ; then + AR_FOR_BUILD=${AR_FOR_BUILD-ar} + AS_FOR_BUILD=${AS_FOR_BUILD-as} + CC_FOR_BUILD=${CC_FOR_BUILD-gcc} ++ CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}" + CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} + GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} + GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} +@@ -9809,6 +9812,7 @@ esac + # our build compiler if desired. + if test x"${build}" = x"${host}" ; then + CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} ++ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} + CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} + LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} + fi +Index: gcc-11.2.0/configure.ac +=================================================================== +--- gcc-11.2.0.orig/configure.ac ++++ gcc-11.2.0/configure.ac +@@ -1347,6 +1347,7 @@ if test "${build}" != "${host}" ; then + AR_FOR_BUILD=${AR_FOR_BUILD-ar} + AS_FOR_BUILD=${AS_FOR_BUILD-as} + CC_FOR_BUILD=${CC_FOR_BUILD-gcc} ++ CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}" + CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} + GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} + GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} +@@ -3321,6 +3322,7 @@ esac + # our build compiler if desired. + if test x"${build}" = x"${host}" ; then + CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} ++ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} + CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} + LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} + fi +@@ -3387,6 +3389,8 @@ AC_SUBST(AR_FOR_BUILD) + AC_SUBST(AS_FOR_BUILD) + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CPP_FOR_BUILD) ++AC_SUBST(CPPFLAGS_FOR_BUILD) + AC_SUBST(CXXFLAGS_FOR_BUILD) + AC_SUBST(CXX_FOR_BUILD) + AC_SUBST(DLLTOOL_FOR_BUILD) +Index: gcc-11.2.0/gcc/configure +=================================================================== +--- gcc-11.2.0.orig/gcc/configure ++++ gcc-11.2.0/gcc/configure +@@ -12699,7 +12699,7 @@ else + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ + CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ + LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ +- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ ++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ + ${realsrcdir}/configure \ + --enable-languages=${enable_languages-all} \ + ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \ +Index: gcc-11.2.0/gcc/configure.ac +=================================================================== +--- gcc-11.2.0.orig/gcc/configure.ac ++++ gcc-11.2.0/gcc/configure.ac +@@ -2023,7 +2023,7 @@ else + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ + CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ + LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ +- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ ++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ + ${realsrcdir}/configure \ + --enable-languages=${enable_languages-all} \ + ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \ |