On Wed, Oct 27, 2021 at 10:10 PM Richard Purdie via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> 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.

OK.

Thanks,
Richard.

> 2021-10-27 Richard Purdie <richard.pur...@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.pur...@linuxfoundation.org>
> ---
>  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(-)
>
> diff --git a/Makefile.in b/Makefile.in
> index 34b2d89660d..d13f6c353ee 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -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; \
> @@ -202,6 +204,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; \
>         DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
> @@ -360,6 +364,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@
> diff --git a/Makefile.tpl b/Makefile.tpl
> index 08e68e83ea8..213052f8226 100644
> --- a/Makefile.tpl
> +++ b/Makefile.tpl
> @@ -157,6 +157,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; \
> @@ -205,6 +207,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; \
>         DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
> @@ -363,6 +367,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@
> diff --git a/configure b/configure
> index 785498efff5..58979d6e3b1 100755
> --- a/configure
> +++ b/configure
> @@ -655,6 +655,8 @@ DSYMUTIL_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
> @@ -4090,6 +4092,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++}
>    DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
>    GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
> @@ -9999,6 +10002,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
> diff --git a/configure.ac b/configure.ac
> index c523083c346..550e6993b59 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1334,6 +1334,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++}
>    DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
>    GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
> @@ -3323,6 +3324,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
> @@ -3389,6 +3391,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)
> diff --git a/gcc/configure b/gcc/configure
> index eeb42657da2..920868bcd33 100755
> --- a/gcc/configure
> +++ b/gcc/configure
> @@ -12769,7 +12769,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"} \
> diff --git a/gcc/configure.ac b/gcc/configure.ac
> index 8c60c0f5e46..065080a4b39 100644
> --- a/gcc/configure.ac
> +++ b/gcc/configure.ac
> @@ -2065,7 +2065,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"} \
> --
> 2.25.1
>

Reply via email to