From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4864:20::142; helo=mail-it1-x142.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it1-x142.google.com (mail-it1-x142.google.com [IPv6:2607:f8b0:4864:20::142]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id F3199211A323F for ; Thu, 20 Dec 2018 00:14:25 -0800 (PST) Received: by mail-it1-x142.google.com with SMTP id h193so1575761ita.5 for ; Thu, 20 Dec 2018 00:14:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=aTspnDWlE9K8DPh+n1fMMKmXGu8tl0x1XXcKc0THaPU=; b=YhELLCIotWnIaNEi3a21uyYHeBU0Flfi/2FQ889YMuqSPQkARrQXfNuqXDpwBG/OOj R0gZvjkyQgPe8lqkGWXAbyYkRefkN8h04u90NtHpQuh1r7bAd9zVcFmFAcRJSZ+G8Bvy EKVmfcm+POkrP6hCGUupW/M7xwBDnsS3YtmcM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=aTspnDWlE9K8DPh+n1fMMKmXGu8tl0x1XXcKc0THaPU=; b=B0pkgqkstGL0iYmg0vf8vXYArZ7LCA/kDgyaT7NyOxr6GhsFROuPqrmGgcCynWUfHV OLsgwj0Ab82nd48c+GipQLNhbUDHIxLjsQKEg//X4I+S/FJQ94m16I8yVBSY2fESNtH7 Rthl4PUMsBNnJjdWxzFez1VAFkRo3eQvJpOZH1fHGkORn1Qx75ZopH3/HbbIzpfbHFNc S2Uix20rcVJd2/H/X7EIUKuAGQcNIhmDjnxOzftjJo5TUPVol8OPBscgZpdIN37bWIna V6UJl1bMfdJwHpArclOJ8k/te5K7gSk76w7gy4k7b8DsgUHQmtrgmi+l0b9LYdGh/ZZW W84g== X-Gm-Message-State: AA+aEWZ0SXM6VFNJj0i4XTlI4tr1UBBw2GdVcBvIRKghkoNnUmVD9Y9s clu3iEmZodFPb8142UwsJEG4KrZLLQnw1LjoYI4F5Q== X-Google-Smtp-Source: AFSGD/XSP7Fu7dxRaj5oZk0y4CVof8+Z1triEehKhbKzHDhht1WAldXRCMInemcFo/vXO3uoYyz/XpdBIKcszdkSu2M= X-Received: by 2002:a24:edc4:: with SMTP id r187mr9608808ith.158.1545293664706; Thu, 20 Dec 2018 00:14:24 -0800 (PST) MIME-Version: 1.0 References: <20181219145023.5419-1-ard.biesheuvel@linaro.org> <4A89E2EF3DFEDB4C8BFDE51014F606A14E38F17D@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E38F17D@SHSMSX104.ccr.corp.intel.com> From: Ard Biesheuvel Date: Thu, 20 Dec 2018 09:14:13 +0100 Message-ID: To: "Gao, Liming" Cc: "edk2-devel@lists.01.org" 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 08:14:26 -0000 Content-Type: text/plain; charset="UTF-8" On Thu, 20 Dec 2018 at 07:54, Gao, Liming wrote: > > Ard: > So, this change requires ARM users to install the additional tool chain? If yes, could you list the detail impact to user? > As mentioned in the commit log > >Unfortunately, this requires all CLANG3x/ARM users to install > >another cross toolchain. but in fact, you only need arm-linux-gnueabi binutils, so I will update that. Could you elaborate on what level of detail you had in mind beyond that? > 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 = -z > >common-page-size=0x20 > > *_CLANG35_*_DLINK_PATH = ENV(CLANG35_BIN)clang > > *_CLANG35_*_ASLDLINK_PATH = ENV(CLANG35_BIN)clang > > > >-DEFINE CLANG35_ARM_TARGET = -target arm-linux-gnueabihf > >+DEFINE CLANG35_ARM_TARGET = -target arm-linux-gnueabi > > DEFINE CLANG35_AARCH64_TARGET = -target aarch64-linux-gnu > > > > DEFINE CLANG35_WARNING_OVERRIDES = -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 = > >DEF(GCC5_X64_DLINK2_FLAGS) -O0 > > ################## > > # CLANG38 ARM definitions > > ################## > >-DEFINE CLANG38_ARM_TARGET = -target arm-linux-gnueabihf > >+DEFINE CLANG38_ARM_TARGET = -target arm-linux-gnueabi > > DEFINE CLANG38_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) > >DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno- > >movt > > DEFINE CLANG38_ARM_DLINK_FLAGS = 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