From patchwork Wed Dec 19 14:50:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 154269 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp5022340ljp; Wed, 19 Dec 2018 06:50:32 -0800 (PST) X-Google-Smtp-Source: AFSGD/UkMz22COLCwslmLrMs0Ejj8TAfyuBEx2kf++1ucDDPd4zzYTcGZBRqrrvKcOVqlYgIEK39 X-Received: by 2002:a17:902:468:: with SMTP id 95mr20395479ple.3.1545231032494; Wed, 19 Dec 2018 06:50:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545231032; cv=none; d=google.com; s=arc-20160816; b=aMEEV/XTdqq4VpBqUaNT9FCQxHAUM4y3gtReS1Nw9ZMcwxq7mq9sD4wZ3xUD845r2x jn6q20R2Q5XNr8wSYwm5FO2ubbRR6bqn70hkI2SzVR0eXkZ3/AgoDprdCmamAnRmzYBj /AfCFZbhGRe22Na2mxof0sBDaXTEe/df7yIkTZ8fW+3PlPdPst3H8lT49pydaJHERE6Q BPjHWj5Ijmym0oTyKWliTflz8vxvi2nPkEYKVVDjuL9tDEtpdCnnCFfxx39xK8HLDSgC pyQhim6xTiAoU3i+3hpmpbO62YmZAf2pgr4//jqoxUetjj+i/yTA1IqQE+NO77gnpfMX iANQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=2ZRp21ih1p1mykS2Cp91vWBronIuyGqBHTJIhv3pYjo=; b=oDGY8tiWl7jgjNXKuWhZZC5lBWm67/qJTOXvHdQRGv8bDsCgKL+IrjYdpU2byaRNIW Ysw7NxEv4WGikjWxOXPr9xm1ZDwAWlxXunEquiikGLmE8AKwk7hziWj137tCrrpTfNB0 zDKaicih3fxFywl+6r522B7LSrDCU5V2PMVPbbfd0XgiBoaRB4NhIo3wpRnnz3V3v93G ldeLZBJLj/mYtYvE7SMrO66LqC3DDmB9E/bgCr0SWCLquBo1+9bc5ZriOfwuee8AqVoQ 6pfLMjKxeID49XAcNgBxCFciWgVF/rkdwedapx/hDygIz34Hxsr7KAnB+zT9cIBWeHU7 QxyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=dult2x+J; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id f63si16936115pfg.136.2018.12.19.06.50.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Dec 2018 06:50:32 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=dult2x+J; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 3EDFF2119FF5C; Wed, 19 Dec 2018 06:50:31 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:4864:20::541; helo=mail-ed1-x541.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) (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 EE4B92119FF42 for ; Wed, 19 Dec 2018 06:50:29 -0800 (PST) Received: by mail-ed1-x541.google.com with SMTP id f23so17201756edb.3 for ; Wed, 19 Dec 2018 06:50:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=O7eAnhMWA4qUIq/3i+0AlyytcO5fOfLtt2RXlHChiWo=; b=dult2x+Jt68TRISta/W1uTO7qtXNhT3HRQI2i8KP2huxGojf2227e9HC3wn9xMK7MP N5u2gvhqpNbH95P/N4f2eeLfxbyTptONHE9CUSAy40li6fm0VUhtPOiRwvBJ8avAgC1t 09otisZB++FGh189WRrMlvyXxkHDDlc63R6es= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=O7eAnhMWA4qUIq/3i+0AlyytcO5fOfLtt2RXlHChiWo=; b=FepW3hO6OSRlk0SbqlLkPTLwHRQCCoWJPeFGhW6jBqTeOWNvV/I6FlVGfBlpsEdI46 UTw3IWJIONG6+DemnYknrdRceMN/4SYOGSGqtsVkoRzBRwJkJiI6Xr0GHc7Icp/z8lYE DTJ8HH+bcGe7iyKcWOswi1dYgFTxJ5ZSChetnAsPq7wY5w4Fdgho3o86grILhwDHTTkq DP5gj/W/OaEyYtN/lTOTbIDP6lMSdjYTfE6fmmb7eXZSo+XUbuQzauBZK8jrXZBBR7Si 64AzGjdQ/9tFrLyZ+IJndq3XjsgpAF56C2xNJ83QaXsqt6P4e7eAZvooXhbmdn+OLl/0 TWNA== X-Gm-Message-State: AA+aEWZ84OJHL8Q2/geTgdzRisc8a+VwPpsZlynPcHEmqvdha/YUFpES kb+Ts/gkhFxoOYGXM2D2IQZGfT5Wx9zCBpSe X-Received: by 2002:a17:906:4b19:: with SMTP id y25-v6mr16342345eju.89.1545231027723; Wed, 19 Dec 2018 06:50:27 -0800 (PST) Received: from localhost.localdomain (laubervilliers-657-1-83-120.w92-154.abo.wanadoo.fr. [92.154.90.120]) by smtp.gmail.com with ESMTPSA id e26-v6sm2717165ejb.29.2018.12.19.06.50.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Dec 2018 06:50:26 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org Date: Wed, 19 Dec 2018 15:50:23 +0100 Message-Id: <20181219145023.5419-1-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Subject: [edk2] [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: , Cc: liming.gao@intel.com Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" 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(-) -- 2.19.2 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel 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)