From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by mx.groups.io with SMTP id smtpd.web11.111703.1682985967907809464 for ; Mon, 01 May 2023 17:06:08 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@bsdio.com header.s=fm1 header.b=ZmKWu8b3; spf=pass (domain: bsdio.com, ip: 66.111.4.26, mailfrom: rebecca@bsdio.com) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 315565C013E; Mon, 1 May 2023 20:06:07 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Mon, 01 May 2023 20:06:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdio.com; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1682985967; x=1683072367; bh=+pVTas1tAJsgIoc1EH/VmUbIupbkdBu2ue3 5t0Y5ILw=; b=ZmKWu8b3R/ERuGBrBcFZnBEgL0ToEbfrpsyiho7ZJPE1Qt1VWtW uyem1udeViljNIGZrHFnaRuY9dDsz0wP4e/CnnUX46aH1BWM8Va+dl01AZUsTvuW zFq/rpJ8BYdVruwsbEeMOU1kQTUSGrrddkZTQ51r0aur3Z7Jh0KbptQ2bVQp9Y2n 7Yq+lU3UPM+HCB2bbAwScsuVjN72GrC9FjRkz3WsUdbkDntNHqnpY5RnJ8+z69IB /O5IMhIOXTegLCC5Ewy8R82UxrgDJJmDOr/rk8X+977nU5ZZ0O0fViorcHpSPAWr wVeHfRZ8Qat74SX3n4WyC5JLZoUYqAikaDA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1682985967; x=1683072367; bh=+pVTas1tAJsgIoc1EH/VmUbIupbkdBu2ue3 5t0Y5ILw=; b=HKYTafXzPzwDsxiTPuOngHiAfRoy8pAb+2bTRgbOP6baAqrSImE 2LpqK38Lutex+Hm3if58V3KehANR5PeqeIxEofRiM04qNDHZRaEH26A1DBMmieC3 m7IXEoNjtGIrK+oCLfdx+ITpvLRgyf4DGk9qJ5x8Pdn0YjWeCO+eJWLa2l6jzhQS mQg59ZAnjIIAfGrWLRiVvWV783zGL4Vcnjv+OXhb3ESXOmQR1sU8gfXwPw+bsG92 wkvqnblDZppiezevCEi5QRx+t54/W6KEwHv0vYUU9C+B7wJctKhhOq09spoaJpIB TTvxMp4dw56Y+gmubuPcgzthV0Q6MCT+xIg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedvhedgfeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvfhevhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeftvggs vggttggrucevrhgrnhcuoehrvggsvggttggrsegsshguihhordgtohhmqeenucggtffrrg htthgvrhhnpeegvedtheevhffgfefhleetuedtffdtveevhedvtdeukeevfffgjeehieet hfegudenucffohhmrghinhepughstgdrihhntgdpvggukhhiihdrhhhoshhtnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprhgvsggvtggtrges sghsughiohdrtghomh X-ME-Proxy: Feedback-ID: i5b994698:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 1 May 2023 20:06:05 -0400 (EDT) Message-ID: <8387e266-9e03-38ea-340b-2db994971bd0@bsdio.com> Date: Mon, 1 May 2023 18:06:04 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v6 08/16] Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages To: Jiewen Yao , Jian J Wang , Xiaoyu Lu , Guomin Jiang , Andrew Fish , Ray Ni , Chasel Chiu , Nate DeSimone , Star Zeng References: <20230501160839.884391-1-rebecca@bsdio.com> <20230501160839.884391-9-rebecca@bsdio.com> Cc: "devel@edk2.groups.io" From: "Rebecca Cran" In-Reply-To: <20230501160839.884391-9-rebecca@bsdio.com> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Jiewen Yao, Jian J Wang, Xiaoyu Lu, Guomin Jiang: Could one of you add a Reviewed-by tag for the CryptoPkg changes please? Andrew Fish, Ray Ni: Could one of you add a Reviewed-by tag for the EmulatorPkg changes please? Chasel Chiu, Nate DeSimone, Star Zeng: Could one of you add a Reviewed-by tag for the IntelFsp2Pkg changes please? -- Rebecca Cran On 5/1/23 10:08, Rebecca Cran wrote: > Add a 'GCC' toolchain that's a copy of the existing GCC5 definition. > Add a 'GCCNOLTO' toolchain that's a copy of the existing GCC49 > toolchain.q > > Update build flags in CryptoPkg, EmulatorPkg, IntelFsp2Pkg and > UnitTestFrameworkPkg to add flags for the new toolchains. > > Signed-off-by: Rebecca Cran > --- > UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc | 4 + > IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc | 8 +- > CryptoPkg/Library/OpensslLib/OpensslLib.inf | 1 + > CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf | 1 + > CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 + > CryptoPkg/Library/OpensslLib/OpensslLibFull.inf | 1 + > CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf | 2 + > EmulatorPkg/Unix/Host/Host.inf | 2 + > BaseTools/Conf/tools_def.template | 366 ++++++++++++++++++++ > 9 files changed, 385 insertions(+), 1 deletion(-) > > diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc > index 7866c36e6693..9bdbbf3a222c 100644 > --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc > +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc > @@ -31,6 +31,10 @@ [BuildOptions] > !endif > GCC:*_GCC5_*_CC_FLAGS = --coverage > GCC:*_GCC5_*_DLINK_FLAGS = --coverage > + GCC:*_GCCNOLTO_*_CC_FLAGS = --coverage > + GCC:*_GCCNOLTO_*_DLINK_FLAGS = --coverage > + GCC:*_GCC_*_CC_FLAGS = --coverage > + GCC:*_GCC_*_DLINK_FLAGS = --coverage > [BuildOptions.common.EDKII.HOST_APPLICATION] > # > # MSFT > diff --git a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc > index 31558121185d..34409f8b80d5 100644 > --- a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc > +++ b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc > @@ -461,10 +461,16 @@ [Components.IA32] > ################################################################################################### > [BuildOptions] > # Append build options for EDK and EDKII drivers (= is Append, == is Replace) > - # Enable link-time optimization when building with GCC49 > + # Enable link-time optimization when building with GCC49 or GCCNOLTO > *_GCC49_IA32_CC_FLAGS = -flto > *_GCC49_IA32_DLINK_FLAGS = -flto > + *_GCCNOLTO_IA32_CC_FLAGS = -flto > + *_GCCNOLTO_IA32_DLINK_FLAGS = -flto > *_GCC5_IA32_CC_FLAGS = -fno-pic > *_GCC5_IA32_DLINK_FLAGS = -no-pie > *_GCC5_IA32_ASLCC_FLAGS = -fno-pic > *_GCC5_IA32_ASLDLINK_FLAGS = -no-pie > + *_GCC_IA32_CC_FLAGS = -fno-pic > + *_GCC_IA32_DLINK_FLAGS = -no-pie > + *_GCC_IA32_ASLCC_FLAGS = -fno-pic > + *_GCC_IA32_ASLDLINK_FLAGS = -no-pie > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > index 86a00b1c4b2a..0669f3035b85 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > @@ -644,6 +644,7 @@ [BuildOptions] > GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize > # Revisit after switching to 3.0 branch > GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable > + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable > > # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: > # 1295: Deprecated declaration - give arg types > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf > index 2e4f95909b51..45fd4799d748 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf > @@ -692,6 +692,7 @@ [BuildOptions] > GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize > # Revisit after switching to 3.0 branch > GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable > + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable > > # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: > # 1295: Deprecated declaration - give arg types > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > index 637d4769e8ca..44292f589b6c 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > @@ -594,6 +594,7 @@ [BuildOptions] > GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize > # Revisit after switching to 3.0 branch > GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable > + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable > > # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: > # 1295: Deprecated declaration - give arg types > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf > index c5f90221fc66..7c07521dcf1e 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf > @@ -699,6 +699,7 @@ [BuildOptions] > GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize > # Revisit after switching to 3.0 branch > GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable > + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable > > # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: > # 1295: Deprecated declaration - give arg types > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf > index 076295244a2a..62846e37a456 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf > @@ -747,6 +747,8 @@ [BuildOptions] > GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize > # Revisit after switching to 3.0 branch > GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable > + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable > + > > # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: > # 1295: Deprecated declaration - give arg types > diff --git a/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf > index f5ebbed68344..90e8c36b6186 100644 > --- a/EmulatorPkg/Unix/Host/Host.inf > +++ b/EmulatorPkg/Unix/Host/Host.inf > @@ -123,7 +123,9 @@ [BuildOptions] > GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings > GCC:*_GCC48_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" > GCC:*_GCC49_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" > + GCC:*_GCCNOLTO_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" > GCC:*_GCC5_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os > + GCC:*_GCC_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os > GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h > GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h > > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > index d0fa158552df..f85120244267 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -77,8 +77,13 @@ DEFINE GCC48_X64_PREFIX = ENV(GCC48_BIN) > DEFINE GCC49_IA32_PREFIX = ENV(GCC49_BIN) > DEFINE GCC49_X64_PREFIX = ENV(GCC49_BIN) > > +DEFINE GCCNOLTO_IA32_PREFIX = ENV(GCCNOLTO_BIN) > +DEFINE GCCNOLTO_X64_PREFIX = ENV(GCCNOLTO_BIN) > + > DEFINE GCC5_IA32_PREFIX = ENV(GCC5_BIN) > DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN) > +DEFINE GCC_IA32_PREFIX = ENV(GCC_BIN) > +DEFINE GCC_X64_PREFIX = ENV(GCC_BIN) > DEFINE GCC_HOST_PREFIX = ENV(GCC_HOST_BIN) > > DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl > @@ -1139,6 +1144,150 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 > NOOPT_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0 > NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 > > +#################################################################################### > +# > +# GCC NOLTO - This configuration is used to compile under Linux to produce > +# PE/COFF binaries using GCC without Link Time Optimization > +# > +#################################################################################### > +*_GCCNOLTO_*_*_FAMILY = GCC > + > +*_GCCNOLTO_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make > +*_GCCNOLTO_*_*_DLL = ENV(GCCNOLTO_DLL) > +*_GCCNOLTO_*_ASL_PATH = DEF(UNIX_IASL_BIN) > + > +*_GCCNOLTO_*_PP_FLAGS = DEF(GCC_PP_FLAGS) > +*_GCCNOLTO_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) > +*_GCCNOLTO_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > +*_GCCNOLTO_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) > +*_GCCNOLTO_*_APP_FLAGS = > +*_GCCNOLTO_*_ASL_FLAGS = DEF(IASL_FLAGS) > +*_GCCNOLTO_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) > +*_GCCNOLTO_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) > + > +################## > +# GCCNOLTO IA32 definitions > +################## > +*_GCCNOLTO_IA32_OBJCOPY_PATH = DEF(GCCNOLTO_IA32_PREFIX)objcopy > +*_GCCNOLTO_IA32_CC_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_SLINK_PATH = DEF(GCCNOLTO_IA32_PREFIX)ar > +*_GCCNOLTO_IA32_DLINK_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_ASLDLINK_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_ASM_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_PP_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_VFRPP_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_ASLCC_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_ASLPP_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc > +*_GCCNOLTO_IA32_RC_PATH = DEF(GCCNOLTO_IA32_PREFIX)objcopy > + > +*_GCCNOLTO_IA32_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m32 > +*_GCCNOLTO_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 > +*_GCCNOLTO_IA32_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m32 -march=i386 > +*_GCCNOLTO_IA32_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 > +*_GCCNOLTO_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) > +*_GCCNOLTO_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) > +*_GCCNOLTO_IA32_OBJCOPY_FLAGS = > +*_GCCNOLTO_IA32_NASM_FLAGS = -f elf32 > + > + DEBUG_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) > +RELEASE_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable > + NOOPT_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -O0 > + > +################## > +# GCCNOLTO X64 definitions > +################## > +*_GCCNOLTO_X64_OBJCOPY_PATH = DEF(GCCNOLTO_X64_PREFIX)objcopy > +*_GCCNOLTO_X64_CC_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_SLINK_PATH = DEF(GCCNOLTO_X64_PREFIX)ar > +*_GCCNOLTO_X64_DLINK_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_ASLDLINK_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_ASM_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_PP_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_VFRPP_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_ASLCC_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_ASLPP_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc > +*_GCCNOLTO_X64_RC_PATH = DEF(GCCNOLTO_X64_PREFIX)objcopy > + > +*_GCCNOLTO_X64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m64 > +*_GCCNOLTO_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 > +*_GCCNOLTO_X64_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m64 > +*_GCCNOLTO_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS) > +*_GCCNOLTO_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) > +*_GCCNOLTO_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) > +*_GCCNOLTO_X64_OBJCOPY_FLAGS = > +*_GCCNOLTO_X64_NASM_FLAGS = -f elf64 > + > + DEBUG_GCCNOLTO_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) > +RELEASE_GCCNOLTO_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable > + NOOPT_GCCNOLTO_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -O0 > + > +################## > +# GCCNOLTO ARM definitions > +################## > +*_GCCNOLTO_ARM_CC_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_SLINK_PATH = ENV(GCCNOLTO_ARM_PREFIX)ar > +*_GCCNOLTO_ARM_DLINK_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_ASLDLINK_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_ASM_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_PP_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_VFRPP_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_ASLCC_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_ASLPP_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc > +*_GCCNOLTO_ARM_RC_PATH = ENV(GCCNOLTO_ARM_PREFIX)objcopy > + > +*_GCCNOLTO_ARM_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) > +*_GCCNOLTO_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS) > +*_GCCNOLTO_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS) > +*_GCCNOLTO_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) > +*_GCCNOLTO_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) > +*_GCCNOLTO_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) > +*_GCCNOLTO_ARM_PLATFORM_FLAGS = -march=armv7-a > +*_GCCNOLTO_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) > +*_GCCNOLTO_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) > +*_GCCNOLTO_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) > +*_GCCNOLTO_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS) > + > + DEBUG_GCCNOLTO_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0 > +RELEASE_GCCNOLTO_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable > + NOOPT_GCCNOLTO_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0 > + > +################## > +# GCCNOLTO AARCH64 definitions > +################## > +*_GCCNOLTO_AARCH64_CC_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_SLINK_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)ar > +*_GCCNOLTO_AARCH64_DLINK_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_ASLDLINK_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_ASM_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_PP_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_VFRPP_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_ASLCC_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_ASLPP_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc > +*_GCCNOLTO_AARCH64_RC_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)objcopy > + > +*_GCCNOLTO_AARCH64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) > +*_GCCNOLTO_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS) > +*_GCCNOLTO_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS) > +*_GCCNOLTO_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) > +*_GCCNOLTO_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) > +*_GCCNOLTO_AARCH64_PLATFORM_FLAGS = > +*_GCCNOLTO_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) > +*_GCCNOLTO_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) > +*_GCCNOLTO_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) > +*_GCCNOLTO_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS) > + > + DEBUG_GCCNOLTO_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0 > + DEBUG_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) > + DEBUG_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 > + > +RELEASE_GCCNOLTO_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable > +RELEASE_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) > +RELEASE_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 > + > + NOOPT_GCCNOLTO_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0 > + NOOPT_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0 > + NOOPT_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 > + > #################################################################################### > # > # GCC 5 - This configuration is used to compile under Linux to produce > @@ -1356,6 +1505,223 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 > DEBUG_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) > RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable > > +#################################################################################### > +# > +# GCC - This configuration is used to compile under Linux to produce > +# PE/COFF binaries using GCC 5 or newer > +# > +#################################################################################### > +*_GCC_*_*_FAMILY = GCC > + > +*_GCC_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make > +*_GCC_*_*_DLL = ENV(GCC_DLL) > +*_GCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) > + > +*_GCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS) > +*_GCC_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) > +*_GCC_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > +*_GCC_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) > +*_GCC_*_APP_FLAGS = > +*_GCC_*_ASL_FLAGS = DEF(IASL_FLAGS) > +*_GCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) > +*_GCC_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) > + > +################## > +# GCC IA32 definitions > +################## > +*_GCC_IA32_OBJCOPY_PATH = DEF(GCC_IA32_PREFIX)objcopy > +*_GCC_IA32_CC_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_SLINK_PATH = DEF(GCC_IA32_PREFIX)gcc-ar > +*_GCC_IA32_DLINK_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_ASLDLINK_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_ASM_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_PP_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_VFRPP_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_ASLCC_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_ASLPP_PATH = DEF(GCC_IA32_PREFIX)gcc > +*_GCC_IA32_RC_PATH = DEF(GCC_IA32_PREFIX)objcopy > + > +*_GCC_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32 > +*_GCC_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie > +*_GCC_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 > +*_GCC_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie > +*_GCC_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) > +*_GCC_IA32_OBJCOPY_FLAGS = > +*_GCC_IA32_NASM_FLAGS = -f elf32 > + > + DEBUG_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto > + DEBUG_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 > + > +RELEASE_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable > +RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 > + > + NOOPT_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0 > + NOOPT_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0 > + > +################## > +# GCC X64 definitions > +################## > +*_GCC_X64_OBJCOPY_PATH = DEF(GCC_X64_PREFIX)objcopy > +*_GCC_X64_CC_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_SLINK_PATH = DEF(GCC_X64_PREFIX)gcc-ar > +*_GCC_X64_DLINK_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_ASLDLINK_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_ASM_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_PP_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_VFRPP_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_ASLCC_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_ASLPP_PATH = DEF(GCC_X64_PREFIX)gcc > +*_GCC_X64_RC_PATH = DEF(GCC_X64_PREFIX)objcopy > + > +*_GCC_X64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m64 > +*_GCC_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 > +*_GCC_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 > +*_GCC_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) > +*_GCC_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) > +*_GCC_X64_OBJCOPY_FLAGS = > +*_GCC_X64_NASM_FLAGS = -f elf64 > + > + DEBUG_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO > + DEBUG_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > + > +RELEASE_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Wno-unused-but-set-variable -Wno-unused-const-variable > +RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > + > + NOOPT_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0 > + NOOPT_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0 > + > +################## > +# GCC ARM definitions > +################## > +*_GCC_ARM_CC_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_SLINK_PATH = ENV(GCC_ARM_PREFIX)gcc-ar > +*_GCC_ARM_DLINK_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_ASLDLINK_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_ASM_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_PP_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_VFRPP_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_ASLCC_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_ASLPP_PATH = ENV(GCC_ARM_PREFIX)gcc > +*_GCC_ARM_RC_PATH = ENV(GCC_ARM_PREFIX)objcopy > + > +*_GCC_ARM_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) > +*_GCC_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > +*_GCC_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > +*_GCC_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > +*_GCC_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) > +*_GCC_ARM_PLATFORM_FLAGS = -march=armv7-a -mfloat-abi=soft > +*_GCC_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) > +*_GCC_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) > +*_GCC_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) > +*_GCC_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS) > + > + DEBUG_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable > + DEBUG_GCC_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_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable > +RELEASE_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm > + > + NOOPT_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0 > + NOOPT_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0 > + > +################## > +# GCC AARCH64 definitions > +################## > +*_GCC_AARCH64_CC_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_SLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc-ar > +*_GCC_AARCH64_DLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_ASLDLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_ASM_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_PP_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_VFRPP_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_ASLCC_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_ASLPP_PATH = ENV(GCC_AARCH64_PREFIX)gcc > +*_GCC_AARCH64_RC_PATH = ENV(GCC_AARCH64_PREFIX)objcopy > + > +*_GCC_AARCH64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) > +*_GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS) > +*_GCC_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS) > +*_GCC_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS) > +*_GCC_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) > +*_GCC_AARCH64_PLATFORM_FLAGS = > +*_GCC_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) > +*_GCC_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS) > +*_GCC_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) > +*_GCC_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS) > + > + DEBUG_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable > + DEBUG_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch > + DEBUG_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 > + > +RELEASE_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable > +RELEASE_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch > +RELEASE_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 > + > + NOOPT_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 > + NOOPT_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0 > + NOOPT_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 > + > +#################################################################################### > +# > +# GCC RISC-V This configuration is used to compile under Linux to produce > +# PE/COFF binaries using GCC RISC-V tool chain > +# > +#################################################################################### > + > +################## > +# GCC RISCV64 definitions > +################## > +*_GCC_RISCV64_OBJCOPY_PATH = ENV(GCC_RISCV64_PREFIX)objcopy > +*_GCC_RISCV64_CC_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_SLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc-ar > +*_GCC_RISCV64_DLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_ASLDLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_ASM_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_PP_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_VFRPP_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_ASLCC_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_ASLPP_PATH = ENV(GCC_RISCV64_PREFIX)gcc > +*_GCC_RISCV64_RC_PATH = ENV(GCC_RISCV64_PREFIX)objcopy > + > +*_GCC_RISCV64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > +*_GCC_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS) > +*_GCC_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV64_ASM_FLAGS) > +*_GCC_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps > +*_GCC_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS) > +*_GCC_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS) > +*_GCC_RISCV64_RC_FLAGS = DEF(GCC_RISCV64_RC_FLAGS) > +*_GCC_RISCV64_OBJCOPY_FLAGS = > +*_GCC_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) > +*_GCC_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES) > + > +################## > +# GCC LOONGARCH64 definitions > +################## > +*_GCC_LOONGARCH64_OBJCOPY_PATH = ENV(GCC_LOONGARCH64_PREFIX)objcopy > +*_GCC_LOONGARCH64_CC_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_SLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc-ar > +*_GCC_LOONGARCH64_DLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_ASLDLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_ASM_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_PP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_VFRPP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_ASLCC_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_ASLPP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc > +*_GCC_LOONGARCH64_RC_PATH = ENV(GCC_LOONGARCH64_PREFIX)objcopy > + > +*_GCC_LOONGARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > +*_GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS) > +*_GCC_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS) > +*_GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS) > +*_GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS) > +*_GCC_LOONGARCH64_RC_FLAGS = DEF(GCC_LOONGARCH64_RC_FLAGS) > +*_GCC_LOONGARCH64_OBJCOPY_FLAGS = > +*_GCC_LOONGARCH64_NASM_FLAGS = -f elf32 > +*_GCC_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS) > + > +DEBUG_GCC_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) > +RELEASE_GCC_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable > + > #################################################################################### > # > # CLANG35 - This configuration is used to compile under Linux to produce