From nobody Mon Sep 16 18:55:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101532+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101532+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1679448657; cv=none; d=zohomail.com; s=zohoarc; b=VA7I5nyASrkQd+Rdi1VA5orFF8EU/1uJc+e2cPihiMf9bMK6w7eNaah/QPv4SKWTRor2YNo1xJnrCk6yGohtxZmpzWC1GYmmZTQvOKl6JWoXDhr52Yik0PsOmqgxZrJzxkFJVOlNgitefT+A0TvxwtO37sxcvgXYHfQwg+nYPJQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679448657; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=yMhRf0Slcm5iwH6wee4QzjN0/jomftWPplH5up1Uu+I=; b=TkMkltMhbLncdUJqxWxp//c0thRsoyFe3L2a7RirOh/ksPpD5gbHj6WQJz+fMP5Svonr2//gK0mUlYmSHz//yUNeXGne4eeMwD98QGCqivgFL3h6sbfdjQtXueV4kgbN9IZpJwjOtI1ms7xd1GnrUKbTGXwm0Fy4wEp+TvDTERg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101532+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1679448657322583.6522198222146; Tue, 21 Mar 2023 18:30:57 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id BbsxYY1788612xr36t8HPe71; Tue, 21 Mar 2023 18:30:56 -0700 X-Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by mx.groups.io with SMTP id smtpd.web11.32429.1679448656035198173 for ; Tue, 21 Mar 2023 18:30:56 -0700 X-Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 5F75D5C00D1; Tue, 21 Mar 2023 21:30:55 -0400 (EDT) X-Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 21 Mar 2023 21:30:55 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeguddgfeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomheptfgvsggv tggtrgcuvehrrghnuceorhgvsggvtggtrgessghsughiohdrtghomheqnecuggftrfgrth htvghrnhepkeevkeehkeefieegkefguedtlefhudeludevteffteeuvdevfeethfffkefh teejnecuffhomhgrihhnpegrtghpihgtrgdrohhrghdpnhgrshhmrdhushdplhhlvhhmrd horhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep rhgvsggvtggtrgessghsughiohdrtghomh X-ME-Proxy: Feedback-ID: i5b994698:Fastmail X-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 21 Mar 2023 21:30:53 -0400 (EDT) From: "Rebecca Cran" To: devel@edk2.groups.io, Michael D Kinney , Liming Gao , Zhiguang Liu , Bob Feng , Yuwei Chen , Andrew Fish , Leif Lindholm , Ard Biesheuvel , Jordan Justen , Gerd Hoffmann Cc: Rebecca Cran Subject: [edk2-devel] [PATCH 3/9] BaseTools: Update CLANGDWARF toolchain and remove CLANG35 and CLANG38 Date: Tue, 21 Mar 2023 19:30:34 -0600 Message-Id: <20230322013040.3322865-4-rebecca@bsdio.com> In-Reply-To: <20230322013040.3322865-1-rebecca@bsdio.com> References: <20230322013040.3322865-1-rebecca@bsdio.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,rebecca@bsdio.com X-Gm-Message-State: N77sfz0RW8bwaXvYrQ1QyxCyx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679448656; bh=XzG9My4NF4vwYBAWfqe3zWTNd21pATwcs3cA3N6/Euo=; h=Cc:Date:From:Reply-To:Subject:To; b=B2glIPxBXD6BAACKnG+TlnKUN48kBZ6GEh2PgiMGMFgv7cco+nUKx+J1bA+eFGuoP44 RXuhQxjcvEsuwLVAgtHY7SNA5NMyWr0DWXZLLxQEvbYbyvKU5ta8Mj5ZyRQ9pMUTS2Zv2 5tN1v9vgiytEDqCe4VEEA6gWPsnRnjuh9to= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679448658648100005 Content-Type: text/plain; charset="utf-8" Update the CLANGDWARF toolchain definition with the settings from CLANG38, and delete the CLANG35 and CLANG38 toolchains. The existing CLANGDWARF toolchain definition used ld.lld, but this causes the following linker errors when building OvmfPkgX64.dsc: ld.lld: error: relocation R_X86_64_64 cannot be used against local symbol; recompile with -fPIC >>> defined in edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library= /CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExcept= ionHandlerLib.lib(ExceptionHandlerAsm.obj) >>> referenced by /home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWAR= F/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLi= b/OUTPUT/X64/ExceptionHandlerAsm.iii >>> ExceptionHandlerAsm.obj:(.text+0x5) in archive /home/bcra= n/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/Cpu= ExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionH= andlerLib.lib ld.lld: error: relocation R_X86_64_64 cannot be used against local symbol; = recompile with -fPIC >>> defined in edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library= /CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExcept= ionHandlerLib.lib(ExceptionHandlerAsm.obj) >>> referenced by edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Libr= ary/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/Exceptio= nHandlerAsm.iii >>> ExceptionHandlerAsm.obj:(.text+0x14) in archive edk2/Buil= d/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/= SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib To avoid this, use the default ld (which is normally GNU ld) instead. Signed-off-by: Rebecca Cran --- BaseTools/Conf/tools_def.template | 453 ++++++++------------ 1 file changed, 171 insertions(+), 282 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index 471eb67c0c83..a790366063ea 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -273,32 +273,21 @@ DEFINE DTC_BIN =3D ENV(DTC_PREFIX)dtc # Required to build platforms or ACPI tables: # Intel(r) ACPI Compiler from # https://acpica.org/downloads -# -# CLANG35 -Linux,Windows- Requires: -# Clang v3.5 or later, and GNU binutils target= ing aarch64-linux-gnu or arm-linux-gnueabi -# Optional: -# Required to build platforms or ACPI tables: -# 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, 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-g= nueabi +# CLANGDWARF -Linux- Requires: +# Clang 9 or above, and GNU binutils targeting= x86_64-linux-gnu, aaarch64-linux-gnu or arm-linux-gnuaebi # Optional: # Required to build platforms or ACPI tables: # Intel(r) ACPI Compiler from # https://acpica.org/downloads +# Required to compile nasm source: +# nasm compiler from +# NASM -- https://nasm.us # CLANGPDB -Linux, Windows, Mac- Requires: # Clang 9 or above from http://releases.llvm.o= rg/ # Optional: # Required to compile nasm source: # nasm compiler from # NASM -- http://www.nasm.us/ -# CLANGDWARF -Linux, Windows, Mac- Requires: -# Clang 9 or above from http://releases.llvm.o= rg/ -# Optional: -# Required to compile nasm source: -# nasm compiler from -# NASM -- http://www.nasm.us/ # VS2008x86 -win64- Requires: # Microsoft Visual Studio 2008 (x86) # Microsoft Windows Server 2003 Driver Develop= ment Kit (Microsoft WINDDK) version 3790.1830 @@ -2565,187 +2554,187 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS =3D DEF(CLANG35_= AARCH64_CC_FLAGS) $(PLATFORM_FLAG # PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization enabl= ed # ##########################################################################= ########## -*_CLANG38_*_*_FAMILY =3D GCC -*_CLANG38_*_MAKE_PATH =3D make -*_CLANG38_*_*_DLL =3D ENV(CLANG38_DLL) -*_CLANG38_*_ASL_PATH =3D DEF(UNIX_IASL_BIN) +*_CLANGDWARF_*_*_FAMILY =3D GCC +*_CLANGDWARF_*_MAKE_PATH =3D make +*_CLANGDWARF_*_*_DLL =3D ENV(CLANGDWARF_DLL) +*_CLANGDWARF_*_ASL_PATH =3D DEF(UNIX_IASL_BIN) =20 -*_CLANG38_*_APP_FLAGS =3D -*_CLANG38_*_ASL_FLAGS =3D DEF(IASL_FLAGS) -*_CLANG38_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) -*_CLANG38_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) -DEFINE CLANG38_IA32_PREFIX =3D ENV(CLANG38_BIN) -DEFINE CLANG38_X64_PREFIX =3D ENV(CLANG38_BIN) +*_CLANGDWARF_*_APP_FLAGS =3D +*_CLANGDWARF_*_ASL_FLAGS =3D DEF(IASL_FLAGS) +*_CLANGDWARF_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_CLANGDWARF_*_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) +DEFINE CLANGDWARF_IA32_PREFIX =3D ENV(CLANGDWARF_BIN) +DEFINE CLANGDWARF_X64_PREFIX =3D ENV(CLANGDWARF_BIN) =20 -DEFINE CLANG38_IA32_TARGET =3D -target i686-pc-linux-gnu -DEFINE CLANG38_X64_TARGET =3D -target x86_64-pc-linux-gnu +DEFINE CLANGDWARF_IA32_TARGET =3D -target i686-pc-linux-gnu +DEFINE CLANGDWARF_X64_TARGET =3D -target x86_64-pc-linux-gnu =20 -DEFINE CLANG38_WARNING_OVERRIDES =3D -Wno-parentheses-equality -Wno-tau= tological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empt= y-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option = -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-acce= ss -DEFINE CLANG38_ALL_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG3= 8_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-= shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redecla= ration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-= implicit-float -ftrap-function=3Dundefined_behavior_has_been_optimized_awa= y_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference +DEFINE CLANGDWARF_WARNING_OVERRIDES =3D -Wno-parentheses-equality -Wno-= tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-e= mpty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-opti= on -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-a= ccess +DEFINE CLANGDWARF_ALL_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) DEF(CLA= NGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address= -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-r= edeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float= -mno-implicit-float -ftrap-function=3Dundefined_behavior_has_been_optimiz= ed_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference =20 ########################### -# CLANG38 IA32 definitions +# CLANGDWARF IA32 definitions ########################### -*_CLANG38_IA32_OBJCOPY_PATH =3D objcopy -*_CLANG38_IA32_CC_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_SLINK_PATH =3D DEF(CLANG38_IA32_PREFIX)llvm-ar -*_CLANG38_IA32_DLINK_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASLDLINK_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASM_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_PP_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_VFRPP_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASLCC_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASLPP_PATH =3D DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_RC_PATH =3D objcopy - -*_CLANG38_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto= DEF(CLANG38_IA32_TARGET) -*_CLANG38_IA32_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) = -Wl,-m,elf_i386 -*_CLANG38_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -march=3D= i386 DEF(CLANG38_IA32_TARGET) -*_CLANG38_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) -*_CLANG38_IA32_OBJCOPY_FLAGS =3D -*_CLANG38_IA32_NASM_FLAGS =3D -f elf32 -*_CLANG38_IA32_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32= _TARGET) -*_CLANG38_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_I= A32_TARGET) -*_CLANG38_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_I= A32_TARGET) - -DEBUG_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz= -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -g -malign-double -DEBUG_CLANG38_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -fl= to -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 -DEBUG_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -O3 - -RELEASE_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz= -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -malign-double -RELEASE_CLANG38_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -fl= to -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 -RELEASE_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -O3 - -NOOPT_CLANG38_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0= -march=3Di586 DEF(CLANG38_IA32_TARGET) -g -malign-double -NOOPT_CLANG38_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl= ,-O0 -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 -NOOPT_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -O0 +*_CLANGDWARF_IA32_OBJCOPY_PATH =3D objcopy +*_CLANGDWARF_IA32_CC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_SLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)llvm= -ar +*_CLANGDWARF_IA32_DLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_ASLDLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_ASM_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_PP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_VFRPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_ASLCC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_ASLPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang +*_CLANGDWARF_IA32_RC_PATH =3D objcopy + +*_CLANGDWARF_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fno-= lto DEF(CLANGDWARF_IA32_TARGET) +*_CLANGDWARF_IA32_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLAG= S) -Wl,-m,elf_i386 +*_CLANGDWARF_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -march= =3Di386 DEF(CLANGDWARF_IA32_TARGET) +*_CLANGDWARF_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) +*_CLANGDWARF_IA32_OBJCOPY_FLAGS =3D +*_CLANGDWARF_IA32_NASM_FLAGS =3D -f elf32 +*_CLANGDWARF_IA32_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGDWAR= F_IA32_TARGET) +*_CLANGDWARF_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGD= WARF_IA32_TARGET) +*_CLANGDWARF_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGD= WARF_IA32_TARGET) + +DEBUG_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -m= 32 -Oz -flto -march=3Di586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double +DEBUG_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) = -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 +DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -O3 + +RELEASE_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -m= 32 -Oz -flto -march=3Di586 DEF(CLANGDWARF_IA32_TARGET) -malign-double +RELEASE_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) = -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 +RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -O3 + +NOOPT_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -m= 32 -O0 -march=3Di586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double +NOOPT_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) = -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=3Delf32-i386 +NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -O0 =20 ########################## -# CLANG38 X64 definitions +# CLANGDWARF X64 definitions ########################## -*_CLANG38_X64_OBJCOPY_PATH =3D objcopy -*_CLANG38_X64_CC_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_SLINK_PATH =3D DEF(CLANG38_X64_PREFIX)llvm-ar -*_CLANG38_X64_DLINK_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASLDLINK_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASM_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_PP_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_VFRPP_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASLCC_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASLPP_PATH =3D DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_RC_PATH =3D objcopy - -*_CLANG38_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto = DEF(CLANG38_X64_TARGET) -*_CLANG38_X64_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -= Wl,-m,elf_x86_64 -*_CLANG38_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG3= 8_X64_TARGET) -*_CLANG38_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) -*_CLANG38_X64_OBJCOPY_FLAGS =3D -*_CLANG38_X64_NASM_FLAGS =3D -f elf64 -*_CLANG38_X64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_T= ARGET) -*_CLANG38_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X6= 4_TARGET) -*_CLANG38_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X6= 4_TARGET) - -DEBUG_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DE= FIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -Oz -= flto DEF(CLANG38_X64_TARGET) -g -DEBUG_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -flt= o -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel= =3Dsmall -DEBUG_CLANG38_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 - -RELEASE_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DE= FIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -Oz -= flto DEF(CLANG38_X64_TARGET) -RELEASE_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -flt= o -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel= =3Dsmall -RELEASE_CLANG38_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 - -NOOPT_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DE= FIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O0 D= EF(CLANG38_X64_TARGET) -g -NOOPT_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,= -O0 -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel=3Dsmall -NOOPT_CLANG38_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O0 +*_CLANGDWARF_X64_OBJCOPY_PATH =3D objcopy +*_CLANGDWARF_X64_CC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_SLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)llvm-ar +*_CLANGDWARF_X64_DLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_ASLDLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_ASM_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_PP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_VFRPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_ASLCC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_ASLPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang +*_CLANGDWARF_X64_RC_PATH =3D objcopy + +*_CLANGDWARF_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno-l= to DEF(CLANGDWARF_X64_TARGET) +*_CLANGDWARF_X64_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLAGS= ) -Wl,-m,elf_x86_64 +*_CLANGDWARF_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(CLA= NGDWARF_X64_TARGET) +*_CLANGDWARF_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) +*_CLANGDWARF_X64_OBJCOPY_FLAGS =3D +*_CLANGDWARF_X64_NASM_FLAGS =3D -f elf64 +*_CLANGDWARF_X64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGDWARF= _X64_TARGET) +*_CLANGDWARF_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGDW= ARF_X64_TARGET) +*_CLANGDWARF_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGDW= ARF_X64_TARGET) + +DEBUG_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -m6= 4 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie= -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g +DEBUG_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -= flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmode= l=3Dsmall +DEBUG_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 + +RELEASE_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -m6= 4 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie= -Oz -flto DEF(CLANGDWARF_X64_TARGET) +RELEASE_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -= flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmode= l=3Dsmall +RELEASE_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 + +NOOPT_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -m6= 4 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie= -O0 DEF(CLANGDWARF_X64_TARGET) -g +NOOPT_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -= flto -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmode= l=3Dsmall +NOOPT_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O0 =20 ################## -# CLANG38 ARM definitions +# CLANGDWARF ARM definitions ################## -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_D= LINK_FLAGS) - -*_CLANG38_ARM_PP_FLAGS =3D DEF(GCC_PP_FLAGS) -*_CLANG38_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -*_CLANG38_ARM_APP_FLAGS =3D -*_CLANG38_ARM_ASL_FLAGS =3D DEF(IASL_FLAGS) -*_CLANG38_ARM_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) -*_CLANG38_ARM_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) - -*_CLANG38_ARM_CC_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASM_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_PP_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_VFRPP_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASLCC_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASLPP_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_DLINK_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASLDLINK_PATH =3D ENV(CLANG38_BIN)clang - -*_CLANG38_ARM_SLINK_PATH =3D ENV(CLANG38_BIN)llvm-ar -*_CLANG38_ARM_RC_PATH =3D ENV(CLANG38_ARM_PREFIX)objcopy - -*_CLANG38_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -fno-lto -*_CLANG38_ARM_ASLDLINK_FLAGS =3D DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_A= SLDLINK_FLAGS) -*_CLANG38_ARM_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TA= RGET) $(PLATFORM_FLAGS) -Qunused-arguments -*_CLANG38_ARM_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--de= fsym=3DPECOFF_HEADER_SIZE=3D0x220 -*_CLANG38_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a -*_CLANG38_ARM_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TAR= GET) $(PLATFORM_FLAGS) -*_CLANG38_ARM_RC_FLAGS =3D DEF(GCC_ARM_RC_FLAGS) -*_CLANG38_ARM_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_= TARGET) $(PLATFORM_FLAGS) -*_CLANG38_ARM_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_= TARGET) -*_CLANG38_ARM_CC_XIPFLAGS =3D DEF(GCC_ARM_CC_XIPFLAGS) - - DEBUG_CLANG38_ARM_CC_FLAGS =3D DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_= FLAGS) -flto -O1 - DEBUG_CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto -W= l,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-pas= s-through=3D-llto-arm - NOOPT_CLANG38_ARM_CC_FLAGS =3D DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_= FLAGS) -O0 - NOOPT_CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_DLINK_FLAGS) -RELEASE_CLANG38_ARM_CC_FLAGS =3D DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_= FLAGS) -flto -O3 -RELEASE_CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto -W= l,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-pas= s-through=3D-llto-arm +DEFINE CLANGDWARF_ARM_TARGET =3D -target arm-linux-gnueabi +DEFINE CLANGDWARF_ARM_CC_FLAGS =3D DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWA= RF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt +DEFINE CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_TARGET) DEF(GCC= _ARM_DLINK_FLAGS) + +*_CLANGDWARF_ARM_PP_FLAGS =3D DEF(GCC_PP_FLAGS) +*_CLANGDWARF_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) +*_CLANGDWARF_ARM_APP_FLAGS =3D +*_CLANGDWARF_ARM_ASL_FLAGS =3D DEF(IASL_FLAGS) +*_CLANGDWARF_ARM_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_CLANGDWARF_ARM_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) + +*_CLANGDWARF_ARM_CC_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_ASM_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_PP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_VFRPP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_ASLCC_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_ASLPP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_DLINK_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_ARM_ASLDLINK_PATH =3D ENV(CLANGDWARF_BIN)clang + +*_CLANGDWARF_ARM_SLINK_PATH =3D ENV(CLANGDWARF_BIN)llvm-ar +*_CLANGDWARF_ARM_RC_PATH =3D ENV(CLANGDWARF_ARM_PREFIX)objcopy + +*_CLANGDWARF_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -fno-lto +*_CLANGDWARF_ARM_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_ARM_TARGET) DEF(GCC= _ARM_ASLDLINK_FLAGS) +*_CLANGDWARF_ARM_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_= ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments +*_CLANGDWARF_ARM_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,-= -defsym=3DPECOFF_HEADER_SIZE=3D0x220 +*_CLANGDWARF_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a +*_CLANGDWARF_ARM_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_A= RM_TARGET) $(PLATFORM_FLAGS) +*_CLANGDWARF_ARM_RC_FLAGS =3D DEF(GCC_ARM_RC_FLAGS) +*_CLANGDWARF_ARM_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWAR= F_ARM_TARGET) $(PLATFORM_FLAGS) +*_CLANGDWARF_ARM_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWAR= F_ARM_TARGET) +*_CLANGDWARF_ARM_CC_XIPFLAGS =3D DEF(GCC_ARM_CC_XIPFLAGS) + + DEBUG_CLANGDWARF_ARM_CC_FLAGS =3D DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLA= TFORM_FLAGS) -flto -O1 + DEBUG_CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_DLINK_FLAGS) -f= lto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt= =3D-pass-through=3D-llto-arm + NOOPT_CLANGDWARF_ARM_CC_FLAGS =3D DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLA= TFORM_FLAGS) -O0 + NOOPT_CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_DLINK_FLAGS) +RELEASE_CLANGDWARF_ARM_CC_FLAGS =3D DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLA= TFORM_FLAGS) -flto -O3 +RELEASE_CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_DLINK_FLAGS) -f= lto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt= =3D-pass-through=3D-llto-arm =20 ################## -# CLANG38 AARCH64 definitions +# CLANGDWARF AARCH64 definitions ################## -DEFINE CLANG38_AARCH64_TARGET =3D -target aarch64-linux-gnu -DEFINE CLANG38_AARCH64_CC_FLAGS =3D DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38= _AARCH64_TARGET) -mcmodel=3Dsmall DEF(CLANG38_WARNING_OVERRIDES) -DEFINE CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_TARGET) DEF(GC= C_AARCH64_DLINK_FLAGS) -z common-page-size=3D0x1000 - -*_CLANG38_AARCH64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) -*_CLANG38_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -*_CLANG38_AARCH64_APP_FLAGS =3D -*_CLANG38_AARCH64_ASL_FLAGS =3D DEF(IASL_FLAGS) -*_CLANG38_AARCH64_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) -*_CLANG38_AARCH64_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) - -*_CLANG38_AARCH64_CC_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASM_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_PP_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_VFRPP_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASLCC_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASLPP_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_DLINK_PATH =3D ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASLDLINK_PATH =3D ENV(CLANG38_BIN)clang - -*_CLANG38_AARCH64_SLINK_PATH =3D ENV(CLANG38_BIN)llvm-ar -*_CLANG38_AARCH64_RC_PATH =3D ENV(CLANG38_AARCH64_PREFIX)objcopy - -*_CLANG38_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -fno-lto -*_CLANG38_AARCH64_ASLDLINK_FLAGS =3D DEF(CLANG38_AARCH64_TARGET) DEF(GCC_A= ARCH64_ASLDLINK_FLAGS) -*_CLANG38_AARCH64_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH6= 4_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments -*_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_TARGET) DEF(GCC_A= ARCH64_DLINK_FLAGS) -z common-page-size=3D0x1000 -*_CLANG38_AARCH64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x20 -*_CLANG38_AARCH64_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--de= fsym=3DPECOFF_HEADER_SIZE=3D0x228 -*_CLANG38_AARCH64_PLATFORM_FLAGS =3D -*_CLANG38_AARCH64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64= _TARGET) $(PLATFORM_FLAGS) -*_CLANG38_AARCH64_RC_FLAGS =3D DEF(GCC_AARCH64_RC_FLAGS) -*_CLANG38_AARCH64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARC= H64_TARGET) $(PLATFORM_FLAGS) -*_CLANG38_AARCH64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARC= H64_TARGET) -*_CLANG38_AARCH64_CC_XIPFLAGS =3D DEF(GCC_AARCH64_CC_XIPFLAGS) - - DEBUG_CLANG38_AARCH64_CC_FLAGS =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(PL= ATFORM_FLAGS) -flto -O1 - DEBUG_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS) -= flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin= -opt=3D-pass-through=3D-llto-aarch64 - NOOPT_CLANG38_AARCH64_CC_FLAGS =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(PL= ATFORM_FLAGS) -O0 - NOOPT_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS) -RELEASE_CLANG38_AARCH64_CC_FLAGS =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(PL= ATFORM_FLAGS) -flto -O3 -RELEASE_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS) -= flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin= -opt=3D-pass-through=3D-llto-aarch64 +DEFINE CLANGDWARF_AARCH64_TARGET =3D -target aarch64-linux-gnu +DEFINE CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(GCC_AARCH64_CC_FLAGS) DEF(CLAN= GDWARF_AARCH64_TARGET) -mcmodel=3Dsmall DEF(CLANGDWARF_WARNING_OVERRIDES) +DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_TARGET) = DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=3D0x1000 + +*_CLANGDWARF_AARCH64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) +*_CLANGDWARF_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) +*_CLANGDWARF_AARCH64_APP_FLAGS =3D +*_CLANGDWARF_AARCH64_ASL_FLAGS =3D DEF(IASL_FLAGS) +*_CLANGDWARF_AARCH64_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_CLANGDWARF_AARCH64_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) + +*_CLANGDWARF_AARCH64_CC_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_ASM_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_PP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_VFRPP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_ASLCC_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_ASLPP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_DLINK_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_AARCH64_ASLDLINK_PATH =3D ENV(CLANGDWARF_BIN)clang + +*_CLANGDWARF_AARCH64_SLINK_PATH =3D ENV(CLANGDWARF_BIN)llvm-ar +*_CLANGDWARF_AARCH64_RC_PATH =3D ENV(CLANGDWARF_AARCH64_PREFIX)objc= opy + +*_CLANGDWARF_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -fno-lto +*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_TARGET) DEF= (GCC_AARCH64_ASLDLINK_FLAGS) +*_CLANGDWARF_AARCH64_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_= AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments +*_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_TARGET) DEF= (GCC_AARCH64_DLINK_FLAGS) -z common-page-size=3D0x1000 +*_CLANGDWARF_AARCH64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x20 +*_CLANGDWARF_AARCH64_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,-= -defsym=3DPECOFF_HEADER_SIZE=3D0x228 +*_CLANGDWARF_AARCH64_PLATFORM_FLAGS =3D +*_CLANGDWARF_AARCH64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_A= ARCH64_TARGET) $(PLATFORM_FLAGS) +*_CLANGDWARF_AARCH64_RC_FLAGS =3D DEF(GCC_AARCH64_RC_FLAGS) +*_CLANGDWARF_AARCH64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWAR= F_AARCH64_TARGET) $(PLATFORM_FLAGS) +*_CLANGDWARF_AARCH64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWAR= F_AARCH64_TARGET) +*_CLANGDWARF_AARCH64_CC_XIPFLAGS =3D DEF(GCC_AARCH64_CC_XIPFLAGS) + + DEBUG_CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(CLANGDWARF_AARCH64_CC_FLAGS= ) $(PLATFORM_FLAGS) -flto -O1 + DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_FL= AGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-= plugin-opt=3D-pass-through=3D-llto-aarch64 + NOOPT_CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(CLANGDWARF_AARCH64_CC_FLAGS= ) $(PLATFORM_FLAGS) -O0 + NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_FL= AGS) +RELEASE_CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(CLANGDWARF_AARCH64_CC_FLAGS= ) $(PLATFORM_FLAGS) -flto -O3 +RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_FL= AGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-= plugin-opt=3D-pass-through=3D-llto-aarch64 =20 ##########################################################################= ########## # @@ -2845,106 +2834,6 @@ NOOPT_CLANGPDB_X64_DLINK_FLAGS =3D /NOLOGO /NO= DEFAULTLIB /IGNORE:4001 /OPT:RE NOOPT_CLANGPDB_X64_DLINK2_FLAGS =3D NOOPT_CLANGPDB_X64_GENFW_FLAGS =3D --keepexceptiontable =20 -##########################################################################= ########## -# -# CLANGDWARF - This configuration is used to compile under Windows/Linux/M= ac to produce -# ELF binaries using LLVM/Clang/LLD with Link Time Optimization enabled -# -##########################################################################= ########## -*_CLANGDWARF_*_*_FAMILY =3D GCC -*_CLANGDWARF_*_*_BUILDRULEFAMILY =3D CLANGGCC -*_CLANGDWARF_*_MAKE_PATH =3D ENV(CLANG_HOST_BIN)make -*_CLANGDWARF_*_*_DLL =3D ENV(CLANGDWARF_DLL) -*_CLANGDWARF_*_ASL_PATH =3D DEF(UNIX_IASL_BIN) - -*_CLANGDWARF_*_APP_FLAGS =3D -*_CLANGDWARF_*_ASL_FLAGS =3D DEF(IASL_FLAGS) -*_CLANGDWARF_*_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) - -DEFINE CLANGDWARF_IA32_PREFIX =3D ENV(CLANG_BIN) -DEFINE CLANGDWARF_X64_PREFIX =3D ENV(CLANG_BIN) - -# LLVM/CLANG doesn't support -n link option. So, it can't share the same I= A32_X64_DLINK_COMMON flag. -# LLVM/CLANG doesn't support common page size. So, it can't share the same= GccBase.lds script. -DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON =3D -nostdlib -Wl,-q,--gc-sectio= ns -z max-page-size=3D0x40 -DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON =3D -Wl,--script=3D$(EDK_TOOLS_P= ATH)/Scripts/ClangBase.lds -DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLIN= K_COMMON) -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0 DEF(CLANGDWARF_DLINK2_FLAGS= _COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable -DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLIN= K_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map= ,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -DEFINE CLANGDWARF_IA32_DLINK2_FLAGS =3D -Wl,--defsym=3DPECOFF_HEADER= _SIZE=3D0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) -DEFINE CLANGDWARF_X64_DLINK2_FLAGS =3D -Wl,--defsym=3DPECOFF_HEADER= _SIZE=3D0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) - -########################### -# CLANGDWARF IA32 definitions -########################### -*_CLANGDWARF_IA32_CC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_SLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)llvm= -ar -*_CLANGDWARF_IA32_DLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_ASLDLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_ASM_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_PP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_VFRPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_ASLCC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_ASLPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)clang -*_CLANGDWARF_IA32_RC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)llvm= -rc - -*_CLANGDWARF_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fno-= lto DEF(CLANG38_IA32_TARGET) -*_CLANGDWARF_IA32_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_ASLDLIN= K_FLAGS) -Wl,-m,elf_i386 -fuse-ld=3Dlld -*_CLANGDWARF_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -march= =3Di386 DEF(CLANG38_IA32_TARGET) -*_CLANGDWARF_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) -*_CLANGDWARF_IA32_OBJCOPY_FLAGS =3D -*_CLANGDWARF_IA32_NASM_FLAGS =3D -f elf32 -*_CLANGDWARF_IA32_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_I= A32_TARGET) -*_CLANGDWARF_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG3= 8_IA32_TARGET) -*_CLANGDWARF_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG3= 8_IA32_TARGET) - -DEBUG_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32 = -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -g -malign-double -DEBUG_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_F= LAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 -DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGDWARF_IA32_DLINK2_FLAG= S) -O3 -fuse-ld=3Dlld - -RELEASE_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32 = -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -malign-double -RELEASE_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_F= LAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 -RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGDWARF_IA32_DLINK2_FLAG= S) -O3 -fuse-ld=3Dlld - -NOOPT_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m32 = -O0 -march=3Di586 DEF(CLANG38_IA32_TARGET) -g -malign-double -NOOPT_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_F= LAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 -NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGDWARF_IA32_DLINK2_FLAG= S) -O0 -fuse-ld=3Dlld - -########################## -# CLANGDWARF X64 definitions -########################## -*_CLANGDWARF_X64_CC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_SLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)llvm-ar -*_CLANGDWARF_X64_DLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_ASLDLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_ASM_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_PP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_VFRPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_ASLCC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_ASLPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clang -*_CLANGDWARF_X64_RC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)llvm-rc - -*_CLANGDWARF_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno-l= to DEF(CLANG38_X64_TARGET) -*_CLANGDWARF_X64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_ASLDLINK= _FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=3Dlld -*_CLANGDWARF_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(CLA= NG38_X64_TARGET) -*_CLANGDWARF_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) -*_CLANGDWARF_X64_OBJCOPY_FLAGS =3D -*_CLANGDWARF_X64_NASM_FLAGS =3D -f elf64 -*_CLANGDWARF_X64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_X6= 4_TARGET) -*_CLANGDWARF_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38= _X64_TARGET) -*_CLANGDWARF_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38= _X64_TARGET) - -DEBUG_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "= -DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O= z -flto DEF(CLANG38_X64_TARGET) -g -DEBUG_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_FL= AGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mc= model=3Dsmall -Wl,--apply-dynamic-relocs -DEBUG_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAGS)= -O3 -fuse-ld=3Dlld - -RELEASE_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "= -DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O= z -flto DEF(CLANG38_X64_TARGET) -RELEASE_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_FL= AGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mc= model=3Dsmall -Wl,--apply-dynamic-relocs -RELEASE_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAGS)= -O3 -fuse-ld=3Dlld - -NOOPT_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "= -DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O= 0 DEF(CLANG38_X64_TARGET) -g -NOOPT_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_FL= AGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel= =3Dsmall -Wl,--apply-dynamic-relocs -NOOPT_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAGS)= -O0 -fuse-ld=3Dlld - # # # XCODE5 support --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101532): https://edk2.groups.io/g/devel/message/101532 Mute This Topic: https://groups.io/mt/97769546/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-