From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by mx.groups.io with SMTP id smtpd.web11.40406.1679485772186957650 for ; Wed, 22 Mar 2023 04:49:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=oONXRQd/; spf=pass (domain: kernel.org, ip: 145.40.68.75, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 349CBB81C3E for ; Wed, 22 Mar 2023 11:49:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 101E6C433A7 for ; Wed, 22 Mar 2023 11:49:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1679485767; bh=EVu/uSbTss73kOcYd8vhGSAUiWr2h9asKVChDbaZiqg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=oONXRQd/5/U1wofYcoVvtrB2xVQ7ATZkyjrCTNbh4VBSYtMmUyMOA/g7cmt6kYHdB Aam47buhuwDxlrVj5fxAjbhx9f1CVUtpZvACym8P2CT8jZ7jNK1J5X2N/f++kiRQbx C06DVgR+3uRUiT2CD9qC/jXsPAjjRYueUPrPLVaKA9eDjVf3+OrhXRwt3VUzQb3Mlf imNiHgD7gtr8M0ARBu5XRu7ngUwuqTJ+zBtpaLCbXaWaKlbvL5U4Pm34OYGaSsC81r tOHbG6ZzauwvLiLAeBLS1uA1vueRtU7RfvGicCOgdriYhjNZLFKxJaqYnq6/gSKRay //pbpZeK/fzHA== Received: by mail-lj1-f171.google.com with SMTP id g18so18632838ljl.3 for ; Wed, 22 Mar 2023 04:49:26 -0700 (PDT) X-Gm-Message-State: AO0yUKW2kn5xkdnklfecJGSQXrT2espjxGhKa4wfB41DXF+YAL4fXIhY wLyOe92Txf22DXwYutItj+Pwts5pi5jJwAaIWpY= X-Google-Smtp-Source: AK7set/aeQXcj1cDYHwh+mZAChmpZSO2eIv7qHLiW/RGxR41f7iveuNqNzRjysjd4Iy2poC4vAdvQs2KEW7b9FcaWS8= X-Received: by 2002:a2e:9d41:0:b0:298:b375:acfc with SMTP id y1-20020a2e9d41000000b00298b375acfcmr1913387ljj.2.1679485764880; Wed, 22 Mar 2023 04:49:24 -0700 (PDT) MIME-Version: 1.0 References: <20230322013040.3322865-1-rebecca@bsdio.com> <20230322013040.3322865-4-rebecca@bsdio.com> In-Reply-To: <20230322013040.3322865-4-rebecca@bsdio.com> From: "Ard Biesheuvel" Date: Wed, 22 Mar 2023 12:49:13 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 3/9] BaseTools: Update CLANGDWARF toolchain and remove CLANG35 and CLANG38 To: Rebecca Cran Cc: 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 22 Mar 2023 at 02:30, Rebecca Cran wrote: > > 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/Libra= ry/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExce= ptionHandlerLib.lib(ExceptionHandlerAsm.obj) > >>> referenced by /home/bcran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDW= ARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandler= Lib/OUTPUT/X64/ExceptionHandlerAsm.iii > >>> ExceptionHandlerAsm.obj:(.text+0x5) in archive /home/bc= ran/src/uefi/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/C= puExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptio= nHandlerLib.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/Libra= ry/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExce= ptionHandlerLib.lib(ExceptionHandlerAsm.obj) > >>> referenced by edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Li= brary/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPUT/X64/Except= ionHandlerAsm.iii > >>> ExceptionHandlerAsm.obj:(.text+0x14) in archive edk2/Bu= ild/OvmfX64/RELEASE_CLANGDWARF/X64/UefiCpuPkg/Library/CpuExceptionHandlerLi= b/SecPeiCpuExceptionHandlerLib/OUTPUT/SecPeiCpuExceptionHandlerLib.lib > > To avoid this, use the default ld (which is normally GNU ld) instead. > The reason I added CLANG3x support for ARM in the past is to ensure compatibility with the ARM proprietary, Clang based toolchain. At the time, we went with GNU ld, but I would actually prefer if we could make this work with LLD as well. I can work around this issue locally by doing --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -297,7 +297,7 @@ PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAlloc= ationLib.inf -!if $(TOOL_CHAIN_TAG) =3D=3D "XCODE5" +!if $(TOOL_CHAIN_TAG) =3D=3D "XCODE5" || $(TOOL_CHAIN_TAG) =3D=3D "CLANGDW= ARF" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= ecPeiCpuExceptionHandlerLib.inf !else Can you please check whether this works for you as well? > 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= .template > 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)d= tc > # 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 targ= eting 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 binuti= ls 2.26 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi > -# Clang v3.9 or later, LLVMgold plugin and G= NU binutils 2.28 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux= -gnueabi > +# CLANGDWARF -Linux- Requires: > +# Clang 9 or above, and GNU binutils targeti= ng 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= .org/ > # 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= .org/ > -# 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 Devel= opment Kit (Microsoft WINDDK) version 3790.1830 > @@ -2565,187 +2554,187 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS =3D DEF(CLANG3= 5_AARCH64_CC_FLAGS) $(PLATFORM_FLAG > # PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization ena= bled > # > ########################################################################= ############ > -*_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) > > -*_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) > > -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 > > -DEFINE CLANG38_WARNING_OVERRIDES =3D -Wno-parentheses-equality -Wno-t= autological-compare -Wno-tautological-constant-out-of-range-compare -Wno-em= pty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-optio= n -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-ac= cess > -DEFINE CLANG38_ALL_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) DEF(CLAN= G38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wn= o-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redec= laration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mn= o-implicit-float -ftrap-function=3Dundefined_behavior_has_been_optimized_a= way_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference > +DEFINE CLANGDWARF_WARNING_OVERRIDES =3D -Wno-parentheses-equality -Wn= o-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno= -empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-op= tion -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned= -access > +DEFINE CLANGDWARF_ALL_CC_FLAGS =3D DEF(GCC48_ALL_CC_FLAGS) DEF(C= LANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-addre= ss -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library= -redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-flo= at -mno-implicit-float -ftrap-function=3Dundefined_behavior_has_been_optim= ized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference > > ########################### > -# 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-l= to 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= =3Di386 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_IA= 32_TARGET) > -*_CLANG38_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38= _IA32_TARGET) > -*_CLANG38_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38= _IA32_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) -= flto -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) -= flto -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)cl= ang > +*_CLANGDWARF_IA32_SLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)ll= vm-ar > +*_CLANGDWARF_IA32_DLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_ASLDLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_ASM_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_PP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_VFRPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_ASLCC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_ASLPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > +*_CLANGDWARF_IA32_RC_PATH =3D objcopy > + > +*_CLANGDWARF_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fn= o-lto DEF(CLANGDWARF_IA32_TARGET) > +*_CLANGDWARF_IA32_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FL= AGS) -Wl,-m,elf_i386 > +*_CLANGDWARF_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -mar= ch=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(CLANGDW= ARF_IA32_TARGET) > +*_CLANGDWARF_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLAN= GDWARF_IA32_TARGET) > +*_CLANGDWARF_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLAN= GDWARF_IA32_TARGET) > + > +DEBUG_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) = -m32 -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) = -m32 -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) = -m32 -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 > > ########################## > -# 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-lt= o 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(CLAN= G38_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= _TARGET) > -*_CLANG38_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_= X64_TARGET) > -*_CLANG38_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_= X64_TARGET) > - > -DEBUG_CLANG38_X64_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m64 "-= DEFIAPI=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) -f= lto -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 "-= DEFIAPI=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) -f= lto -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 "-= DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fpie -O0= DEF(CLANG38_X64_TARGET) -g > -NOOPT_CLANG38_X64_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -W= l,-O0 -Wl,-melf_x86_64 -Wl,--oformat=3Delf64-x86-64 -Wl,-pie -mcmodel=3Dsma= ll > -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)clan= g > +*_CLANGDWARF_X64_SLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)llvm= -ar > +*_CLANGDWARF_X64_DLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_ASLDLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_ASM_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_PP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_VFRPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_ASLCC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_ASLPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > +*_CLANGDWARF_X64_RC_PATH =3D objcopy > + > +*_CLANGDWARF_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno= -lto DEF(CLANGDWARF_X64_TARGET) > +*_CLANGDWARF_X64_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLA= GS) -Wl,-m,elf_x86_64 > +*_CLANGDWARF_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(C= LANGDWARF_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(CLANGDWA= RF_X64_TARGET) > +*_CLANGDWARF_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG= DWARF_X64_TARGET) > +*_CLANGDWARF_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG= DWARF_X64_TARGET) > + > +DEBUG_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -= m64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fp= ie -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 -mcmo= del=3Dsmall > +DEBUG_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 > + > +RELEASE_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -= m64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fp= ie -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 -mcmo= del=3Dsmall > +RELEASE_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O3 > + > +NOOPT_CLANGDWARF_X64_CC_FLAGS =3D DEF(CLANGDWARF_ALL_CC_FLAGS) -= m64 "-DEFIAPI=3D__attribute__((ms_abi))" -mno-red-zone -mcmodel=3Dsmall -fp= ie -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 -mcmo= del=3Dsmall > +NOOPT_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) -O0 > > ################## > -# 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_A= RM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt > -DEFINE CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM= _DLINK_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= _ASLDLINK_FLAGS) > -*_CLANG38_ARM_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_= TARGET) $(PLATFORM_FLAGS) -Qunused-arguments > -*_CLANG38_ARM_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--= defsym=3DPECOFF_HEADER_SIZE=3D0x220 > -*_CLANG38_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a > -*_CLANG38_ARM_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_T= ARGET) $(PLATFORM_FLAGS) > -*_CLANG38_ARM_RC_FLAGS =3D DEF(GCC_ARM_RC_FLAGS) > -*_CLANG38_ARM_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AR= M_TARGET) $(PLATFORM_FLAGS) > -*_CLANG38_ARM_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AR= M_TARGET) > -*_CLANG38_ARM_CC_XIPFLAGS =3D DEF(GCC_ARM_CC_XIPFLAGS) > - > - DEBUG_CLANG38_ARM_CC_FLAGS =3D DEF(CLANG38_ARM_CC_FLAGS) $(PLATFOR= M_FLAGS) -flto -O1 > - DEBUG_CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto = -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-p= ass-through=3D-llto-arm > - NOOPT_CLANG38_ARM_CC_FLAGS =3D DEF(CLANG38_ARM_CC_FLAGS) $(PLATFOR= M_FLAGS) -O0 > - NOOPT_CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_DLINK_FLAGS) > -RELEASE_CLANG38_ARM_CC_FLAGS =3D DEF(CLANG38_ARM_CC_FLAGS) $(PLATFOR= M_FLAGS) -flto -O3 > -RELEASE_CLANG38_ARM_DLINK_FLAGS =3D DEF(CLANG38_ARM_DLINK_FLAGS) -flto = -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=3D-p= ass-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(CLANGD= WARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt > +DEFINE CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_TARGET) DEF(G= CC_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)objcop= y > + > +*_CLANGDWARF_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -fno-lto > +*_CLANGDWARF_ARM_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_ARM_TARGET) DEF(G= CC_ARM_ASLDLINK_FLAGS) > +*_CLANGDWARF_ARM_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANGDWAR= F_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= _ARM_TARGET) $(PLATFORM_FLAGS) > +*_CLANGDWARF_ARM_RC_FLAGS =3D DEF(GCC_ARM_RC_FLAGS) > +*_CLANGDWARF_ARM_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGDW= ARF_ARM_TARGET) $(PLATFORM_FLAGS) > +*_CLANGDWARF_ARM_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGDW= ARF_ARM_TARGET) > +*_CLANGDWARF_ARM_CC_XIPFLAGS =3D DEF(GCC_ARM_CC_XIPFLAGS) > + > + DEBUG_CLANGDWARF_ARM_CC_FLAGS =3D DEF(CLANGDWARF_ARM_CC_FLAGS) $(P= LATFORM_FLAGS) -flto -O1 > + DEBUG_CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_DLINK_FLAGS) = -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-op= t=3D-pass-through=3D-llto-arm > + NOOPT_CLANGDWARF_ARM_CC_FLAGS =3D DEF(CLANGDWARF_ARM_CC_FLAGS) $(P= LATFORM_FLAGS) -O0 > + NOOPT_CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_DLINK_FLAGS) > +RELEASE_CLANGDWARF_ARM_CC_FLAGS =3D DEF(CLANGDWARF_ARM_CC_FLAGS) $(P= LATFORM_FLAGS) -flto -O3 > +RELEASE_CLANGDWARF_ARM_DLINK_FLAGS =3D DEF(CLANGDWARF_ARM_DLINK_FLAGS) = -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-op= t=3D-pass-through=3D-llto-arm > > ################## > -# 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(CLANG= 38_AARCH64_TARGET) -mcmodel=3Dsmall DEF(CLANG38_WARNING_OVERRIDES) > -DEFINE CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_TARGET) DEF(= GCC_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= _AARCH64_ASLDLINK_FLAGS) > -*_CLANG38_AARCH64_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARC= H64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments > -*_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_TARGET) DEF(GCC= _AARCH64_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,--= defsym=3DPECOFF_HEADER_SIZE=3D0x228 > -*_CLANG38_AARCH64_PLATFORM_FLAGS =3D > -*_CLANG38_AARCH64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH= 64_TARGET) $(PLATFORM_FLAGS) > -*_CLANG38_AARCH64_RC_FLAGS =3D DEF(GCC_AARCH64_RC_FLAGS) > -*_CLANG38_AARCH64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AA= RCH64_TARGET) $(PLATFORM_FLAGS) > -*_CLANG38_AARCH64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AA= RCH64_TARGET) > -*_CLANG38_AARCH64_CC_XIPFLAGS =3D DEF(GCC_AARCH64_CC_XIPFLAGS) > - > - DEBUG_CLANG38_AARCH64_CC_FLAGS =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(= PLATFORM_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,-plug= in-opt=3D-pass-through=3D-llto-aarch64 > - NOOPT_CLANG38_AARCH64_CC_FLAGS =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(= PLATFORM_FLAGS) -O0 > - NOOPT_CLANG38_AARCH64_DLINK_FLAGS =3D DEF(CLANG38_AARCH64_DLINK_FLAGS) > -RELEASE_CLANG38_AARCH64_CC_FLAGS =3D DEF(CLANG38_AARCH64_CC_FLAGS) $(= PLATFORM_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,-plug= in-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(CL= ANGDWARF_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)ob= jcopy > + > +*_CLANGDWARF_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -fno-lto > +*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_TARGET) D= EF(GCC_AARCH64_ASLDLINK_FLAGS) > +*_CLANGDWARF_AARCH64_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANGDWAR= F_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments > +*_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_TARGET) D= EF(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= _AARCH64_TARGET) $(PLATFORM_FLAGS) > +*_CLANGDWARF_AARCH64_RC_FLAGS =3D DEF(GCC_AARCH64_RC_FLAGS) > +*_CLANGDWARF_AARCH64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGDW= ARF_AARCH64_TARGET) $(PLATFORM_FLAGS) > +*_CLANGDWARF_AARCH64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGDW= ARF_AARCH64_TARGET) > +*_CLANGDWARF_AARCH64_CC_XIPFLAGS =3D DEF(GCC_AARCH64_CC_XIPFLAGS) > + > + DEBUG_CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(CLANGDWARF_AARCH64_CC_FLA= GS) $(PLATFORM_FLAGS) -flto -O1 > + DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_= FLAGS) -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_FLA= GS) $(PLATFORM_FLAGS) -O0 > + NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_= FLAGS) > +RELEASE_CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(CLANGDWARF_AARCH64_CC_FLA= GS) $(PLATFORM_FLAGS) -flto -O3 > +RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_= FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl= ,-plugin-opt=3D-pass-through=3D-llto-aarch64 > > ########################################################################= ############ > # > @@ -2845,106 +2834,6 @@ NOOPT_CLANGPDB_X64_DLINK_FLAGS =3D /NOLOGO /= NODEFAULTLIB /IGNORE:4001 /OPT:RE > NOOPT_CLANGPDB_X64_DLINK2_FLAGS =3D > NOOPT_CLANGPDB_X64_GENFW_FLAGS =3D --keepexceptiontable > > -########################################################################= ############ > -# > -# CLANGDWARF - This configuration is used to compile under Windows/Linux= /Mac 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= IA32_X64_DLINK_COMMON flag. > -# LLVM/CLANG doesn't support common page size. So, it can't share the sa= me GccBase.lds script. > -DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON =3D -nostdlib -Wl,-q,--gc-sect= ions -z max-page-size=3D0x40 > -DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON =3D -Wl,--script=3D$(EDK_TOOLS= _PATH)/Scripts/ClangBase.lds > -DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DL= INK_COMMON) -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0 DEF(CLANGDWARF_DLINK2_FLA= GS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable > -DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DL= INK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-M= ap,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive > -DEFINE CLANGDWARF_IA32_DLINK2_FLAGS =3D -Wl,--defsym=3DPECOFF_HEAD= ER_SIZE=3D0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) > -DEFINE CLANGDWARF_X64_DLINK2_FLAGS =3D -Wl,--defsym=3DPECOFF_HEAD= ER_SIZE=3D0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) > - > -########################### > -# CLANGDWARF IA32 definitions > -########################### > -*_CLANGDWARF_IA32_CC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_SLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)ll= vm-ar > -*_CLANGDWARF_IA32_DLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_ASLDLINK_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_ASM_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_PP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_VFRPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_ASLCC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_ASLPP_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)cl= ang > -*_CLANGDWARF_IA32_RC_PATH =3D DEF(CLANGDWARF_IA32_PREFIX)ll= vm-rc > - > -*_CLANGDWARF_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fn= o-lto DEF(CLANG38_IA32_TARGET) > -*_CLANGDWARF_IA32_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_ASLDL= INK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=3Dlld > -*_CLANGDWARF_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -mar= ch=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= _IA32_TARGET) > -*_CLANGDWARF_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLAN= G38_IA32_TARGET) > -*_CLANGDWARF_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLAN= G38_IA32_TARGET) > - > -DEBUG_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m3= 2 -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -g -malign-double > -DEBUG_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK= _FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 > -DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGDWARF_IA32_DLINK2_FL= AGS) -O3 -fuse-ld=3Dlld > - > -RELEASE_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m3= 2 -Oz -flto -march=3Di586 DEF(CLANG38_IA32_TARGET) -malign-double > -RELEASE_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK= _FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 > -RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGDWARF_IA32_DLINK2_FL= AGS) -O3 -fuse-ld=3Dlld > - > -NOOPT_CLANGDWARF_IA32_CC_FLAGS =3D DEF(CLANG38_ALL_CC_FLAGS) -m3= 2 -O0 -march=3Di586 DEF(CLANG38_IA32_TARGET) -g -malign-double > -NOOPT_CLANGDWARF_IA32_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK= _FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 > -NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGDWARF_IA32_DLINK2_FL= AGS) -O0 -fuse-ld=3Dlld > - > -########################## > -# CLANGDWARF X64 definitions > -########################## > -*_CLANGDWARF_X64_CC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_SLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)llvm= -ar > -*_CLANGDWARF_X64_DLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_ASLDLINK_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_ASM_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_PP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_VFRPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_ASLCC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_ASLPP_PATH =3D DEF(CLANGDWARF_X64_PREFIX)clan= g > -*_CLANGDWARF_X64_RC_PATH =3D DEF(CLANGDWARF_X64_PREFIX)llvm= -rc > - > -*_CLANGDWARF_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno= -lto DEF(CLANG38_X64_TARGET) > -*_CLANGDWARF_X64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_ASLDLI= NK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=3Dlld > -*_CLANGDWARF_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(C= LANG38_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_= X64_TARGET) > -*_CLANGDWARF_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG= 38_X64_TARGET) > -*_CLANGDWARF_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG= 38_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 = -Oz -flto DEF(CLANG38_X64_TARGET) -g > -DEBUG_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_= FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -= mcmodel=3Dsmall -Wl,--apply-dynamic-relocs > -DEBUG_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAG= S) -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 = -Oz -flto DEF(CLANG38_X64_TARGET) > -RELEASE_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_= FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -= mcmodel=3Dsmall -Wl,--apply-dynamic-relocs > -RELEASE_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAG= S) -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 = -O0 DEF(CLANG38_X64_TARGET) -g > -NOOPT_CLANGDWARF_X64_DLINK_FLAGS =3D DEF(CLANGDWARF_IA32_X64_DLINK_= FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmode= l=3Dsmall -Wl,--apply-dynamic-relocs > -NOOPT_CLANGDWARF_X64_DLINK2_FLAGS =3D DEF(CLANGDWARF_X64_DLINK2_FLAG= S) -O0 -fuse-ld=3Dlld > - > # > # > # XCODE5 support > -- > 2.34.1 >