From patchwork Thu Dec 7 20:52:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 121074 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp8848854qgn; Thu, 7 Dec 2017 12:53:51 -0800 (PST) X-Google-Smtp-Source: AGs4zMY9QPSrAUK1ReXK9SvcLy1c2+Tm5vp92iPRCDIwRTXgxW89FnjQx5j1MGDcLQxazT5a97Gj X-Received: by 10.99.125.71 with SMTP id m7mr27213082pgn.349.1512680031682; Thu, 07 Dec 2017 12:53:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512680031; cv=none; d=google.com; s=arc-20160816; b=GqBH36uUrVmEc/ckn+BlewEBhAwJrMA6X+UqiAAPw5HEyfph9adRNJmdi5oNXXHfNi lB9exUYLUOD8hj/KBiJ+9d6k+ANjeE1lqncup/k3ubb7BV01MadKtWym5Ctsh1mnxEHn VMO1zoL3L9VuVJts3ryKKBSodhjFuzFkIK3diUmg/0IG2w9SYHmuXrH4yjfPvd4yrLJD 1KS7TaZ65CuU/wpPlY9ZatpIRtIPHvqhEwr/2RDyxsBMzBRWkkoiW48j+eegamOIm2JC kYZ/HbBReLHjMpubewxW3qDPa+OO7U7VjPdF8AifGl7teb9kiwXoD+yvAz64DuCYDTQ3 qHsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=SFaQ1q69nAh9HeWkY1xLEpTpBhKUvGa0SVYxqNzD8l8=; b=NYCMYGd2Lp4TfuZFJX2EAFv99kUQJUPBqw6YIzThCb5/1CbD8zo6mOxOpprkt5u0Ie QmJ4hdy3lYNRgp+bCRPIIOG43A3090PO2VOdiaYaKO1bpxd9Kmn2Iff6lI5uAtCsny5W akWt4fYCCiM/LnrmO6UinVJVKDAlsCQZNpngwBGPOGCfx4xO8ahXq38ShB/sajYGWTFI XN3dGxmi/oymXeic/Vkc6zyUMYMMFcSPyqUHT8EDcXIvZDI5v2WojerrFn7mUZifoNN2 wIzLMtUgH+L7Sh9d9RMVUhjvqufGNPC8X1wCwgGUBCNNdTGmFUFsgQUQxlF0azx1mLUr 8gRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=UNT6NfoN; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 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. [198.145.21.10]) by mx.google.com with ESMTPS id m190si4288587pgm.501.2017.12.07.12.53.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 12:53:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=UNT6NfoN; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 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 A050721B02834; Thu, 7 Dec 2017 12:49:17 -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:400c:c09::243; helo=mail-wm0-x243.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) (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 419A921B02833 for ; Thu, 7 Dec 2017 12:49:15 -0800 (PST) Received: by mail-wm0-x243.google.com with SMTP id i11so104182wmf.4 for ; Thu, 07 Dec 2017 12:53:48 -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:in-reply-to:references; bh=79oTP4Dv5dbpSV9TQ+P5kzEU5CkDfo5QkHXECsh94BU=; b=UNT6NfoNe1PUgQ1FOqWpFlevmXZ+gpZWZ40vHrZr4+kS4NfM/9KOoN+v7Z45OkBRZG 2x6sphNXiGejmvOKSBJ8Ysc99I4JxcU9JHttXs8304vxvEUiX8uAfoHAQxyIKJNryJxh RkDgOpCTUzVXfs/eXB77Zj+OWK6ogJjTAa+6c= 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:in-reply-to :references; bh=79oTP4Dv5dbpSV9TQ+P5kzEU5CkDfo5QkHXECsh94BU=; b=hBh/Flrg6iaF2jn8mHjmz1T+YZqoO6Rcefus2Q2S87YqLzlEjFBHcULHZKbqOyFi+R in/1KTzRUdAWCFkYrf2A8RZUxPghh8BWLj90NmAEN4ssINYz3eNtjhJvxL2wJi4pOpKc wDuhbsNnNcQ8IDVL1fEK/U3X63yNUtGMWPwv2p90T086tI2gSqW1qXwIAYWbLVl9qGKx NFvMnBFqiZEHwCpdEjKOm5RgB+2Y9V1KiCm/CBbR+4mpiHrCBl+vNhn7b2DFQK3yC9ZS ba2nX5VHu4XngZhdsVwVqWJLfZsnAIbbc4/cGicOFqzD8/pfVO22aGhxnd34A6y5s5Tq KnKw== X-Gm-Message-State: AKGB3mJdfT11EL4vxrj+4cG49NzMa9DaDNdJJjPvKn+/sQQDrchnutUG yTDxPVaH7m3orE9yJIaIWcqu49Vdh3k= X-Received: by 10.28.199.133 with SMTP id x127mr2152648wmf.156.1512680026975; Thu, 07 Dec 2017 12:53:46 -0800 (PST) Received: from localhost.localdomain ([160.171.158.223]) by smtp.gmail.com with ESMTPSA id v195sm35123wmf.25.2017.12.07.12.53.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 12:53:46 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org Date: Thu, 7 Dec 2017 20:52:48 +0000 Message-Id: <20171207205250.16312-2-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171207205250.16312-1-ard.biesheuvel@linaro.org> References: <20171207205250.16312-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v3 1/3] BaseTools/tools_def: add CLANG38 LTO versions for AARCH64 and ARM X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel , liming.gao@intel.com, leif.lindholm@linaro.org, lersek@redhat.com MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Extend the CLANG38 toolchain definition so it can be used for ARM and AARCH64 as well. Note that this requires llvm-ar and the LLVMgold.so linker plugin. In preparation of doing the same for GCC5, this toolchain version also departs from the custom of using -O0 for DEBUG builds, which makes them needlessly slow. Instead, let's add a NOOPT flavor as well, and enable optimization for DEBUG like the other architectures do. (Note that this will require some trivial changes to the platform description files) Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel Acked-by: Laszlo Ersek --- v3: add workaround for CLANG 3.8, which suffers from the same issue with intrinsics as GCC/LTO (in a nutshell, LTO processing may emit function calls to intrinsics that have already been pruned from the input objects) use -O1 for DEBUG instead of -O3, to reduce code size increase v2: add missing -flto to CC flags, without that LTO is not actually enabled (which is why I did not take Leif's Tested-by) add -fno-lto to ASLC CC flags BaseTools/Conf/tools_def.template | 98 +++++++++++++++++++- 1 file changed, 95 insertions(+), 3 deletions(-) -- 2.11.0 _______________________________________________ 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 91b135c2e569..8889f1bc488a 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -399,8 +399,8 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc # Intel(r) ACPI Compiler from # https://acpica.org/downloads # CLANG38 -Linux- Requires: -# Clang v3.8, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu -# Clang v3.9 or later, LLVMgold plugin and GNU binutils 2.28 targeting x86_64-linux-gnu +# Clang v3.8, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi +# Clang v3.9 or later, LLVMgold plugin and GNU binutils 2.28 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi # Optional: # Required to build platforms or ACPI tables: # Intel(r) ACPI Compiler from @@ -5652,6 +5652,7 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) *_CLANG38_*_MAKE_PATH = make *_CLANG38_*_*_DLL = ENV(CLANG38_DLL) *_CLANG38_*_ASL_PATH = DEF(UNIX_IASL_BIN) +*_CLANG38_*_DTC_PATH = DEF(DTC_BIN) *_CLANG38_*_APP_FLAGS = *_CLANG38_*_ASL_FLAGS = DEF(IASL_FLAGS) @@ -5663,7 +5664,8 @@ DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN) DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu -DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -Wno-empty-body -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-parentheses-equality -Wno-unknown-pragmas -Wno-tautological-constant-out-of-range-compare -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference -Wno-tautological-compare -Wno-unknown-warning-option -Wno-varargs +DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-varargs +DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference -Wno-unknown-warning-option ########################### # CLANG38 IA32 definitions @@ -5739,6 +5741,96 @@ NOOPT_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__ NOOPT_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small 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_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) + +*_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) +*_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_CLANG38_ARM_APP_FLAGS = +*_CLANG38_ARM_ASL_FLAGS = DEF(IASL_FLAGS) +*_CLANG38_ARM_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) +*_CLANG38_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) + +*_CLANG38_ARM_CC_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_ASM_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_PP_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_VFRPP_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_ASLCC_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_ASLPP_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_DLINK_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_ARM_ASLDLINK_PATH = ENV(CLANG38_BIN)clang + +*_CLANG38_ARM_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar +*_CLANG38_ARM_RC_PATH = ENV(CLANG38_ARM_PREFIX)objcopy + +*_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto +*_CLANG38_ARM_ASLDLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS) +*_CLANG38_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments +*_CLANG38_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 +*_CLANG38_ARM_PLATFORM_FLAGS = -march=armv7-a +*_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) +*_CLANG38_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) +*_CLANG38_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) +*_CLANG38_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET) +*_CLANG38_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) + + DEBUG_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1 + DEBUG_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm + NOOPT_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0 + NOOPT_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) +RELEASE_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3 +RELEASE_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm + +################## +# CLANG38 AARCH64 definitions +################## +DEFINE CLANG38_AARCH64_TARGET = -target aarch64-linux-gnu +DEFINE CLANG38_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES) +DEFINE CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 + +*_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) +*_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_CLANG38_AARCH64_APP_FLAGS = +*_CLANG38_AARCH64_ASL_FLAGS = DEF(IASL_FLAGS) +*_CLANG38_AARCH64_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) +*_CLANG38_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) + +*_CLANG38_AARCH64_CC_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_ASM_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_PP_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_VFRPP_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_ASLCC_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_ASLPP_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_DLINK_PATH = ENV(CLANG38_BIN)clang +*_CLANG38_AARCH64_ASLDLINK_PATH = ENV(CLANG38_BIN)clang + +*_CLANG38_AARCH64_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar +*_CLANG38_AARCH64_RC_PATH = ENV(CLANG38_AARCH64_PREFIX)objcopy + +*_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto +*_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS) +*_CLANG38_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -Qunused-arguments +*_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 +*_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 +*_CLANG38_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 +*_CLANG38_AARCH64_PLATFORM_FLAGS = +*_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) +*_CLANG38_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) +*_CLANG38_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) +*_CLANG38_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) +*_CLANG38_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) + + DEBUG_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O1 + DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 + NOOPT_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -O0 + NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) +RELEASE_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -flto -O3 +RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 + #################################################################################### # # Cygwin GCC And Intel ACPI Compiler From patchwork Thu Dec 7 20:52:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 121075 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp8848883qgn; Thu, 7 Dec 2017 12:53:54 -0800 (PST) X-Google-Smtp-Source: AGs4zMZqnR7j3DxlP3wuKNVfAOFBJy6HD1u+LqOadVkj15/iKkbe3VRznOAAVT5V1a0EJFvE9y28 X-Received: by 10.99.5.1 with SMTP id 1mr26211560pgf.183.1512680033904; Thu, 07 Dec 2017 12:53:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512680033; cv=none; d=google.com; s=arc-20160816; b=HyC2m18brq7dO2ZgKysCVwLzRbp1/Ououv5ZUggJOxpMqo2gVDafiSoIkKGLoVScoD TV1E5kj9qhBFTil5VRukrRtd46O/zg5ZVezuoYPnbBARjQSJXSYLMeEmNBLRcdqUCXVf WPpTKkx4z78Q020OCKPqHIe9dbLziLhM+QzSkDO1v4Jh61DqEOl39rPnkVITwIIg2Jv6 Yl9wIfLVX1qv0L0gM1UXDHCU3jpdahADDQ2PxOY87/9JqKFk86+DfdjVWxafiFILR826 kKzWeJGOTTd8fHiDdqy6zUf22upJF+bCcJ4iHY2zU+pdHex3WuuyA6ZmaLXtQr02GVx0 evdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=0zlXaOgiiwCh+XNndgf2ey0dflt9tVVAKzubGi01OxE=; b=nG0JszZ1DQCwjAxKEc7tISeIFFmrMBuqxYZ7rNN8ggiaX/wuUAIUKhwDM5MXb3OP7m B1xpxlxDcNEvE3xZ00Vh5lgx15q6teJJEPbfniTKeD0OiUnZosvivvkWDJ1rKYsW93TO c4/43D04fKZ1dCjIupdW4i8FESr4VnB7jZl1Fb82LGCtmRS/S+ebnQaCVUwsVH2fgc4K vAHhNMCZHTzGQd8UNSF2WUOEjZ9NKc0eE5Zw/4UJDxavBu688xbqeXWyW5ByP5340LhN f6oj4PokM5f1X1Qx2PBPrWr9Wgcw5EK+6/JQ8NleLUhse1A4demb201e8FTtfRW7ZXTg KPHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=A6feQwUd; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 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. [198.145.21.10]) by mx.google.com with ESMTPS id v72si4727093pfa.126.2017.12.07.12.53.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 12:53:53 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=A6feQwUd; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 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 D94EE21B02843; Thu, 7 Dec 2017 12:49:19 -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:400c:c09::244; helo=mail-wm0-x244.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) (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 757FD21B02843 for ; Thu, 7 Dec 2017 12:49:18 -0800 (PST) Received: by mail-wm0-x244.google.com with SMTP id g75so147351wme.0 for ; Thu, 07 Dec 2017 12:53:51 -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:in-reply-to:references; bh=TRrHbLHHCiqTlpIrqNlxexgBW9C/Fr8FGU3HyoKvVB0=; b=A6feQwUdVmrGP1+SOWrfr4t/WdCqH7ZoqBOVlCgsu6V7BqEyE7C4pl0Uh276SnLr6q GALPsXuuGsN1CpedivFUwWEHZ9PajiAtyLYjmc2zOUwrb9Bkgb4En9UrO6Yl5x7ANlRT Xx98nMj8rMyLmsgitQ9hDgny4cp1nUni0B3yc= 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:in-reply-to :references; bh=TRrHbLHHCiqTlpIrqNlxexgBW9C/Fr8FGU3HyoKvVB0=; b=BnifQNJze+LlIvAFdm4LpLthqs4Jh+Y20E5UaxDzzs3tXISA4UaDh59AgXRjg4BiZt 5V20GomozUkgOajOaotmpzP0VOrXaSrsvc9JNtGfLsL+vC6D/40Eo74nan8oNyEhaL+S 5fC9mdpuPx82crnKJG5PB0iH0aGf5MMmgG5lfYE0CARMTE3sugstrfEr1a+c2+2ZGjJR j452GAIpVay9CN3DFrutqH6Ob0P/MBC9cOtg3LjI308GniUvcV2/ZAbJAY/FPPeo3I0T r2MZhpGEbEQ7yZgVMUq49MSXTZf2PymJSrUg6BHlOa5UW5uqh2Klm3boCqEhyEE9lIOf wn2Q== X-Gm-Message-State: AKGB3mI54d3g+zoy7PgVU/2Pw1ygLj1pctwQFjyx5BbUcl6+cG+GATdB UVQ4HqoqYthF/OOYcXZQ42PhZEekH1g= X-Received: by 10.28.34.10 with SMTP id i10mr2321467wmi.56.1512680030405; Thu, 07 Dec 2017 12:53:50 -0800 (PST) Received: from localhost.localdomain ([160.171.158.223]) by smtp.gmail.com with ESMTPSA id v195sm35123wmf.25.2017.12.07.12.53.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 12:53:48 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org Date: Thu, 7 Dec 2017 20:52:49 +0000 Message-Id: <20171207205250.16312-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171207205250.16312-1-ard.biesheuvel@linaro.org> References: <20171207205250.16312-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v3 2/3] BaseTools/tools_def CLANG38: add -Wno-unused-const-variable X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel , liming.gao@intel.com, leif.lindholm@linaro.org, lersek@redhat.com MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Commit 8b6366f87584 ("BaseTools/GCC: set -Wno-unused-const-variable on RELEASE builds") suppresses warnings about unused constant variables in RELEASE builds when building with GCC, given that they break the build under our warnings-as-errors policy. Do the same for CLANG38. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=790 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel Reviewed-by: Laszlo Ersek --- v3: add Laszlo's R-b BaseTools/Conf/tools_def.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.11.0 _______________________________________________ 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 8889f1bc488a..896ec1a9f077 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -5664,7 +5664,7 @@ DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN) DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu -DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-varargs +DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference -Wno-unknown-warning-option ########################### From patchwork Thu Dec 7 20:52:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 121076 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp8848923qgn; Thu, 7 Dec 2017 12:53:57 -0800 (PST) X-Google-Smtp-Source: AGs4zMbKYBH2UgyjGsmPCKOfZvrvj7A0PeQx2yHWiafLKoSRU2C7RK/VlOPrytiWlHeakXBSC9Kr X-Received: by 10.84.128.34 with SMTP id 31mr28001579pla.303.1512680037118; Thu, 07 Dec 2017 12:53:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512680037; cv=none; d=google.com; s=arc-20160816; b=iQ/7MXXVhkNnhcj2e2OMSj9mZtoqHd022egD+S2z89ZK7qcwwyrPvlW/pa2u81Irys NShYp9wxu1jUqy5yq536MoXtCR+/Rc0HjofMCcUJo7XmtBpfh4GUTQ4AuaPrfGTDNQ5Y N5niYzgkz2yAGYP4Kmpsd1KEoekqX2qTfSEVEj7gnqRF4s6KMf/jV/M5PQ3ie61jXM6Z 4B8yAJB4Th/QdnqJYoZb8ypVrRDJPBZ7HmkF6s5XDZmLV3iCZV+r6HA/5/BrxL+vGZla 3TBB6dsN/ZThgEe0BjTasypzyRhA9fQmRV2jWr19V5t4L38P+WGmtAU9845e8ir+LWFf BDRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=Si9cMJeG9I21IDHzzomAe8/qMesoNa1tbYISod54JVE=; b=PPjqZ7NV1KSZa7Fnz5Dli5bD73jYv1p5YAuOwCAaNG+033mAaKVnwhmRRl8CoI+O8I zRlMoPf6dn2d6jAaCNdslmn+rKe4HHOI79f61ZqN1pt3l72tSOac1az1cWU/BkT4gN2a VDao6ZzmcPiqHLEVQ7eg+2VVhFOZxvaf/lhBwyVUuZTKWq76ThoMMECr6QjoBImll5mc LKRm8+LckwTK8hwGVUaYY8dJNQxuBnb7T9Rzr7lahQyEgo907yf7ff3mMa53fFDlwJ9n hpS1mm8vW/lSlSp0G8yDpLK2OTKWnlGT4MDYyw8F3Eh5w3C6wSkkwhVjDxsuk2WHRbz2 s16w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=f4qbsqFk; 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 a5si4258010plh.715.2017.12.07.12.53.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 12:53:57 -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=f4qbsqFk; 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 1C9B421B02833; Thu, 7 Dec 2017 12:49:23 -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:400c:c0c::244; helo=mail-wr0-x244.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) (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 83EC621B02833 for ; Thu, 7 Dec 2017 12:49:21 -0800 (PST) Received: by mail-wr0-x244.google.com with SMTP id v22so8867459wrb.0 for ; Thu, 07 Dec 2017 12:53:55 -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:in-reply-to:references; bh=a7P2x9tdn3tRGcD1xa7MZVZv6nTTJpTCUUQAKmWrtWI=; b=f4qbsqFkr8Ves8AB8GrXl7LrId52mBqZhndVjRmkfHAtOWQBHXqTUHLZua5bq3vOhv B2KpZW1ACKyZX77X044HLxkS6V9xMRSfPeiptWLBevHecCGEbYN6gNoZFW04IWMyq+Ts RonnHZkzt+BNA6ZCOjeQpCasFxAyCiKgZcyJw= 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:in-reply-to :references; bh=a7P2x9tdn3tRGcD1xa7MZVZv6nTTJpTCUUQAKmWrtWI=; b=P9dtQbN7oI/izbs8rPzkLlv6ttK9O6reu3FfTYoltgkEh+1C4yli0tuL3IJXbiXPzw M6kGxYs+MJhFmd8fDyisp1EeYhOkmfeYwnU8ndXwCH4Qe1DfDgTcoI+0YOTChHb43N3V cM/CxfRAkPuf9CeoEFcDcN1m0cPG4XGm7CXPSw1Hx4rkd2ewEKbzwOSt45dJjoJt5msv CDP1RMZ8Nd5tGiNaUews8BLA7Dqyszev4UODGzXRiLpbtL5IF0bLvx8582sOUKo2tGcf x7xVxM7Z/1Umu4NLscvmaN0TND4jqUjMEwcz04sQf43L+oxPG5Ol8wi9EbwDsjg+bv6K cLug== X-Gm-Message-State: AJaThX6macdlI3O/K+ocUpuZTVXwZFkwL5zjw9LdFGZUXyNDRmmYXCIl QVccUzKZDC8m9STBdEZoPU4sVFxwVf4= X-Received: by 10.223.158.13 with SMTP id u13mr23917489wre.134.1512680033117; Thu, 07 Dec 2017 12:53:53 -0800 (PST) Received: from localhost.localdomain ([160.171.158.223]) by smtp.gmail.com with ESMTPSA id v195sm35123wmf.25.2017.12.07.12.53.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 12:53:52 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org Date: Thu, 7 Dec 2017 20:52:50 +0000 Message-Id: <20171207205250.16312-4-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171207205250.16312-1-ard.biesheuvel@linaro.org> References: <20171207205250.16312-1-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v3 3/3] BaseTool/tools_def GCC5: enable optimization for ARM/AARCH64 DEBUG builds X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel , liming.gao@intel.com, leif.lindholm@linaro.org, lersek@redhat.com MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Enable optimization for DEBUG builds, to make it more usable in terms of performance, and to give more coverage to the LTO builds. Also, some diagnostics are only enabled when optimization is enabled. NOOPT builds can now also be created, which will retain the behavior DEBUG builds had previously. Note that this aligns ARM and AARCH64 with the x86 architectures, which already use optimization for DEBUG builds. In order to preserve existing behavior for users of older toolchains, keep GCC49 and older as-is. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel Acked-by: Laszlo Ersek --- v3: add Laszlo's ack BaseTools/Conf/tools_def.template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.11.0 _______________________________________________ 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 896ec1a9f077..98ab6dd45e81 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -5517,8 +5517,8 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os *_GCC5_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) *_GCC5_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS) - DEBUG_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0 - DEBUG_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) + DEBUG_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable + DEBUG_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm RELEASE_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable RELEASE_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm @@ -5551,8 +5551,8 @@ RELEASE_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKS *_GCC5_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) *_GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS) - DEBUG_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small - DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 + DEBUG_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=small + DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch -mcmodel=small DEBUG_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 RELEASE_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -mcmodel=tiny