payloads/external/edk2: Drop our toolchain override
It's no longer maintained here other than to address specific issues, and it prevents us from benefiting from upstream changes. Already, switching to the GCC toolchain saves 5-10 KiB. Use the GCC toolchain over the backwards-compatible GCC5 one, since the latter is being deprecated, and the former landed a few years ago, in edk2-stable202305. Change-Id: I47e47592ea29f5a09790b284378f28385faf29f9 Signed-off-by: Benjamin Doron <benjamin.doron@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/88429 Reviewed-by: Sean Rhodes <sean@starlabs.systems> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
8d9e18a122
commit
9e5234feee
2 changed files with 7 additions and 194 deletions
18
payloads/external/edk2/Makefile
vendored
18
payloads/external/edk2/Makefile
vendored
|
|
@ -29,7 +29,7 @@ OBJCOPY = $(GCC_PREFIX)objcopy
|
|||
ifeq ($(CONFIG_EDK2_UEFIPAYLOAD),y)
|
||||
BUILD_STR += -p UefiPayloadPkg/UefiPayloadPkg.dsc
|
||||
endif
|
||||
BUILD_STR += -t COREBOOT
|
||||
BUILD_STR += -t GCC
|
||||
BUILD_STR += -D BOOTLOADER=COREBOOT
|
||||
ifneq ($(V),1)
|
||||
BUILD_STR += -q
|
||||
|
|
@ -285,12 +285,8 @@ prep: $(EDK2_PATH) $(EDK2_PLATFORMS_PATH) clean checktools logo gop_driver
|
|||
cd $(WORKSPACE); \
|
||||
source $(EDK2_PATH)/edksetup.sh; \
|
||||
unset CC; $(MAKE) -C $(EDK2_PATH)/BaseTools 2>&1; \
|
||||
grep -q "COREBOOT" $(EDK2_PATH)/Conf/tools_def.txt; \
|
||||
if [ $$? -ne 0 ]; then \
|
||||
cat ../tools_def.txt >> $(EDK2_PATH)/Conf/tools_def.txt; \
|
||||
fi; \
|
||||
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/FV/UEFIPAYLOAD.fd: \
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd: \
|
||||
prep print
|
||||
cd $(WORKSPACE); \
|
||||
source $(EDK2_PATH)/edksetup.sh; \
|
||||
|
|
@ -315,7 +311,7 @@ $(WORKSPACE)/Build/UefiPayloadPkgX64/UniversalPayload.elf: \
|
|||
fi
|
||||
echo "Success!"; \
|
||||
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll: \
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll: \
|
||||
$(WORKSPACE)/Build/UefiPayloadPkgX64/UniversalPayload.elf prep
|
||||
cd $(WORKSPACE)/Build/UefiPayloadPkgX64 && \
|
||||
$(OBJCOPY) -I binary UniversalPayload.elf -O elf32-i386 -B i386 \
|
||||
|
|
@ -327,12 +323,12 @@ $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg
|
|||
-t COREBOOT -D BOOTLOADER=COREBOOT -D SHIMLAYER=TRUE \
|
||||
-y $(WORKSPACE)/Build/UefiPayloadPkgX64/ShimLayer.txt
|
||||
|
||||
UefiPayloadPkg: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/FV/UEFIPAYLOAD.fd
|
||||
mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/FV/UEFIPAYLOAD.fd \
|
||||
UefiPayloadPkg: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd
|
||||
mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/FV/UEFIPAYLOAD.fd \
|
||||
../../../build/UEFIPAYLOAD.fd
|
||||
|
||||
UniversalPayload: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll
|
||||
mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_COREBOOT/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll \
|
||||
UniversalPayload: $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll
|
||||
mv $(WORKSPACE)/Build/UefiPayloadPkgX64/$(RELEASE_STR)_GCC/IA32/UefiPayloadPkg/ShimLayer/ShimLayer/DEBUG/ShimLayer.dll \
|
||||
../../../build/ShimmedUniversalPayload.elf
|
||||
|
||||
clean:
|
||||
|
|
|
|||
183
payloads/external/edk2/tools_def.txt
vendored
183
payloads/external/edk2/tools_def.txt
vendored
|
|
@ -1,183 +0,0 @@
|
|||
#
|
||||
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
# Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
|
||||
# Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
|
||||
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
|
||||
#The following has been adapted from the BaseTools/Conf/tools_def.template file
|
||||
#and is used to direct the edk2 build to use coreboot's crossgcc toolchain
|
||||
#rather than the host machine's toolchain
|
||||
|
||||
DEFINE COREBOOT_IA32_PREFIX = ENV(GCC_CC_x86_32)
|
||||
DEFINE COREBOOT_X64_PREFIX = ENV(GCC_CC_x86_64)
|
||||
DEFINE COREBOOT_ARM_PREFIX = ENV(GCC_CC_arm)
|
||||
DEFINE COREBOOT_ARM64_PREFIX = ENV(GCC_CC_arm64)
|
||||
|
||||
DEFINE COREBOOT_IA32_OBJCOPY = ENV(OBJCOPY_x86_32)
|
||||
DEFINE COREBOOT_X64_OBJCOPY = ENV(OBJCOPY_x86_64)
|
||||
DEFINE COREBOOT_ARM_OBJCOPY = ENV(OBJCOPY_arm)
|
||||
DEFINE COREBOOT_ARM64_OBJCOPY = ENV(OBJCOPY_arm64)
|
||||
|
||||
####################################################################################
|
||||
#
|
||||
# COREBOOT - This configuration is used to compile under Linux to produce
|
||||
# PE/COFF binaries using coreboot's toolchain.
|
||||
#
|
||||
##################################################################################
|
||||
|
||||
*_COREBOOT_*_*_FAMILY = GCC
|
||||
|
||||
*_COREBOOT_*_MAKE_PATH = make
|
||||
*_COREBOOT_*_*_DLL = ENV(GCC5_DLL)
|
||||
*_COREBOOT_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
||||
|
||||
*_COREBOOT_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
||||
*_COREBOOT_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
|
||||
*_COREBOOT_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
||||
*_COREBOOT_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
|
||||
*_COREBOOT_*_APP_FLAGS =
|
||||
*_COREBOOT_*_ASL_FLAGS = DEF(IASL_FLAGS)
|
||||
*_COREBOOT_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
|
||||
|
||||
##################
|
||||
# COREBOOT IA32 definitions
|
||||
##################
|
||||
*_COREBOOT_IA32_OBJCOPY_PATH = DEF(COREBOOT_IA32_OBJCOPY)
|
||||
*_COREBOOT_IA32_CC_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_SLINK_PATH = DEF(COREBOOT_IA32_PREFIX)-ar
|
||||
*_COREBOOT_IA32_DLINK_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_ASLDLINK_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_ASM_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_PP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_VFRPP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_ASLCC_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_ASLPP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
||||
*_COREBOOT_IA32_RC_PATH = DEF(COREBOOT_IA32_OBJCOPY)
|
||||
|
||||
*_COREBOOT_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto
|
||||
*_COREBOOT_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
|
||||
*_COREBOOT_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
|
||||
*_COREBOOT_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS)
|
||||
*_COREBOOT_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
|
||||
*_COREBOOT_IA32_OBJCOPY_FLAGS =
|
||||
*_COREBOOT_IA32_NASM_FLAGS = -f elf32
|
||||
|
||||
DEBUG_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
|
||||
DEBUG_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 -z common-page-size=0x1000
|
||||
|
||||
RELEASE_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable
|
||||
RELEASE_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 -z common-page-size=0x1000
|
||||
|
||||
NOOPT_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0
|
||||
NOOPT_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0 -z common-page-size=0x1000
|
||||
|
||||
##################
|
||||
# COREBOOT X64 definitions
|
||||
##################
|
||||
*_COREBOOT_X64_OBJCOPY_PATH = DEF(COREBOOT_X64_OBJCOPY)
|
||||
*_COREBOOT_X64_CC_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_SLINK_PATH = DEF(COREBOOT_X64_PREFIX)-ar
|
||||
*_COREBOOT_X64_DLINK_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_ASLDLINK_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_ASM_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_PP_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_VFRPP_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_ASLCC_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_ASLPP_PATH = DEF(COREBOOT_X64_PREFIX)
|
||||
*_COREBOOT_X64_RC_PATH = DEF(COREBOOT_X64_OBJCOPY)
|
||||
|
||||
*_COREBOOT_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto
|
||||
*_COREBOOT_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
|
||||
*_COREBOOT_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
|
||||
*_COREBOOT_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
|
||||
*_COREBOOT_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
|
||||
*_COREBOOT_X64_OBJCOPY_FLAGS =
|
||||
*_COREBOOT_X64_NASM_FLAGS = -f elf64
|
||||
|
||||
DEBUG_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os
|
||||
DEBUG_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os -z common-page-size=0x1000
|
||||
|
||||
RELEASE_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable
|
||||
RELEASE_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os -z common-page-size=0x1000
|
||||
|
||||
NOOPT_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0
|
||||
NOOPT_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0 -z common-page-size=0x1000
|
||||
|
||||
##################
|
||||
# COREBOOT ARM definitions
|
||||
##################
|
||||
*_COREBOOT_ARM_CC_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_SLINK_PATH = ENV(COREBOOT_ARM_PREFIX)-ar
|
||||
*_COREBOOT_ARM_DLINK_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_ASLDLINK_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_ASM_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_PP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_VFRPP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_ASLCC_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_ASLPP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
||||
*_COREBOOT_ARM_RC_PATH = ENV(COREBOOT_ARM_OBJCOPY)
|
||||
|
||||
*_COREBOOT_ARM_ARCHCC_FLAGS = -mthumb
|
||||
*_COREBOOT_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
||||
*_COREBOOT_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS)
|
||||
*_COREBOOT_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
|
||||
*_COREBOOT_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
|
||||
*_COREBOOT_ARM_PLATFORM_FLAGS = -march=armv7-a
|
||||
*_COREBOOT_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
|
||||
*_COREBOOT_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
|
||||
*_COREBOOT_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
|
||||
*_COREBOOT_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS)
|
||||
|
||||
DEBUG_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
|
||||
DEBUG_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -z common-page-size=0x1000
|
||||
|
||||
RELEASE_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable
|
||||
RELEASE_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -z common-page-size=0x1000
|
||||
|
||||
NOOPT_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
|
||||
NOOPT_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0 -z common-page-size=0x1000
|
||||
|
||||
##################
|
||||
# COREBOOT AARCH64 definitions
|
||||
##################
|
||||
*_COREBOOT_AARCH64_CC_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_SLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)-ar
|
||||
*_COREBOOT_AARCH64_DLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_ASLDLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_ASM_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_PP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_VFRPP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_ASLCC_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_ASLPP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
||||
*_COREBOOT_AARCH64_RC_PATH = ENV(COREBOOT_ARM64_OBJCOPY)
|
||||
|
||||
*_COREBOOT_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
||||
*_COREBOOT_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
|
||||
*_COREBOOT_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
|
||||
*_COREBOOT_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
|
||||
*_COREBOOT_AARCH64_PLATFORM_FLAGS =
|
||||
*_COREBOOT_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
|
||||
*_COREBOOT_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
|
||||
*_COREBOOT_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
|
||||
*_COREBOOT_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS)
|
||||
|
||||
DEBUG_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small
|
||||
DEBUG_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
|
||||
DEBUG_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
|
||||
|
||||
RELEASE_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer
|
||||
RELEASE_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -z common-page-size=0x1000
|
||||
|
||||
NOOPT_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small
|
||||
NOOPT_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0
|
||||
NOOPT_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
|
||||
Loading…
Add table
Add a link
Reference in a new issue