From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.88; helo=mga01.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9F6B7211A2D90 for ; Wed, 19 Dec 2018 22:54:11 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Dec 2018 22:54:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,376,1539673200"; d="scan'208";a="100137756" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga007.jf.intel.com with ESMTP; 19 Dec 2018 22:54:10 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 19 Dec 2018 22:54:10 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.203]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.222]) with mapi id 14.03.0415.000; Thu, 20 Dec 2018 14:51:34 +0800 From: "Gao, Liming" To: Ard Biesheuvel , "edk2-devel@lists.01.org" Thread-Topic: [edk2] [PATCH] BaseTools/tools_def ARM: use softfloat target for CLANG3x Thread-Index: AQHUl6o2qDqyzTtPvE2APDaFBAkYL6WHMRvQ Date: Thu, 20 Dec 2018 06:51:34 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E38F17D@SHSMSX104.ccr.corp.intel.com> References: <20181219145023.5419-1-ard.biesheuvel@linaro.org> In-Reply-To: <20181219145023.5419-1-ard.biesheuvel@linaro.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] BaseTools/tools_def ARM: use softfloat target for CLANG3x X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Dec 2018 06:54:11 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Ard: So, this change requires ARM users to install the additional tool chain? = If yes, could you list the detail impact to user? Thanks Liming >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ard >Biesheuvel >Sent: Wednesday, December 19, 2018 10:50 PM >To: edk2-devel@lists.01.org >Cc: Gao, Liming >Subject: [edk2] [PATCH] BaseTools/tools_def ARM: use softfloat target for >CLANG3x > >The target triplet we use for CLANG35 and CLANG38 specifies a >hardfloat target, and so the binaries that are emitted are >annotated as using VFP registers for passing floating point >arguments, even though no VFP is used anywhere in the code. > >This works fine as long as we don't try to link against code >that uses software floating point, since combining object files >with different floating point calling conventions is not permitted. > >So switch to the softfloat arm-linux-gnueabi triplet instead. >Unfortunately, this requires all CLANG3x/ARM users to install >another cross toolchain. > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Ard Biesheuvel >--- > BaseTools/Conf/tools_def.template | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/BaseTools/Conf/tools_def.template >b/BaseTools/Conf/tools_def.template >index 2ba833e1fb06..f82bc72327d8 100755 >--- a/BaseTools/Conf/tools_def.template >+++ b/BaseTools/Conf/tools_def.template >@@ -5231,7 +5231,7 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z >common-page-size=3D0x20 > *_CLANG35_*_DLINK_PATH =3D ENV(CLANG35_BIN)clang > *_CLANG35_*_ASLDLINK_PATH =3D ENV(CLANG35_BIN)clang > >-DEFINE CLANG35_ARM_TARGET =3D -target arm-linux-gnueabihf >+DEFINE CLANG35_ARM_TARGET =3D -target arm-linux-gnueabi > DEFINE CLANG35_AARCH64_TARGET =3D -target aarch64-linux-gnu > > DEFINE CLANG35_WARNING_OVERRIDES =3D -Wno-parentheses-equality - >Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare >-Wno-empty-body -Wno-unknown-warning-option >@@ -5384,7 +5384,7 @@ NOOPT_CLANG38_X64_DLINK2_FLAGS =3D >DEF(GCC5_X64_DLINK2_FLAGS) -O0 > ################## > # CLANG38 ARM definitions > ################## >-DEFINE CLANG38_ARM_TARGET =3D -target arm-linux-gnueabihf >+DEFINE CLANG38_ARM_TARGET =3D -target arm-linux-gnueabi > DEFINE CLANG38_ARM_CC_FLAGS =3D DEF(GCC_ARM_CC_FLAGS) >DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno- >movt > DEFINE CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_TARGET) >DEF(GCC_ARM_DLINK_FLAGS) > >-- >2.19.2 > >_______________________________________________ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel