From patchwork Wed Oct 27 20:05:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 46719 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3D5BC3858C27 for ; Wed, 27 Oct 2021 20:10:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3D5BC3858C27 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1635365421; bh=ot8iNPyle6M0o22DO/g54brmTQarbpujC+dQ9UvE6Is=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=SpB9BmgKZOGG5PyiF6OYtInHRn2b4nRzAkaErtJean5LNJIo7s0/DVZYf2IhmeCKG ej/+QN3ERS9yHVUZV1tcA9JmF+mJh+y/mZOPcqGWuYvJHGkRWjtJiT49fLszApREcT fX+0NAL7b5hYfg3I92xK5Z8io4zsZNrczumWU0dc= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id D30933858C27 for ; Wed, 27 Oct 2021 20:05:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D30933858C27 Received: by mail-wr1-x436.google.com with SMTP id z14so6102885wrg.6 for ; Wed, 27 Oct 2021 13:05:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ot8iNPyle6M0o22DO/g54brmTQarbpujC+dQ9UvE6Is=; b=Zvu+QLlhMnXHVp8yQDeIUdYGZCJJhK6b1hjrG7mKtowGdO6GhswxoVMDdTRsVmSS3J mnMOvE9HR7vlUtIgffbA7yUntoyLVpihUIV9EjASrndwWTC+0T71mMi5tvG+Iu+o6NHK yEpsm4FdZqy/gBVwlZX8hmdxGxCqbtwwR9lkOWhIm5V+3GS9/p7VyJMkTMvaPxk0yF34 PxrlDRJ4LXzpmQwOQ1LW1/NZANH56QPt3S442WowY6G2ejxKmkeWG+hcGqh/9G+UBSpu jFoPrF/sJMXDwpJR493wqvgClR5wtx0Dd+z7Q6RaCxvOVlZY6tSaSOTJlhjxQxUuDzhO CJ4A== X-Gm-Message-State: AOAM531plJaFZ3KuubIKlsbR9P9nUICHg2ul5vGYzY5cJvewP1NuPMg3 vbjm+cdp0MO+VcDWWXLViMJ1uYA3/e2Odg== X-Google-Smtp-Source: ABdhPJzKyHlqPmses+Ea09LGPgdZpWke9ABhDYKQF+RuNQPjWKZSxQEa9trGm1vUFMmVOKIxwnwk/A== X-Received: by 2002:adf:f80e:: with SMTP id s14mr893250wrp.288.1635365107624; Wed, 27 Oct 2021 13:05:07 -0700 (PDT) Received: from hex.int.rpsys.net ([2001:8b0:aba:5f3c:9748:b7d4:9e30:95e]) by smtp.gmail.com with ESMTPSA id c17sm847914wrv.22.2021.10.27.13.05.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Oct 2021 13:05:07 -0700 (PDT) To: gcc-patches@gcc.gnu.org Subject: [PATCH 1/5] Makefile.in: Ensure build CPP/CPPFLAGS is used for build targets Date: Wed, 27 Oct 2021 21:05:01 +0100 Message-Id: <20211027200505.3340725-2-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211027200505.3340725-1-richard.purdie@linuxfoundation.org> References: <20211027200505.3340725-1-richard.purdie@linuxfoundation.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, UPPERCASE_50_75 autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Purdie via Gcc-patches From: Richard Purdie Reply-To: Richard Purdie Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" 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 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 --- 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"} \