From 2f0285fa758f48a4bf96fabb1cbc2afe1e9d7303 Mon Sep 17 00:00:00 2001 From: Mikhail Krichanov Date: Mon, 3 Jul 2023 12:32:49 +0300 Subject: [PATCH] Build: Replaced GCC5 toolchain with GCC. --- .github/workflows/build_arm.yaml | 30 +- .github/workflows/build_common.yml | 20 +- .github/workflows/build_x86.yaml | 22 +- ArmPlatformPkg/Scripts/Makefile | 2 +- ArmVirtPkg/PlatformCI/ReadMe.md | 2 +- BaseTools/Conf/tools_def.template | 265 ++---------------- BaseTools/Edk2ToolsBuild.py | 2 +- .../HostBasedUnitTestRunner.py | 2 +- .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 62 ++-- .../LinuxGcc5ToolChain_plug_in.yaml | 4 +- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 2 +- .../Library/OpensslLib/OpensslLibAccel.inf | 2 +- .../Library/OpensslLib/OpensslLibCrypto.inf | 2 +- .../Library/OpensslLib/OpensslLibFull.inf | 2 +- .../OpensslLib/OpensslLibFullAccel.inf | 2 +- DynamicTablesPkg/Readme.md | 11 +- EmulatorPkg/PlatformCI/ReadMe.md | 2 +- EmulatorPkg/Readme.md | 8 +- EmulatorPkg/Unix/Host/Host.inf | 4 +- EmulatorPkg/build.sh | 4 +- IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc | 8 +- OvmfPkg/CloudHv/README | 2 +- OvmfPkg/IntelTdx/README | 4 +- OvmfPkg/PlatformCI/ReadMe.md | 2 +- OvmfPkg/README | 2 +- OvmfPkg/build.sh | 2 +- PrmPkg/Readme.md | 6 +- STATUS.md | 32 +-- UnitTestFrameworkPkg/ReadMe.md | 8 +- .../UnitTestFrameworkPkgHost.dsc.inc | 4 +- 30 files changed, 148 insertions(+), 372 deletions(-) diff --git a/.github/workflows/build_arm.yaml b/.github/workflows/build_arm.yaml index 8a37db3d0a..f2220f4376 100644 --- a/.github/workflows/build_arm.yaml +++ b/.github/workflows/build_arm.yaml @@ -16,7 +16,7 @@ env: jobs: build-linux-gcc5: - name: Linux GCC5 + name: Linux GCC runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 @@ -51,13 +51,13 @@ jobs: env: SELFPKG: ArmPkg SELFPKG_DIR: ArmPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: ARM,AARCH64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 SKIP_PACKAGE: 1 - GCC5_ARM_PREFIX: arm-linux-gnueabi- - GCC5_AARCH64_PREFIX: aarch64-linux-gnu- + GCC_ARM_PREFIX: arm-linux-gnueabi- + GCC_AARCH64_PREFIX: aarch64-linux-gnu- - name: Build ArmPlatformPkg if: always() @@ -65,13 +65,13 @@ jobs: env: SELFPKG: ArmPlatformPkg SELFPKG_DIR: ArmPlatformPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: ARM,AARCH64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 SKIP_PACKAGE: 1 - GCC5_ARM_PREFIX: arm-linux-gnueabi- - GCC5_AARCH64_PREFIX: aarch64-linux-gnu- + GCC_ARM_PREFIX: arm-linux-gnueabi- + GCC_AARCH64_PREFIX: aarch64-linux-gnu- - name: Build ArmVirtQemu if: always() @@ -79,13 +79,13 @@ jobs: env: SELFPKG: ArmVirtQemu SELFPKG_DIR: ArmVirtPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: ARM,AARCH64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 SKIP_PACKAGE: 1 - GCC5_ARM_PREFIX: arm-linux-gnueabi- - GCC5_AARCH64_PREFIX: aarch64-linux-gnu- + GCC_ARM_PREFIX: arm-linux-gnueabi- + GCC_AARCH64_PREFIX: aarch64-linux-gnu- - name: Prepare artifacts with firmwares if: always() @@ -101,16 +101,16 @@ jobs: env: ARCHS: ARM,AARCH64 TARGETS: RELEASE,DEBUG,NOOPT - TOOLCHAIN: GCC5 + TOOLCHAIN: GCC - name: Zip artifacts - run: zip GCC5_fw_arm_artifacts.zip ./firmware_artifacts/* -r + run: zip GCC_fw_arm_artifacts.zip ./firmware_artifacts/* -r - name: Upload to Artifacts uses: actions/upload-artifact@v3 with: - name: GCC5 Firmware ARM Artifacts - path: GCC5_fw_arm_artifacts.zip + name: GCC Firmware ARM Artifacts + path: GCC_fw_arm_artifacts.zip build-linux-clangdwarf: name: Linux CLANGDWARF @@ -217,7 +217,7 @@ jobs: fail-fast: false matrix: package: [ - {name: "ArmVirtQemu", archs: "ARM,AARCH64", toolchain: "GCC5", targets: "RELEASE,DEBUG,NOOPT"}, + {name: "ArmVirtQemu", archs: "ARM,AARCH64", toolchain: "GCC", targets: "RELEASE,DEBUG,NOOPT"}, {name: "ArmVirtQemu", archs: "ARM,AARCH64", toolchain: "CLANGDWARF", targets: "RELEASE,DEBUG,NOOPT"}, ] steps: diff --git a/.github/workflows/build_common.yml b/.github/workflows/build_common.yml index fe63ea9852..caf9baa957 100644 --- a/.github/workflows/build_common.yml +++ b/.github/workflows/build_common.yml @@ -499,7 +499,7 @@ jobs: SKIP_PACKAGE: 1 build-linux-gcc5: - name: Linux GCC5 + name: Linux GCC runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 @@ -520,7 +520,7 @@ jobs: env: SELFPKG: Ext4Pkg SELFPKG_DIR: Ext4Pkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -532,7 +532,7 @@ jobs: env: SELFPKG: FatPkg SELFPKG_DIR: FatPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -544,7 +544,7 @@ jobs: env: SELFPKG: IntelFsp2Pkg SELFPKG_DIR: IntelFsp2Pkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -556,7 +556,7 @@ jobs: env: SELFPKG: IntelFsp2WrapperPkg SELFPKG_DIR: IntelFsp2WrapperPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -568,7 +568,7 @@ jobs: env: SELFPKG: MdeModulePkg SELFPKG_DIR: MdeModulePkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -580,7 +580,7 @@ jobs: env: SELFPKG: MdePkg SELFPKG_DIR: MdePkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -592,7 +592,7 @@ jobs: env: SELFPKG: UefiCpuPkg SELFPKG_DIR: UefiCpuPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -604,7 +604,7 @@ jobs: env: SELFPKG: UnitTestFrameworkPkg SELFPKG_DIR: UnitTestFrameworkPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -616,7 +616,7 @@ jobs: env: SELFPKG: NetworkPkg SELFPKG_DIR: NetworkPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32,X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 diff --git a/.github/workflows/build_x86.yaml b/.github/workflows/build_x86.yaml index 8f01b7c48f..d0e4f5eb43 100644 --- a/.github/workflows/build_x86.yaml +++ b/.github/workflows/build_x86.yaml @@ -455,7 +455,7 @@ jobs: path: CLANGDWARF_fw_artifacts.zip build-linux-gcc5: - name: Linux GCC5 + name: Linux GCC runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 @@ -477,7 +477,7 @@ jobs: env: SELFPKG: OvmfPkgIa32 SELFPKG_DIR: OvmfPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: IA32 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -490,7 +490,7 @@ jobs: env: SELFPKG: OvmfPkgX64 SELFPKG_DIR: OvmfPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -502,7 +502,7 @@ jobs: env: SELFPKG: OvmfPkgIa32X64 SELFPKG_DIR: OvmfPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: X64 ARCHS_EXT: IA32 TARGETS: RELEASE,DEBUG,NOOPT @@ -515,7 +515,7 @@ jobs: env: SELFPKG: UefiPayloadPkg SELFPKG_DIR: UefiPayloadPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: X64 TARGETS: RELEASE,DEBUG,NOOPT SKIP_TESTS: 1 @@ -527,7 +527,7 @@ jobs: env: SELFPKG: UefiPayloadPkg SELFPKG_DIR: UefiPayloadPkg - TOOLCHAINS: GCC5 + TOOLCHAINS: GCC ARCHS: X64 ARCHS_EXT: IA32 TARGETS: RELEASE,DEBUG,NOOPT @@ -548,16 +548,16 @@ jobs: env: ARCHS: Ia32,X64,3264 TARGETS: RELEASE,DEBUG,NOOPT - TOOLCHAIN: GCC5 + TOOLCHAIN: GCC - name: Zip artifacts - run: zip GCC5_fw_artifacts.zip ./firmware_artifacts/* -r + run: zip GCC_fw_artifacts.zip ./firmware_artifacts/* -r - name: Upload to Artifacts uses: actions/upload-artifact@v3 with: - name: GCC5 Firmware Artifacts - path: GCC5_fw_artifacts.zip + name: GCC Firmware Artifacts + path: GCC_fw_artifacts.zip test-firmwares: name: Test @@ -572,7 +572,7 @@ jobs: {name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "VS2019", targets: "RELEASE,DEBUG,NOOPT"}, {name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "CLANGPDB", targets: "RELEASE,DEBUG,NOOPT"}, {name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "CLANGDWARF", targets: "RELEASE,DEBUG,NOOPT"}, - {name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "GCC5", targets: "RELEASE,DEBUG,NOOPT"}, + {name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "GCC", targets: "RELEASE,DEBUG,NOOPT"}, ] steps: - name: Checkout ocbuild repository diff --git a/ArmPlatformPkg/Scripts/Makefile b/ArmPlatformPkg/Scripts/Makefile index baa6184564..686b68614f 100644 --- a/ArmPlatformPkg/Scripts/Makefile +++ b/ArmPlatformPkg/Scripts/Makefile @@ -5,7 +5,7 @@ # #*/ -EDK2_TOOLCHAIN ?= GCC5 +EDK2_TOOLCHAIN ?= GCC EDK2_ARCH ?= ARM EDK2_BUILD ?= DEBUG diff --git a/ArmVirtPkg/PlatformCI/ReadMe.md b/ArmVirtPkg/PlatformCI/ReadMe.md index ee8d8cd61e..bf9f7f5cac 100644 --- a/ArmVirtPkg/PlatformCI/ReadMe.md +++ b/ArmVirtPkg/PlatformCI/ReadMe.md @@ -6,7 +6,7 @@ to use the same Pytools based build infrastructure locally. ## Supported Configuration Details This solution for building and running ArmVirtPkg has only been validated with Ubuntu -18.04 and the GCC5 toolchain. Two different firmware builds are supported and are +18.04 and the GCC toolchain. Two different firmware builds are supported and are described below. | Configuration name | Architecture | DSC File |Additional Flags | diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 5a3a52fb6e..2c006523e6 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -17,9 +17,8 @@ # - Change RC path to use plugin # 3.00 - Update toolchains # - Add support for ARM and AARCH64 to CLANGDWARF -# - Remove VS2008, VS2010, VS2012, VS2013, CLANG35, CLANG38, EBC, GCC48, GCC49 +# - Remove VS2008, VS2010, VS2012, VS2013, CLANG35, CLANG38, EBC, GCC48, GCC49, GCC5 # - Add GCC and GCCNOLTO -# - Deprecate GCC5. # #!VERSION=3.00 @@ -111,8 +110,6 @@ DEFINE CYGWIN_BINX64 = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc DEFINE GCCNOLTO_IA32_PREFIX = ENV(GCCNOLTO_BIN) DEFINE GCCNOLTO_X64_PREFIX = ENV(GCCNOLTO_BIN) -DEFINE GCC5_IA32_PREFIX = ENV(GCC5_BIN) -DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN) DEFINE GCC_IA32_PREFIX = ENV(GCC_BIN) DEFINE GCC_X64_PREFIX = ENV(GCC_BIN) DEFINE GCC_HOST_PREFIX = ENV(GCC_HOST_BIN) @@ -189,7 +186,7 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc # Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications). # /FILEALIGN:4096 and other changes are needed for ARM firmware builds. # GCCNOLTO -Linux,Windows- Requires: -# GCC 4.9 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi +# GCC 5 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 @@ -220,15 +217,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc # Intel(r) ACPI Compiler (iasl.exe) from # https://acpica.org/downloads # -# Deprecated Tool Chains -# ====================== -# GCC5 -Linux,Windows- Requires: -# GCC 5 with LTO support, targeting x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarch64-linux-gnu -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads -# #################################################################################### #################################################################################### # @@ -962,213 +950,6 @@ RELEASE_GCCNOLTO_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 NOOPT_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0 NOOPT_GCCNOLTO_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 -O0 -#################################################################################### -# -# GCC 5 - This configuration is used to compile under Linux to produce -# PE/COFF binaries using GCC 5 -# -#################################################################################### -*_GCC5_*_*_FAMILY = GCC - -*_GCC5_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make -*_GCC5_*_*_DLL = ENV(GCC5_DLL) -*_GCC5_*_ASL_PATH = DEF(UNIX_IASL_BIN) - -*_GCC5_*_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_GCC5_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) -*_GCC5_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_GCC5_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -*_GCC5_*_APP_FLAGS = -*_GCC5_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_GCC5_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_GCC5_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) - -################## -# GCC5 IA32 definitions -################## -*_GCC5_IA32_OBJCOPY_PATH = DEF(GCC5_IA32_PREFIX)objcopy -*_GCC5_IA32_CC_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_SLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc-ar -*_GCC5_IA32_DLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_ASLDLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_ASM_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_PP_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_VFRPP_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_ASLCC_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_ASLPP_PATH = DEF(GCC5_IA32_PREFIX)gcc -*_GCC5_IA32_RC_PATH = DEF(GCC5_IA32_PREFIX)objcopy - -*_GCC5_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32 -*_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-q,-m,elf_i386 -no-pie -*_GCC5_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 -*_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie -*_GCC5_IA32_NASM_FLAGS = -f elf32 -DRODATA_SECTION_NAME=.rodata - - DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os - DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-q,-m,elf_i386,--oformat=elf32-i386 - -RELEASE_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-q,-m,elf_i386,--oformat=elf32-i386 - - NOOPT_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0 - NOOPT_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-q,-m,elf_i386,--oformat=elf32-i386 -O0 - -################## -# GCC5 X64 definitions -################## -*_GCC5_X64_OBJCOPY_PATH = DEF(GCC5_X64_PREFIX)objcopy -*_GCC5_X64_CC_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_SLINK_PATH = DEF(GCC5_X64_PREFIX)gcc-ar -*_GCC5_X64_DLINK_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_ASLDLINK_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_ASM_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_PP_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_VFRPP_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_ASLCC_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_ASLPP_PATH = DEF(GCC5_X64_PREFIX)gcc -*_GCC5_X64_RC_PATH = DEF(GCC5_X64_PREFIX)objcopy - -*_GCC5_X64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m64 -*_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -*_GCC5_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 -*_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -*_GCC5_X64_NASM_FLAGS = -f elf64 -DRODATA_SECTION_NAME=.rodata - - DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO - DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os - -RELEASE_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os - - NOOPT_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0 - NOOPT_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0 - -################## -# GCC5 ARM definitions -################## -*_GCC5_ARM_OBJCOPY_PATH = ENV(GCC5_ARM_PREFIX)objcopy -*_GCC5_ARM_CC_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_SLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc-ar -*_GCC5_ARM_DLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_ASLDLINK_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_ASM_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_PP_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_VFRPP_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_ASLCC_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_ASLPP_PATH = ENV(GCC5_ARM_PREFIX)gcc -*_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy - -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -*_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) -*_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) -*_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) -*_GCC5_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC5_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) -mthumb -march=armv7-a -*_GCC5_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -mthumb -march=armv7-a -*_GCC5_ARM_CC_SECPEIFLAGS = DEF(GCC_ARM_CC_SECPEIFLAGS) - - DEBUG_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable - DEBUG_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm - -RELEASE_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm - - NOOPT_GCC5_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0 - NOOPT_GCC5_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0 - -################## -# GCC5 AARCH64 definitions -################## -*_GCC5_AARCH64_OBJCOPY_PATH = ENV(GCC5_AARCH64_PREFIX)objcopy -*_GCC5_AARCH64_CC_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_SLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc-ar -*_GCC5_AARCH64_DLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_ASLDLINK_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_ASM_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_PP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_VFRPP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_ASLCC_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_ASLPP_PATH = ENV(GCC5_AARCH64_PREFIX)gcc -*_GCC5_AARCH64_RC_PATH = ENV(GCC5_AARCH64_PREFIX)objcopy - -*_GCC5_AARCH64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -*_GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS) -*_GCC5_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS) -*_GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS) -*_GCC5_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC5_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_GCC5_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -*_GCC5_AARCH64_CC_SECPEIFLAGS = DEF(GCC_AARCH64_CC_SECPEIFLAGS) - - DEBUG_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable - DEBUG_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch - DEBUG_GCC5_AARCH64_DLINK_SECPEIFLAGS = DEF(GCC_ALIGN) - -RELEASE_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch -RELEASE_GCC5_AARCH64_DLINK_SECPEIFLAGS = DEF(GCC_ALIGN) - - NOOPT_GCC5_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 - NOOPT_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0 - NOOPT_GCC5_AARCH64_DLINK_SECPEIFLAGS = DEF(GCC_ALIGN) -O0 - -#################################################################################### -# -# GCC RISC-V This configuration is used to compile under Linux to produce -# PE/COFF binaries using GCC RISC-V tool chain -# -#################################################################################### - -################## -# GCC5 RISCV64 definitions -################## -*_GCC5_RISCV64_OBJCOPY_PATH = ENV(GCC5_RISCV64_PREFIX)objcopy -*_GCC5_RISCV64_CC_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_SLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc-ar -*_GCC5_RISCV64_DLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_ASLDLINK_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_ASM_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_PP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_VFRPP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_ASLCC_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_ASLPP_PATH = ENV(GCC5_RISCV64_PREFIX)gcc -*_GCC5_RISCV64_RC_PATH = ENV(GCC5_RISCV64_PREFIX)objcopy - -*_GCC5_RISCV64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_GCC5_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS) -*_GCC5_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV64_ASM_FLAGS) -*_GCC5_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps -*_GCC5_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS) -*_GCC5_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS) -*_GCC5_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC5_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES) - -################## -# GCC5 LOONGARCH64 definitions -################## -*_GCC5_LOONGARCH64_OBJCOPY_PATH = ENV(GCC5_LOONGARCH64_PREFIX)objcopy -*_GCC5_LOONGARCH64_CC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_SLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc-ar -*_GCC5_LOONGARCH64_DLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_ASLDLINK_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_ASM_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_PP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_VFRPP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_ASLCC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_ASLPP_PATH = ENV(GCC5_LOONGARCH64_PREFIX)gcc -*_GCC5_LOONGARCH64_RC_PATH = ENV(GCC5_LOONGARCH64_PREFIX)objcopy - -*_GCC5_LOONGARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_GCC5_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS) -*_GCC5_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS) -*_GCC5_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS) -*_GCC5_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS) -*_GCC5_LOONGARCH64_NASM_FLAGS = -f elf32 -*_GCC5_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS) - -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 - #################################################################################### # # GCC - This configuration is used to compile under Linux to produce @@ -1178,7 +959,7 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un *_GCC_*_*_FAMILY = GCC *_GCC_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make -*_GCC_*_*_DLL = ENV(GCC_DLL) +*_GCC_*_*_DLL = ENV(GCC5_DLL) *_GCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) *_GCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS) @@ -1188,7 +969,7 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un *_GCC_*_APP_FLAGS = *_GCC_*_ASL_FLAGS = DEF(IASL_FLAGS) *_GCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_GCC_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) +*_GCC_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) ################## # GCC IA32 definitions @@ -1206,20 +987,19 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un *_GCC_IA32_RC_PATH = DEF(GCC_IA32_PREFIX)objcopy *_GCC_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32 -*_GCC_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie +*_GCC_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-q,-m,elf_i386 -no-pie *_GCC_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 *_GCC_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie -*_GCC_IA32_OBJCOPY_FLAGS = -*_GCC_IA32_NASM_FLAGS = -f elf32 +*_GCC_IA32_NASM_FLAGS = -f elf32 -DRODATA_SECTION_NAME=.rodata - DEBUG_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto - DEBUG_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 + DEBUG_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os + DEBUG_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-q,-m,elf_i386,--oformat=elf32-i386 -RELEASE_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 +RELEASE_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable -Wno-unused-const-variable +RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-q,-m,elf_i386,--oformat=elf32-i386 NOOPT_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0 - NOOPT_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0 + NOOPT_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-q,-m,elf_i386,--oformat=elf32-i386 -O0 ################## # GCC X64 definitions @@ -1240,8 +1020,7 @@ RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,- *_GCC_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 *_GCC_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 *_GCC_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -*_GCC_X64_OBJCOPY_FLAGS = -*_GCC_X64_NASM_FLAGS = -f elf64 +*_GCC_X64_NASM_FLAGS = -f elf64 -DRODATA_SECTION_NAME=.rodata DEBUG_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO DEBUG_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os @@ -1255,6 +1034,7 @@ RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os ################## # GCC ARM definitions ################## +*_GCC_ARM_OBJCOPY_PATH = ENV(GCC_ARM_PREFIX)objcopy *_GCC_ARM_CC_PATH = ENV(GCC_ARM_PREFIX)gcc *_GCC_ARM_SLINK_PATH = ENV(GCC_ARM_PREFIX)gcc-ar *_GCC_ARM_DLINK_PATH = ENV(GCC_ARM_PREFIX)gcc @@ -1271,9 +1051,8 @@ RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os *_GCC_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) *_GCC_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) *_GCC_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC_ARM_PLATFORM_FLAGS = -march=armv7-a -mfloat-abi=soft -*_GCC_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) +*_GCC_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) -mthumb -march=armv7-a +*_GCC_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -mthumb -march=armv7-a *_GCC_ARM_CC_SECPEIFLAGS = DEF(GCC_ARM_CC_SECPEIFLAGS) DEBUG_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable @@ -1288,6 +1067,7 @@ RELEASE_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSP ################## # GCC AARCH64 definitions ################## +*_GCC_AARCH64_OBJCOPY_PATH = ENV(GCC_AARCH64_PREFIX)objcopy *_GCC_AARCH64_CC_PATH = ENV(GCC_AARCH64_PREFIX)gcc *_GCC_AARCH64_SLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc-ar *_GCC_AARCH64_DLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc @@ -1304,22 +1084,21 @@ RELEASE_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSP *_GCC_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS) *_GCC_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS) *_GCC_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC_AARCH64_PLATFORM_FLAGS = -*_GCC_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) +*_GCC_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) +*_GCC_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) *_GCC_AARCH64_CC_SECPEIFLAGS = DEF(GCC_AARCH64_CC_SECPEIFLAGS) DEBUG_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable DEBUG_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch - DEBUG_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 + DEBUG_GCC_AARCH64_DLINK_SECPEIFLAGS = DEF(GCC_ALIGN) RELEASE_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable RELEASE_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch -RELEASE_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 +RELEASE_GCC_AARCH64_DLINK_SECPEIFLAGS = DEF(GCC_ALIGN) NOOPT_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 NOOPT_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0 - NOOPT_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 -O0 + NOOPT_GCC_AARCH64_DLINK_SECPEIFLAGS = DEF(GCC_ALIGN) -O0 #################################################################################### # @@ -1349,7 +1128,6 @@ RELEASE_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 *_GCC_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps *_GCC_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS) *_GCC_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS) -*_GCC_RISCV64_OBJCOPY_FLAGS = *_GCC_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES) @@ -1373,7 +1151,6 @@ RELEASE_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 *_GCC_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS) *_GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS) *_GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS) -*_GCC_LOONGARCH64_OBJCOPY_FLAGS = *_GCC_LOONGARCH64_NASM_FLAGS = -f elf32 *_GCC_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS) diff --git a/BaseTools/Edk2ToolsBuild.py b/BaseTools/Edk2ToolsBuild.py index f862468ce2..9053a4bcab 100644 --- a/BaseTools/Edk2ToolsBuild.py +++ b/BaseTools/Edk2ToolsBuild.py @@ -1,7 +1,7 @@ # @file Edk2ToolsBuild.py # Invocable class that builds the basetool c files. # -# Supports VS2017, VS2019, and GCC5 +# Supports VS2017, VS2019, and GCC ## # Copyright (c) Microsoft Corporation # diff --git a/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py b/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py index 2e5c462cd2..583e977295 100644 --- a/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py +++ b/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py @@ -129,7 +129,7 @@ class HostBasedUnitTestRunner(IUefiBuildPlugin): failure_count += 1 if thebuilder.env.GetValue("CODE_COVERAGE") != "FALSE": - if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC5": + if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC": ret = self.gen_code_coverage_gcc(thebuilder) if ret != 0: failure_count += 1 diff --git a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py index dab7a87997..5820b68ee5 100644 --- a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py +++ b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py @@ -1,5 +1,5 @@ # @file LinuxGcc5ToolChain.py -# Plugin to configures paths for GCC5 ARM/AARCH64 Toolchain +# Plugin to configures paths for GCC ARM/AARCH64 Toolchain ## # This plugin works in conjuncture with the tools_def # @@ -23,8 +23,8 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): self.Logger = logging.getLogger("LinuxGcc5ToolChain") # - # GCC5 - The ARM and AARCH64 compilers need their paths set if available - if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC5": + # GCC - The ARM and AARCH64 compilers need their paths set if available + if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC": # Start with AARACH64 compiler ret = self._check_aarch64() @@ -54,46 +54,46 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): def _check_arm(self): # check to see if full path already configured - if shell_environment.GetEnvironment().get_shell_var("GCC5_ARM_PREFIX") is not None: - self.Logger.info("GCC5_ARM_PREFIX is already set.") + if shell_environment.GetEnvironment().get_shell_var("GCC_ARM_PREFIX") is not None: + self.Logger.info("GCC_ARM_PREFIX is already set.") else: # now check for install dir. If set then set the Prefix - install_path = shell_environment.GetEnvironment().get_shell_var("GCC5_ARM_INSTALL") + install_path = shell_environment.GetEnvironment().get_shell_var("GCC_ARM_INSTALL") if install_path is None: return 0 - # make GCC5_ARM_PREFIX to align with tools_def.txt + # make GCC_ARM_PREFIX to align with tools_def.txt prefix = os.path.join(install_path, "bin", "arm-none-linux-gnueabihf-") - shell_environment.GetEnvironment().set_shell_var("GCC5_ARM_PREFIX", prefix) + shell_environment.GetEnvironment().set_shell_var("GCC_ARM_PREFIX", prefix) # now confirm it exists - if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC5_ARM_PREFIX") + "gcc"): - self.Logger.error("Path for GCC5_ARM_PREFIX toolchain is invalid") + if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC_ARM_PREFIX") + "gcc"): + self.Logger.error("Path for GCC_ARM_PREFIX toolchain is invalid") return -2 return 0 def _check_aarch64(self): # check to see if full path already configured - if shell_environment.GetEnvironment().get_shell_var("GCC5_AARCH64_PREFIX") is not None: - self.Logger.info("GCC5_AARCH64_PREFIX is already set.") + if shell_environment.GetEnvironment().get_shell_var("GCC_AARCH64_PREFIX") is not None: + self.Logger.info("GCC_AARCH64_PREFIX is already set.") else: # now check for install dir. If set then set the Prefix install_path = shell_environment.GetEnvironment( - ).get_shell_var("GCC5_AARCH64_INSTALL") + ).get_shell_var("GCC_AARCH64_INSTALL") if install_path is None: return 0 - # make GCC5_AARCH64_PREFIX to align with tools_def.txt + # make GCC_AARCH64_PREFIX to align with tools_def.txt prefix = os.path.join(install_path, "bin", "aarch64-none-linux-gnu-") - shell_environment.GetEnvironment().set_shell_var("GCC5_AARCH64_PREFIX", prefix) + shell_environment.GetEnvironment().set_shell_var("GCC_AARCH64_PREFIX", prefix) # now confirm it exists - if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC5_AARCH64_PREFIX") + "gcc"): + if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC_AARCH64_PREFIX") + "gcc"): self.Logger.error( - "Path for GCC5_AARCH64_PREFIX toolchain is invalid") + "Path for GCC_AARCH64_PREFIX toolchain is invalid") return -2 return 0 @@ -101,23 +101,23 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): def _check_riscv64(self): # now check for install dir.  If set then set the Prefix install_path = shell_environment.GetEnvironment( - ).get_shell_var("GCC5_RISCV64_INSTALL") + ).get_shell_var("GCC_RISCV64_INSTALL") if install_path is None: return 0 # check to see if full path already configured - if shell_environment.GetEnvironment().get_shell_var("GCC5_RISCV64_PREFIX") is not None: - self.Logger.info("GCC5_RISCV64_PREFIX is already set.") + if shell_environment.GetEnvironment().get_shell_var("GCC_RISCV64_PREFIX") is not None: + self.Logger.info("GCC_RISCV64_PREFIX is already set.") else: - # make GCC5_RISCV64_PREFIX to align with tools_def.txt + # make GCC_RISCV64_PREFIX to align with tools_def.txt prefix = os.path.join(install_path, "bin", "riscv64-unknown-elf-") - shell_environment.GetEnvironment().set_shell_var("GCC5_RISCV64_PREFIX", prefix) + shell_environment.GetEnvironment().set_shell_var("GCC_RISCV64_PREFIX", prefix) # now confirm it exists - if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC5_RISCV64_PREFIX") + "gcc"): + if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC_RISCV64_PREFIX") + "gcc"): self.Logger.error( - "Path for GCC5_RISCV64_PREFIX toolchain is invalid") + "Path for GCC_RISCV64_PREFIX toolchain is invalid") return -2 # Check if LD_LIBRARY_PATH is set for the libraries of RISC-V GCC toolchain @@ -131,24 +131,24 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): def _check_loongarch64(self): # check to see if full path already configured - if shell_environment.GetEnvironment().get_shell_var("GCC5_LOONGARCH64_PREFIX") is not None: - self.Logger.info("GCC5_LOONGARCH64_PREFIX is already set.") + if shell_environment.GetEnvironment().get_shell_var("GCC_LOONGARCH64_PREFIX") is not None: + self.Logger.info("GCC_LOONGARCH64_PREFIX is already set.") else: # now check for install dir. If set then set the Prefix install_path = shell_environment.GetEnvironment( - ).get_shell_var("GCC5_LOONGARCH64_INSTALL") + ).get_shell_var("GCC_LOONGARCH64_INSTALL") if install_path is None: return 0 - # make GCC5_LOONGARCH64_PREFIX to align with tools_def.txt + # make GCC_LOONGARCH64_PREFIX to align with tools_def.txt prefix = os.path.join(install_path, "bin", "loongarch64-unknown-linux-gnu-") - shell_environment.GetEnvironment().set_shell_var("GCC5_LOONGARCH64_PREFIX", prefix) + shell_environment.GetEnvironment().set_shell_var("GCC_LOONGARCH64_PREFIX", prefix) # now confirm it exists - if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC5_LOONGARCH64_PREFIX") + "gcc"): + if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC_LOONGARCH64_PREFIX") + "gcc"): self.Logger.error( - "Path for GCC5_LOONGARCH64_PREFIX toolchain is invalid") + "Path for GCC_LOONGARCH64_PREFIX toolchain is invalid") return -2 return 0 diff --git a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml index 39c378a926..e40ddf6fe0 100644 --- a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml +++ b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml @@ -1,12 +1,12 @@ ## @file # Build Plugin used to set the path -# for the GCC5 ARM/AARCH64 downloaded compilers +# for the GCC ARM/AARCH64 downloaded compilers # # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: BSD-2-Clause-Patent ## { "scope": "global-nix", - "name": "Linux GCC5 Tool Chain Support", + "name": "Linux GCC Tool Chain Support", "module": "LinuxGcc5ToolChain" } diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index 8aee35b1e4..0d7d74ead2 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -642,7 +642,7 @@ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize # Revisit after switching to 3.0 branch - GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf index 73a07470f2..ca5367c0ab 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf @@ -690,7 +690,7 @@ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize # Revisit after switching to 3.0 branch - GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf index 18327648f6..4244fc44af 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -592,7 +592,7 @@ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize # Revisit after switching to 3.0 branch - GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf index c468d6cfb3..84bee9a5ec 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf @@ -697,7 +697,7 @@ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize # Revisit after switching to 3.0 branch - GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf index 473a70bae2..0abb332c63 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf @@ -745,7 +745,7 @@ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize # Revisit after switching to 3.0 branch - GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable + GCC:*_GCC_*_CC_FLAGS = -Wno-unused-but-set-variable # suppress the following warnings in openssl so we don't break the build with warnings-as-errors: # 1295: Deprecated declaration - give arg types diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 6b0a6c7a40..7fb58be007 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -194,12 +194,12 @@ parameter to the edk2 build system. Example: >build -a AARCH64 -p Platform\ARM\JunoPkg\ArmJuno.dsc - -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** + -t GCC **-D DYNAMIC_TABLES_FRAMEWORK** or >build -a AARCH64 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc - -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** + -t GCC **-D DYNAMIC_TABLES_FRAMEWORK** # Prerequisites @@ -248,7 +248,7 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'* ``` stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG= -a - e.g. stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 + e.g. stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC ``` 5. Initialize & Update Dependencies - only as needed when ext_deps change @@ -256,7 +256,7 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'* ``` stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG= -a - e.g. stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 + e.g. stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC ``` 6. Compile the basetools if necessary - only when basetools C source files change @@ -270,7 +270,7 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'* ``` stuart_build-c .pytool/CISettings.py TOOL_CHAIN_TAG= -a - e.g. stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 -p DynamicTablesPkg -a AARCH64 --verbose + e.g. stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC -p DynamicTablesPkg -a AARCH64 --verbose ``` - use `stuart_build -c .pytool/CISettings.py -h` option to see help on additional options. @@ -281,4 +281,3 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'* Refer to the following presentation from *UEFI Plugfest Seattle 2018*: [Dynamic Tables Framework: A Step Towards Automatic Generation of Advanced Configuration and Power Interface (ACPI) & System Management BIOS (SMBIOS) Tables](http://www.uefi.org/sites/default/files/resources/Arm_Dynamic%20Tables%20Framework%20A%20Step%20Towards%20Automatic%20Generation%20of%20Advanced%20Configuration%20and%20Power%20Interface%20%28ACPI%29%20%26%20System%20Management%20BIOS%20%28SMBIOS%29%20Tables%20_0.pdf) - diff --git a/EmulatorPkg/PlatformCI/ReadMe.md b/EmulatorPkg/PlatformCI/ReadMe.md index f123bb2a48..53d032e37e 100644 --- a/EmulatorPkg/PlatformCI/ReadMe.md +++ b/EmulatorPkg/PlatformCI/ReadMe.md @@ -6,7 +6,7 @@ to use the same Pytools based build infrastructure locally. ## Supported Configuration Details This solution for building and running EmulatorPkg has only been validated with Windows 10 -with VS2019 and Ubuntu 18.04 with GCC5 toolchain. Four different firmware builds are +with VS2019 and Ubuntu 18.04 with GCC toolchain. Four different firmware builds are supported and are described below. | Configuration name | Architectures | DSC File |Additional Flags | diff --git a/EmulatorPkg/Readme.md b/EmulatorPkg/Readme.md index 0c2eea6a9a..00e8c7a284 100644 --- a/EmulatorPkg/Readme.md +++ b/EmulatorPkg/Readme.md @@ -29,11 +29,11 @@ https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg * 32bit emulator in Linux: - `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -a IA32` + `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC -a IA32` * 64bit emulator in Linux: - `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -a X64` + `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC -a X64` **You can start/run the emulator using the following command:** * 32bit emulator in Windows: @@ -46,11 +46,11 @@ https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg * 32bit emulator in Linux: - `cd Build/EmulatorIA32/DEBUG_GCC5/IA32/ && ./Host` + `cd Build/EmulatorIA32/DEBUG_GCC/IA32/ && ./Host` * 64bit emulator in Linux: - `cd Build/EmulatorX64/DEBUG_GCC5/X64/ && ./Host` + `cd Build/EmulatorX64/DEBUG_GCC/X64/ && ./Host` **On posix-like environment with the bash shell you can use EmulatorPkg/build.sh to simplify building and running emulator.** diff --git a/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf index ea22fb5289..68254addcf 100644 --- a/EmulatorPkg/Unix/Host/Host.inf +++ b/EmulatorPkg/Unix/Host/Host.inf @@ -119,9 +119,9 @@ GCC:*_*_IA32_ASM_FLAGS == -m32 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib - GCC:*_GCC5_X64_DLINK_FLAGS == -flto -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib + GCC:*_GCC_X64_DLINK_FLAGS == -flto -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings - GCC:*_GCC5_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os + GCC:*_GCC_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh index 5bf1a82d83..7d92892141 100755 --- a/EmulatorPkg/build.sh +++ b/EmulatorPkg/build.sh @@ -42,7 +42,7 @@ PLATFORMFILE= LAST_ARG= RUN_EMULATOR=no CLEAN_TYPE=none -TARGET_TOOLS=GCC5 +TARGET_TOOLS=GCC NETWORK_SUPPORT= BUILD_NEW_SHELL= BUILD_FAT= @@ -92,7 +92,7 @@ case `uname` in exit 1 ;; *) - TARGET_TOOLS=GCC5 + TARGET_TOOLS=GCC ;; esac ;; diff --git a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc index c9478d49c2..fa35cf86ab 100644 --- a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc +++ b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc @@ -461,7 +461,7 @@ ################################################################################################### [BuildOptions] # Append build options for EDK and EDKII drivers (= is Append, == is Replace) - *_GCC5_IA32_CC_FLAGS = -fno-pic - *_GCC5_IA32_DLINK_FLAGS = -no-pie - *_GCC5_IA32_ASLCC_FLAGS = -fno-pic - *_GCC5_IA32_ASLDLINK_FLAGS = -no-pie + *_GCC_IA32_CC_FLAGS = -fno-pic + *_GCC_IA32_DLINK_FLAGS = -no-pie + *_GCC_IA32_ASLCC_FLAGS = -fno-pic + *_GCC_IA32_ASLDLINK_FLAGS = -no-pie diff --git a/OvmfPkg/CloudHv/README b/OvmfPkg/CloudHv/README index 63e28860e0..10c48219b0 100644 --- a/OvmfPkg/CloudHv/README +++ b/OvmfPkg/CloudHv/README @@ -46,7 +46,7 @@ follows: ./cloud-hypervisor \ --cpus boot=1 \ --memory size=1G \ - --kernel Build/CloudHvX64/DEBUG_GCC5/FV/CLOUDHV.fd \ + --kernel Build/CloudHvX64/DEBUG_GCC/FV/CLOUDHV.fd \ --disk path=/path/to/disk.raw Releases diff --git a/OvmfPkg/IntelTdx/README b/OvmfPkg/IntelTdx/README index 7307ede78f..4d4e30aad2 100644 --- a/OvmfPkg/IntelTdx/README +++ b/OvmfPkg/IntelTdx/README @@ -55,13 +55,13 @@ Build - Build the TDVF (Config-A) target: `cd /path/to/edk2` `source edksetup.sh` -`build.sh -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5` +`build.sh -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC` - Build the TDVF (Config-B) target: `cd /path/to/edk2` `set PACKAGES_PATH=/path/to/edk2/OvmfPkg` `source edksetup.sh` -`build.sh -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC5` +`build.sh -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC` Usage ----- diff --git a/OvmfPkg/PlatformCI/ReadMe.md b/OvmfPkg/PlatformCI/ReadMe.md index 10fa32ac48..9d21165a82 100644 --- a/OvmfPkg/PlatformCI/ReadMe.md +++ b/OvmfPkg/PlatformCI/ReadMe.md @@ -6,7 +6,7 @@ to use the same Pytools based build infrastructure locally. ## Supported Configuration Details This solution for building and running OvmfPkg has only been validated with Windows 10 -with VS2019 and Ubuntu 18.04 with GCC5 toolchain. Four different firmware builds are +with VS2019 and Ubuntu 18.04 with GCC toolchain. Four different firmware builds are supported and are described below. | Configuration name | Architectures | DSC File |Additional Flags | diff --git a/OvmfPkg/README b/OvmfPkg/README index 8f114c354f..bfc75e627d 100644 --- a/OvmfPkg/README +++ b/OvmfPkg/README @@ -118,7 +118,7 @@ And to run a 64-bit UEFI bootable ISO image: $ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso To build a 32-bit OVMF without debug messages using GCC 5: -$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC5 +$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC === SMM support === diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh index 14c2363e26..e5e9e1b3ff 100755 --- a/OvmfPkg/build.sh +++ b/OvmfPkg/build.sh @@ -82,7 +82,7 @@ case `uname` in exit 1 ;; *) - TARGET_TOOLS=GCC5 + TARGET_TOOLS=GCC ;; esac esac diff --git a/PrmPkg/Readme.md b/PrmPkg/Readme.md index 3191c039fd..b89d276f4b 100644 --- a/PrmPkg/Readme.md +++ b/PrmPkg/Readme.md @@ -69,10 +69,10 @@ The PrmPkg can be built targetting the IA32/X64 and AArch64 architectures. > later in this document and dump the PRMT table in the OS to check if your PRM module is represented as expected. - AArch64 - ``build -p PrmPkg/PrmPkg.dsc -a AARCH64 -t GCC5`` + ``build -p PrmPkg/PrmPkg.dsc -a AARCH64 -t GCC`` - > ***Note***: Only builds with the GCC5 toolchain have been tested. - > ***Note***: For builds with the GCC5 toolchain, the PrmModuleExportDescriptor and any other handler entry points symbols, to be listed in the PRMT, must be explicitly preserved by enumerating these in the AARCH64 linker flags. The --require-defined linker flag must be used for each symbol to be preserved. + > ***Note***: Only builds with the GCC toolchain have been tested. + > ***Note***: For builds with the GCC toolchain, the PrmModuleExportDescriptor and any other handler entry points symbols, to be listed in the PRMT, must be explicitly preserved by enumerating these in the AARCH64 linker flags. The --require-defined linker flag must be used for each symbol to be preserved. ### PRM Platform GUID diff --git a/STATUS.md b/STATUS.md index 3285a7ea87..77589f54ca 100644 --- a/STATUS.md +++ b/STATUS.md @@ -3,14 +3,14 @@ | Name | Architectures | Targets | Compilable | Tested | | :--- | :-----------: | :-----: | :--------: | :----: | | $${\color{lightblue}ArmPkg/}$$ | -| ArmPkg.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF | ❌ | +| ArmPkg.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF | ❌ | | Drivers/ArmCrashDumpDxe/ArmCrashDumpDxe.dsc | AARCH64 | DEBUG | ❓ | ❌ | | $${\color{lightblue}ArmPlatformPkg/}$$ | -| ArmPlatformPkg.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF | ❌ | +| ArmPlatformPkg.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF | ❌ | | $${\color{lightblue}ArmVirtPkg/}$$ | | ArmVirtCloudHv.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | ArmVirtKvmTool.dsc | ARM AARCH64 | DEBUG RELEASE | ❓ | ❌ | -| ArmVirtQemu.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF | ✔ | +| ArmVirtQemu.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF | ✔ | | ArmVirtQemuKernel.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | ArmVirtXen.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | $${\color{lightblue}CryptoPkg/}$$ | @@ -23,29 +23,29 @@ | $${\color{lightblue}EmulatorPkg/}$$ | | EmulatorPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | $${\color{lightblue}Ext4Pkg/}$$ | -| Ext4Pkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| Ext4Pkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | $${\color{lightblue}FatPkg/}$$ | -| FatPkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| FatPkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | $${\color{lightblue}FmpDevicePkg/}$$ | | FmpDevicePkg.dsc | IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | Test/FmpDeviceHostPkgTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ | | $${\color{lightblue}IntelFsp2Pkg/}$$ | -| IntelFsp2Pkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| IntelFsp2Pkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | Tools/Tests/QemuFspPkg.dsc | IA32 X64 | DEBUG RELEASE | ❓ | ❌ | | $${\color{lightblue}IntelFsp2WrapperPkg/}$$ | -| IntelFsp2WrapperPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| IntelFsp2WrapperPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | $${\color{lightblue}MdeModulePkg/}$$ | -| MdeModulePkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| MdeModulePkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | Test/MdeModulePkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ | | $${\color{lightblue}MdePkg/}$$ | -| MdePkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| MdePkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | Test/MdePkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ | | $${\color{lightblue}NetworkPkg/}$$ | -| NetworkPkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| NetworkPkg.dsc | IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | $${\color{lightblue}OvmfPkg/}$$ | -| OvmfPkgIa32.dsc | IA32 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | -| OvmfPkgIa32X64.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | -| OvmfPkgX64.dsc | X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | +| OvmfPkgIa32.dsc | IA32 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | +| OvmfPkgIa32X64.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | +| OvmfPkgX64.dsc | X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | | OvmfXen.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | AmdSev/AmdSevX64.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | Bhyve/BhyveX64.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | @@ -72,10 +72,10 @@ | $${\color{lightblue}StandaloneMmPkg/}$$ | | StandaloneMmPkg.dsc | X64 ARM AARCH64 | DEBUG RELEASE | ❓ | ❌ | | $${\color{lightblue}UefiCpuPkg/}$$ | -| UefiCpuPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| UefiCpuPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | Test/UefiCpuPkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ | | $${\color{lightblue}UefiPayloadPkg/}$$ | -| UefiPayloadPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| UefiPayloadPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | $${\color{lightblue}UnitTestFrameworkPkg/}$$ | -| UnitTestFrameworkPkg.dsc | IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | +| UnitTestFrameworkPkg.dsc | IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ❌ | | Test/UnitTestFrameworkPkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ | diff --git a/UnitTestFrameworkPkg/ReadMe.md b/UnitTestFrameworkPkg/ReadMe.md index 7da6a320a7..bedf0f7add 100644 --- a/UnitTestFrameworkPkg/ReadMe.md +++ b/UnitTestFrameworkPkg/ReadMe.md @@ -1377,15 +1377,15 @@ After that, the following commands will set up the build and run the host-based ```bash # Setup repo for building -# stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG= +# stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG= stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 # Update all binary dependencies -# stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG= +# stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG= stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 # Build and run the tests -# stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG= -t NOOPT [-p ] +# stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG= -t NOOPT [-p ] stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 -t NOOPT -p MdePkg ``` @@ -1530,7 +1530,7 @@ lcov linux tool, and parsed using the lcov_cobertura python tool to parse it to ```bash sudo apt-get install -y lcov python -m pip install --upgrade -r ./pip-requirements.txt - stuart_ci_build -c .pytool/CISettings.py -t NOOPT TOOL_CHAIN_TAG=GCC5 -p MdeModulePkg + stuart_ci_build -c .pytool/CISettings.py -t NOOPT TOOL_CHAIN_TAG=GCC -p MdeModulePkg Open Build/coverage.xml ``` - How to see code coverage data on IDE Visual Studio Code diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc index 7866c36e66..93f664d29f 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc @@ -29,8 +29,8 @@ GCC:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1 XCODE:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1 !endif - GCC:*_GCC5_*_CC_FLAGS = --coverage - GCC:*_GCC5_*_DLINK_FLAGS = --coverage + GCC:*_GCC_*_CC_FLAGS = --coverage + GCC:*_GCC_*_DLINK_FLAGS = --coverage [BuildOptions.common.EDKII.HOST_APPLICATION] # # MSFT