From 6ef394d429fd5f64bf81d65d71f28bf7c9afb914 Mon Sep 17 00:00:00 2001 From: Mikhail Krichanov Date: Wed, 22 Mar 2023 18:05:18 +0300 Subject: [PATCH] Conf: Removed CLANG35/38 toolchains. --- BaseTools/Conf/tools_def.template | 330 +++--------------------------- 1 file changed, 30 insertions(+), 300 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index f2cbf78de4..a4c9c16d26 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -296,20 +296,6 @@ DEFINE DTC_BIN = 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 targeting 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-gnueabi -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads # CLANGPDB -Linux, Windows, Mac- Requires: # Clang 9 or above from http://releases.llvm.org/ # Optional: @@ -2487,270 +2473,6 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = DEF(GCC_ALIGN) 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 -#################################################################################### -# -# CLANG35 - This configuration is used to compile under Linux to produce -# PE/COFF binaries using the clang compiler and assembler (v3.5 and up) -# and GNU linker -# -#################################################################################### -*_CLANG35_*_*_FAMILY = GCC - -*_CLANG35_*_MAKE_PATH = make -*_CLANG35_*_*_DLL = ENV(CLANG35_DLL) -*_CLANG35_*_ASL_PATH = DEF(UNIX_IASL_BIN) - -*_CLANG35_*_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_CLANG35_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_CLANG35_*_APP_FLAGS = -*_CLANG35_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_CLANG35_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_CLANG35_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) - -*_CLANG35_*_CC_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_ASM_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_PP_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_VFRPP_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_ASLCC_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_ASLPP_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_DLINK_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_ASLDLINK_PATH = ENV(CLANG35_BIN)clang -*_CLANG35_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) - -DEFINE CLANG35_ARM_TARGET = -target arm-linux-gnueabi -DEFINE CLANG35_AARCH64_TARGET = -target aarch64-linux-gnu - -DEFINE CLANG35_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -DEFINE CLANG35_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) -mkernel -Qunused-arguments DEF(CLANG35_ARM_TARGET) DEF(CLANG35_WARNING_OVERRIDES) -DEFINE CLANG35_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64_TARGET) -mcmodel=small DEF(CLANG35_WARNING_OVERRIDES) - -################## -# CLANG35 ARM definitions -################## -*_CLANG35_ARM_SLINK_PATH = ENV(CLANG35_ARM_PREFIX)ar -*_CLANG35_ARM_RC_PATH = ENV(CLANG35_ARM_PREFIX)objcopy - -*_CLANG35_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_CLANG35_ARM_ASLDLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS) -*_CLANG35_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) -march=armv7-a -mkernel -Qunused-arguments -*_CLANG35_ARM_DLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS) -*_CLANG35_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -*_CLANG35_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_ARM_TARGET) -march=armv7-a -mkernel -Qunused-arguments -*_CLANG35_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) -*_CLANG35_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_ARM_TARGET) -march=armv7-a -mkernel -Qunused-arguments -*_CLANG35_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_ARM_TARGET) -*_CLANG35_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) - - DEBUG_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) -O1 -RELEASE_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) -Oz - NOOPT_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) -O0 - -################## -# CLANG35 AARCH64 definitions -################## -*_CLANG35_AARCH64_SLINK_PATH = ENV(CLANG35_AARCH64_PREFIX)ar -*_CLANG35_AARCH64_RC_PATH = ENV(CLANG35_AARCH64_PREFIX)objcopy - -*_CLANG35_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_CLANG35_AARCH64_ASLDLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS) -*_CLANG35_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_AARCH64_TARGET) -Qunused-arguments -*_CLANG35_AARCH64_DLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) DEF(GCC_ALIGN) -*_CLANG35_AARCH64_DLINK_XIPFLAGS = DEF(GCC_ALIGN) -*_CLANG35_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -*_CLANG35_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_AARCH64_TARGET) -*_CLANG35_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) -*_CLANG35_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) -*_CLANG35_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) -*_CLANG35_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) - - DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) -O1 -RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) -Oz - NOOPT_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) -O0 - -#################################################################################### -# -# Clang 3.8 - This configuration is used to compile under Linux to produce -# PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization enabled -# -#################################################################################### -*_CLANG38_*_*_FAMILY = GCC -*_CLANG38_*_MAKE_PATH = make -*_CLANG38_*_*_DLL = ENV(CLANG38_DLL) -*_CLANG38_*_ASL_PATH = DEF(UNIX_IASL_BIN) - -*_CLANG38_*_APP_FLAGS = -*_CLANG38_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_CLANG38_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_CLANG38_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) -DEFINE CLANG38_IA32_PREFIX = ENV(CLANG38_BIN) -DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN) - -DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu -DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu - -DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference - -########################### -# CLANG38 IA32 definitions -########################### -*_CLANG38_IA32_OBJCOPY_PATH = objcopy -*_CLANG38_IA32_CC_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_SLINK_PATH = DEF(CLANG38_IA32_PREFIX)llvm-ar -*_CLANG38_IA32_DLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASLDLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASM_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_PP_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_VFRPP_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASLCC_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_ASLPP_PATH = DEF(CLANG38_IA32_PREFIX)clang -*_CLANG38_IA32_RC_PATH = objcopy - -*_CLANG38_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET) -*_CLANG38_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -*_CLANG38_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET) -*_CLANG38_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) -*_CLANG38_IA32_NASM_FLAGS = -f elf32 -DRODATA_SECTION_NAME=.rodata -*_CLANG38_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET) -*_CLANG38_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET) -*_CLANG38_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET) - -DEBUG_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double -DEBUG_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386 -DEBUG_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3 - -RELEASE_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -malign-double -RELEASE_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386 -RELEASE_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3 - -NOOPT_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double -NOOPT_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386 -NOOPT_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0 - -########################## -# CLANG38 X64 definitions -########################## -*_CLANG38_X64_OBJCOPY_PATH = objcopy -*_CLANG38_X64_CC_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_SLINK_PATH = DEF(CLANG38_X64_PREFIX)llvm-ar -*_CLANG38_X64_DLINK_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASLDLINK_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASM_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_PP_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_VFRPP_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASLCC_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_ASLPP_PATH = DEF(CLANG38_X64_PREFIX)clang -*_CLANG38_X64_RC_PATH = objcopy - -*_CLANG38_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET) -*_CLANG38_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -*_CLANG38_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET) -*_CLANG38_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) -*_CLANG38_X64_NASM_FLAGS = -f elf64 -DRODATA_SECTION_NAME=.rodata -*_CLANG38_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET) -*_CLANG38_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET) -*_CLANG38_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET) - -DEBUG_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g -DEBUG_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -DEBUG_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3 - -RELEASE_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -RELEASE_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -RELEASE_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3 - -NOOPT_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g -NOOPT_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -NOOPT_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0 - -################## -# CLANG38 ARM definitions -################## -DEFINE CLANG38_ARM_TARGET = -target arm-linux-gnueabi -DEFINE CLANG38_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt -DEFINE CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS) - -*_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_CLANG38_ARM_APP_FLAGS = -*_CLANG38_ARM_ASL_FLAGS = DEF(IASL_FLAGS) -*_CLANG38_ARM_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_CLANG38_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) - -*_CLANG38_ARM_CC_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASM_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_PP_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_VFRPP_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASLCC_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASLPP_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_DLINK_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_ARM_ASLDLINK_PATH = ENV(CLANG38_BIN)clang - -*_CLANG38_ARM_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar -*_CLANG38_ARM_RC_PATH = ENV(CLANG38_ARM_PREFIX)objcopy - -*_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto -*_CLANG38_ARM_ASLDLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS) -*_CLANG38_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) -march=armv7-a -Qunused-arguments -*_CLANG38_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -*_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) -march=armv7-a -*_CLANG38_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) -*_CLANG38_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) -march=armv7-a -*_CLANG38_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET) -*_CLANG38_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) - - DEBUG_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) -flto -O1 - DEBUG_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm - NOOPT_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) -O0 - NOOPT_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -RELEASE_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) -flto -O3 -RELEASE_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm - -################## -# CLANG38 AARCH64 definitions -################## -DEFINE CLANG38_AARCH64_TARGET = -target aarch64-linux-gnu -DEFINE CLANG38_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES) -DEFINE CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) DEF(GCC_ALIGN) - -*_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_CLANG38_AARCH64_APP_FLAGS = -*_CLANG38_AARCH64_ASL_FLAGS = DEF(IASL_FLAGS) -*_CLANG38_AARCH64_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_CLANG38_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) - -*_CLANG38_AARCH64_CC_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASM_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_PP_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_VFRPP_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASLCC_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASLPP_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_DLINK_PATH = ENV(CLANG38_BIN)clang -*_CLANG38_AARCH64_ASLDLINK_PATH = ENV(CLANG38_BIN)clang - -*_CLANG38_AARCH64_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar -*_CLANG38_AARCH64_RC_PATH = ENV(CLANG38_AARCH64_PREFIX)objcopy - -*_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto -*_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS) -*_CLANG38_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) -Qunused-arguments -*_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) DEF(GCC_ALIGN) -*_CLANG38_AARCH64_DLINK_XIPFLAGS = DEF(GCC_ALIGN) -*_CLANG38_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -*_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) -*_CLANG38_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) -*_CLANG38_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) -*_CLANG38_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) -*_CLANG38_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) - - DEBUG_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) -flto -O1 - DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 - NOOPT_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) -O0 - NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -RELEASE_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) -flto -O3 -RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 - #################################################################################### # # CLANGPDB - This configuration is used to compile under Windows/Linux/Mac to produce @@ -2862,12 +2584,22 @@ NOOPT_CLANGPDB_X64_GENFW_FLAGS = --keepexceptiontable *_CLANGDWARF_*_APP_FLAGS = *_CLANGDWARF_*_ASL_FLAGS = DEF(IASL_FLAGS) *_CLANGDWARF_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) +*_CLANGDWARF_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) +*_CLANGDWARF_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) + +DEFINE CLANGDWARF_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable +DEFINE CLANGDWARF_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference DEFINE CLANGDWARF_IA32_PREFIX = ENV(CLANG_BIN) DEFINE CLANGDWARF_X64_PREFIX = ENV(CLANG_BIN) DEFINE CLANGDWARF_ARM_PREFIX = ENV(CLANG_BIN) DEFINE CLANGDWARF_AARCH64_PREFIX = ENV(CLANG_BIN) +DEFINE CLANGDWARF_IA32_TARGET = -target i686-pc-linux-gnu +DEFINE CLANGDWARF_X64_TARGET = -target x86_64-pc-linux-gnu +DEFINE CLANGDWARF_ARM_TARGET = -target arm-linux-gnueabi +DEFINE CLANGDWARF_AARCH64_TARGET = -target aarch64-linux-gnu + # LLVM/CLANG doesn't support -n link option. So, it can't share the same IA32_X64_DLINK_COMMON flag. DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-q,--gc-sections DEF(GCC_ALIGN) -Wl,-z,notext,--defsym=ALIGNED_PE_HEADER_SIZE=0x400 DEF(DLINK_SCRIPT) DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable @@ -2889,30 +2621,30 @@ DEFINE CLANGDWARF_IA32_DLINK2_FLAGS = -no-pie *_CLANGDWARF_IA32_ASLPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang *_CLANGDWARF_IA32_RC_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-objcopy -*_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET) +*_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGDWARF_IA32_TARGET) *_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld -no-pie -*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET) +*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET) *_CLANGDWARF_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) *_CLANGDWARF_IA32_NASM_FLAGS = -f elf32 -DRODATA_SECTION_NAME=.rodata -*_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET) -*_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET) -*_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET) +*_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_IA32_TARGET) +*_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET) +*_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET) -DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -malign-double -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g -fno-pic -fno-pie +DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -malign-double -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -fno-pic -fno-pie DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -malign-double -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -fno-pic -fno-pie +RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -malign-double -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -fno-pic -fno-pie RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -malign-double -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g -fno-pic -fno-pie +NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -malign-double -O0 -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -fno-pic -fno-pie NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386 NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld -########################## +########################### # CLANGDWARF X64 definitions -########################## +########################### *_CLANGDWARF_X64_OBJCOPY_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-objcopy *_CLANGDWARF_X64_CC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang *_CLANGDWARF_X64_SLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-ar @@ -2925,32 +2657,31 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 - *_CLANGDWARF_X64_ASLPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang *_CLANGDWARF_X64_RC_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-objcopy -*_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET) +*_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGDWARF_X64_TARGET) *_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=lld -*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET) +*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET) *_CLANGDWARF_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) *_CLANGDWARF_X64_NASM_FLAGS = -f elf64 -DRODATA_SECTION_NAME=.rodata -*_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET) -*_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET) -*_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET) +*_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_X64_TARGET) +*_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_X64_TARGET) +*_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_X64_TARGET) -DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g +DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g DEBUG_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = -O3 -fuse-ld=lld -RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) +RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET) RELEASE_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = -O3 -fuse-ld=lld -NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g +NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANGDWARF_X64_TARGET) -g NOOPT_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = -O0 -fuse-ld=lld ################## # CLANGDWARF ARM definitions ################## -DEFINE CLANGDWARF_ARM_TARGET = -target arm-linux-gnueabi -DEFINE CLANGDWARF_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWARF_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt +DEFINE CLANGDWARF_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt DEFINE CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS) -fuse-ld=lld -Wl,--apply-dynamic-relocs *_CLANGDWARF_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) @@ -2992,8 +2723,7 @@ RELEASE_CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl, ################## # CLANGDWARF AARCH64 definitions ################## -DEFINE CLANGDWARF_AARCH64_TARGET = -target aarch64-linux-gnu -DEFINE CLANGDWARF_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES) +DEFINE CLANGDWARF_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) -mcmodel=small DEF(CLANGDWARF_WARNING_OVERRIDES) DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) DEF(GCC_ALIGN) -fuse-ld=lld -Wl,--apply-dynamic-relocs *_CLANGDWARF_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS)