The ARMGCC and ARMLINUXGCC toolchains are specific to the ARM and AARCH64 architectures, and overlap with the toolchain configuration that is provided by the GCC44 - GCC49 toolchains, which are defined for all architectures.
To reduce the maintenance burden, and make it easier to keep these different architectures aligned, remove the ARMGCC and ARMLINUXGCC toolchains entirely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> --- BaseTools/Conf/build_rule.template | 16 +- BaseTools/Conf/tools_def.template | 200 -------------------- 2 files changed, 5 insertions(+), 211 deletions(-) diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 1035025b668c..3637ef47414e 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -134,7 +134,7 @@ # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} - <Command.ARMGCC, Command.ARMLINUXGCC, command.XCODE> + <Command.XCODE> "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} [C-Code-File.COMMON.IPF] @@ -258,7 +258,7 @@ <Command.RVCT> "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST) - <Command.RVCTCYGWIN, Command.ARMGCC, Command.ARMLINUXGCC> + <Command.RVCTCYGWIN> # $(OBJECT_FILES_LIST) has wrong paths for cygwin "$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES) @@ -282,9 +282,6 @@ "$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS) "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst} - <Command.ARMGCC, Command.ARMLINUXGCC> - "$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) --end-group $(DLINK2_FLAGS) - <Command.RVCT> "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS) @@ -312,9 +309,6 @@ <Command.GCC> "$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS) - <Command.ARMGCC, Command.ARMLINUXGCC> - "$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) --end-group $(DLINK2_FLAGS) - <Command.RVCT> "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS) @@ -333,7 +327,7 @@ <OutputFile> $(DEBUG_DIR)(+)$(MODULE_NAME).efi - <Command.MSFT, Command.INTEL, Command.RVCT, Command.ARMGCC, Command.ARMLINUXGCC> + <Command.MSFT, Command.INTEL, Command.RVCT> "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS) $(CP) ${dst} $(OUTPUT_DIR) $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi @@ -582,7 +576,7 @@ <OutputFile.MSFT, OutputFile.INTEL, OutputFile.GCC> $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib - <OutputFile.XCODE, OutputFile.RVCT, OutputFile.ARMGCC> + <OutputFile.XCODE, OutputFile.RVCT> $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc <Command.MSFT, Command.INTEL> @@ -593,7 +587,7 @@ "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS) "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst} - <Command.XCODE, Command.RVCT, Command.ARMGCC, Command.ARMLINUXGCC> + <Command.XCODE, Command.RVCT> GenFw -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 0c41c862af83..6e2d4909b9fc 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -633,18 +633,6 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G # Required to build platforms or ACPI tables: # Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from # http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi -# ARMGCC -unix- Requires: -# ARM None EABI GCC 4.6.0 -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads -# ARMLINUXGCC -unix- Requires: -# ARM Linux GNU EABI GCC 4.6.0 -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads # RVCT -win- Requires: # ARM C/C++ Compiler, 5.00 # Optional: @@ -6751,194 +6739,6 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F *_RVCTCYGWIN_ARM_VFRPP_PATH = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py *_RVCTCYGWIN_ARM_FROMELF_PATH = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py -#################################################################################### -# -# ARM EABI GCC (www.codesourcery.com) -# -#################################################################################### -# ARMGCC - ARM version of the GCC cross compiler - -*_ARMGCC_*_*_FAMILY = GCC -*_ARMGCC_*_*_BUILDRULEFAMILY = ARMGCC - -*_ARMGCC_*_MAKE_PATH = make -*_ARMGCC_*_MAKE_FLAGS = --no-print-directory - -################## -# ASL definitions -################## -*_ARMGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) -*_ARMGCC_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_ARMGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_ARMGCC_*_ASLPP_FLAGS = -x c -E -P -*_ARMGCC_*_ASLCC_FLAGS = -x c -*_ARMGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry ReferenceAcpiTable - -################## -# ARM definitions -################## - -*_ARMGCC_ARM_ASLCC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_ARM_ASLDLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_ARM_ASLPP_PATH = ENV(CROSS_COMPILE)gcc - -*_ARMGCC_ARM_CC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_ARM_SLINK_PATH = ENV(CROSS_COMPILE)ar -*_ARMGCC_ARM_DLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_ARM_ASM_PATH = ENV(CROSS_COMPILE)as -*_ARMGCC_ARM_PP_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_ARM_VFRPP_PATH = ENV(CROSS_COMPILE)gcc - -# -# Use default values, or override in DSC file -# -*_ARMGCC_ARM_ARCHCC_FLAGS = -*_ARMGCC_ARM_ARCHASM_FLAGS = -*_ARMGCC_ARM_ARCHDLINK_FLAGS = -*_ARMGCC_ARM_PLATFORM_FLAGS = -march=armv7-a - - DEBUG_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g -RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian - -*_ARMGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMGCC_ARM_SLINK_FLAGS = -rc -*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) --oformat=elf32-littlearm - - DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -O0 -RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -Wno-unused - -###################### -# AArch64 definitions -###################### -# AARCH64 64bit ARM Bare-metal GCC (ARM Architecture 64) - -*_ARMGCC_AARCH64_ASLCC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_AARCH64_ASLDLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_AARCH64_ASLPP_PATH = ENV(CROSS_COMPILE)gcc - -*_ARMGCC_AARCH64_CC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_AARCH64_SLINK_PATH = ENV(CROSS_COMPILE)ar -*_ARMGCC_AARCH64_DLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_AARCH64_ASM_PATH = ENV(CROSS_COMPILE)as -*_ARMGCC_AARCH64_PP_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_AARCH64_VFRPP_PATH = ENV(CROSS_COMPILE)gcc - -# -# Use default values, or override in DSC file -# -*_ARMGCC_AARCH64_ARCHCC_FLAGS = -*_ARMGCC_AARCH64_ARCHASM_FLAGS = -*_ARMGCC_AARCH64_ARCHDLINK_FLAGS = -*_ARMGCC_AARCH64_PLATFORM_FLAGS = - - DEBUG_ARMGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -g -RELEASE_ARMGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) - -*_ARMGCC_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMGCC_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMGCC_AARCH64_SLINK_FLAGS = -rc -*_ARMGCC_AARCH64_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) - - DEBUG_ARMGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -O0 -RELEASE_ARMGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable - -#################################################################################### -# -# ARM GNU/Linux GCC -# -#################################################################################### -# ARMLINUXGCC - ARM version of the GCC cross compiler - -*_ARMLINUXGCC_*_*_FAMILY = GCC -*_ARMLINUXGCC_*_*_BUILDRULEFAMILY = ARMLINUXGCC - -*_ARMLINUXGCC_*_MAKE_PATH = make -*_ARMLINUXGCC_*_MAKE_FLAGS = --no-print-directory - -################## -# ASL definitions -################## -*_ARMLINUXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) -*_ARMLINUXGCC_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_ARMLINUXGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_ARMLINUXGCC_*_ASLPP_FLAGS = -x c -E -P -*_ARMLINUXGCC_*_ASLCC_FLAGS = -x c -*_ARMLINUXGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry ReferenceAcpiTable - -################## -# ARM definitions -################## - -*_ARMLINUXGCC_ARM_ASLCC_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc -*_ARMLINUXGCC_ARM_ASLDLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ld -*_ARMLINUXGCC_ARM_ASLPP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc - -*_ARMLINUXGCC_ARM_CC_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc -*_ARMLINUXGCC_ARM_SLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ar -*_ARMLINUXGCC_ARM_DLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ld -*_ARMLINUXGCC_ARM_ASM_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-as -*_ARMLINUXGCC_ARM_PP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc -*_ARMLINUXGCC_ARM_VFRPP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc - -# -# Use default values, or override in DSC file -# -*_ARMLINUXGCC_ARM_ARCHCC_FLAGS = -*_ARMLINUXGCC_ARM_ARCHASM_FLAGS = -*_ARMLINUXGCC_ARM_ARCHDLINK_FLAGS = -*_ARMLINUXGCC_ARM_PLATFORM_FLAGS = -march=armv7-a - - DEBUG_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g -RELEASE_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian - -*_ARMLINUXGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMLINUXGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc -*_ARMLINUXGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) --oformat=elf32-littlearm - - DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mno-unaligned-access -O0 -RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mno-unaligned-access -Wno-unused-but-set-variable - -###################### -# AArch64 definitions -###################### -# AARCH64 64bit ARM GNU/Linux GCC (ARM Architecture 64) - -*_ARMLINUXGCC_AARCH64_ASLCC_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc -*_ARMLINUXGCC_AARCH64_ASLDLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ld -*_ARMLINUXGCC_AARCH64_ASLPP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc - -*_ARMLINUXGCC_AARCH64_CC_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc -*_ARMLINUXGCC_AARCH64_SLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ar -*_ARMLINUXGCC_AARCH64_DLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ld -*_ARMLINUXGCC_AARCH64_ASM_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-as -*_ARMLINUXGCC_AARCH64_PP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc -*_ARMLINUXGCC_AARCH64_VFRPP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc - -# -# Use default values, or override in DSC file -# -*_ARMLINUXGCC_AARCH64_ARCHCC_FLAGS = -*_ARMLINUXGCC_AARCH64_ARCHASM_FLAGS = -*_ARMLINUXGCC_AARCH64_ARCHDLINK_FLAGS = -*_ARMLINUXGCC_AARCH64_PLATFORM_FLAGS = - - DEBUG_ARMLINUXGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -g -RELEASE_ARMLINUXGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) - -*_ARMLINUXGCC_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMLINUXGCC_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMLINUXGCC_AARCH64_SLINK_FLAGS = -rc -*_ARMLINUXGCC_AARCH64_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) - - DEBUG_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -O0 -RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable - ################# # ASM 16 linker defintions ################# -- 1.9.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel