Build: Replaced GCC5 toolchain with GCC.

This commit is contained in:
Mikhail Krichanov 2023-07-03 12:32:49 +03:00
parent 7886691a93
commit f83c7b5c40
29 changed files with 147 additions and 371 deletions

View File

@ -16,7 +16,7 @@ env:
jobs: jobs:
build-linux-gcc5: build-linux-gcc5:
name: Linux GCC5 name: Linux GCC
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -51,13 +51,13 @@ jobs:
env: env:
SELFPKG: ArmPkg SELFPKG: ArmPkg
SELFPKG_DIR: ArmPkg SELFPKG_DIR: ArmPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: ARM,AARCH64 ARCHS: ARM,AARCH64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
SKIP_PACKAGE: 1 SKIP_PACKAGE: 1
GCC5_ARM_PREFIX: arm-linux-gnueabi- GCC_ARM_PREFIX: arm-linux-gnueabi-
GCC5_AARCH64_PREFIX: aarch64-linux-gnu- GCC_AARCH64_PREFIX: aarch64-linux-gnu-
- name: Build ArmPlatformPkg - name: Build ArmPlatformPkg
if: always() if: always()
@ -65,13 +65,13 @@ jobs:
env: env:
SELFPKG: ArmPlatformPkg SELFPKG: ArmPlatformPkg
SELFPKG_DIR: ArmPlatformPkg SELFPKG_DIR: ArmPlatformPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: ARM,AARCH64 ARCHS: ARM,AARCH64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
SKIP_PACKAGE: 1 SKIP_PACKAGE: 1
GCC5_ARM_PREFIX: arm-linux-gnueabi- GCC_ARM_PREFIX: arm-linux-gnueabi-
GCC5_AARCH64_PREFIX: aarch64-linux-gnu- GCC_AARCH64_PREFIX: aarch64-linux-gnu-
- name: Build ArmVirtQemu - name: Build ArmVirtQemu
if: always() if: always()
@ -79,13 +79,13 @@ jobs:
env: env:
SELFPKG: ArmVirtQemu SELFPKG: ArmVirtQemu
SELFPKG_DIR: ArmVirtPkg SELFPKG_DIR: ArmVirtPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: ARM,AARCH64 ARCHS: ARM,AARCH64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
SKIP_PACKAGE: 1 SKIP_PACKAGE: 1
GCC5_ARM_PREFIX: arm-linux-gnueabi- GCC_ARM_PREFIX: arm-linux-gnueabi-
GCC5_AARCH64_PREFIX: aarch64-linux-gnu- GCC_AARCH64_PREFIX: aarch64-linux-gnu-
- name: Prepare artifacts with firmwares - name: Prepare artifacts with firmwares
if: always() if: always()
@ -101,16 +101,16 @@ jobs:
env: env:
ARCHS: ARM,AARCH64 ARCHS: ARM,AARCH64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
TOOLCHAIN: GCC5 TOOLCHAIN: GCC
- name: Zip artifacts - 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 - name: Upload to Artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: GCC5 Firmware ARM Artifacts name: GCC Firmware ARM Artifacts
path: GCC5_fw_arm_artifacts.zip path: GCC_fw_arm_artifacts.zip
build-linux-clangdwarf: build-linux-clangdwarf:
name: Linux CLANGDWARF name: Linux CLANGDWARF
@ -217,7 +217,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
package: [ 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"}, {name: "ArmVirtQemu", archs: "ARM,AARCH64", toolchain: "CLANGDWARF", targets: "RELEASE,DEBUG,NOOPT"},
] ]
steps: steps:

View File

@ -498,7 +498,7 @@ jobs:
SKIP_PACKAGE: 1 SKIP_PACKAGE: 1
build-linux-gcc5: build-linux-gcc5:
name: Linux GCC5 name: Linux GCC
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -519,7 +519,7 @@ jobs:
env: env:
SELFPKG: Ext4Pkg SELFPKG: Ext4Pkg
SELFPKG_DIR: Ext4Pkg SELFPKG_DIR: Ext4Pkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -531,7 +531,7 @@ jobs:
env: env:
SELFPKG: FatPkg SELFPKG: FatPkg
SELFPKG_DIR: FatPkg SELFPKG_DIR: FatPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -543,7 +543,7 @@ jobs:
env: env:
SELFPKG: IntelFsp2Pkg SELFPKG: IntelFsp2Pkg
SELFPKG_DIR: IntelFsp2Pkg SELFPKG_DIR: IntelFsp2Pkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -555,7 +555,7 @@ jobs:
env: env:
SELFPKG: IntelFsp2WrapperPkg SELFPKG: IntelFsp2WrapperPkg
SELFPKG_DIR: IntelFsp2WrapperPkg SELFPKG_DIR: IntelFsp2WrapperPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -567,7 +567,7 @@ jobs:
env: env:
SELFPKG: MdeModulePkg SELFPKG: MdeModulePkg
SELFPKG_DIR: MdeModulePkg SELFPKG_DIR: MdeModulePkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -579,7 +579,7 @@ jobs:
env: env:
SELFPKG: MdePkg SELFPKG: MdePkg
SELFPKG_DIR: MdePkg SELFPKG_DIR: MdePkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -591,7 +591,7 @@ jobs:
env: env:
SELFPKG: UefiCpuPkg SELFPKG: UefiCpuPkg
SELFPKG_DIR: UefiCpuPkg SELFPKG_DIR: UefiCpuPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -603,7 +603,7 @@ jobs:
env: env:
SELFPKG: UnitTestFrameworkPkg SELFPKG: UnitTestFrameworkPkg
SELFPKG_DIR: UnitTestFrameworkPkg SELFPKG_DIR: UnitTestFrameworkPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -615,7 +615,7 @@ jobs:
env: env:
SELFPKG: NetworkPkg SELFPKG: NetworkPkg
SELFPKG_DIR: NetworkPkg SELFPKG_DIR: NetworkPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32,X64 ARCHS: IA32,X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1

View File

@ -454,7 +454,7 @@ jobs:
path: CLANGDWARF_fw_artifacts.zip path: CLANGDWARF_fw_artifacts.zip
build-linux-gcc5: build-linux-gcc5:
name: Linux GCC5 name: Linux GCC
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -476,7 +476,7 @@ jobs:
env: env:
SELFPKG: OvmfPkgIa32 SELFPKG: OvmfPkgIa32
SELFPKG_DIR: OvmfPkg SELFPKG_DIR: OvmfPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: IA32 ARCHS: IA32
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -489,7 +489,7 @@ jobs:
env: env:
SELFPKG: OvmfPkgX64 SELFPKG: OvmfPkgX64
SELFPKG_DIR: OvmfPkg SELFPKG_DIR: OvmfPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: X64 ARCHS: X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -501,7 +501,7 @@ jobs:
env: env:
SELFPKG: OvmfPkgIa32X64 SELFPKG: OvmfPkgIa32X64
SELFPKG_DIR: OvmfPkg SELFPKG_DIR: OvmfPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: X64 ARCHS: X64
ARCHS_EXT: IA32 ARCHS_EXT: IA32
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
@ -514,7 +514,7 @@ jobs:
env: env:
SELFPKG: UefiPayloadPkg SELFPKG: UefiPayloadPkg
SELFPKG_DIR: UefiPayloadPkg SELFPKG_DIR: UefiPayloadPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: X64 ARCHS: X64
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
SKIP_TESTS: 1 SKIP_TESTS: 1
@ -526,7 +526,7 @@ jobs:
env: env:
SELFPKG: UefiPayloadPkg SELFPKG: UefiPayloadPkg
SELFPKG_DIR: UefiPayloadPkg SELFPKG_DIR: UefiPayloadPkg
TOOLCHAINS: GCC5 TOOLCHAINS: GCC
ARCHS: X64 ARCHS: X64
ARCHS_EXT: IA32 ARCHS_EXT: IA32
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
@ -547,16 +547,16 @@ jobs:
env: env:
ARCHS: Ia32,X64,3264 ARCHS: Ia32,X64,3264
TARGETS: RELEASE,DEBUG,NOOPT TARGETS: RELEASE,DEBUG,NOOPT
TOOLCHAIN: GCC5 TOOLCHAIN: GCC
- name: Zip artifacts - 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 - name: Upload to Artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: GCC5 Firmware Artifacts name: GCC Firmware Artifacts
path: GCC5_fw_artifacts.zip path: GCC_fw_artifacts.zip
test-firmwares: test-firmwares:
name: Test name: Test
@ -571,7 +571,7 @@ jobs:
{name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "VS2019", targets: "RELEASE,DEBUG,NOOPT"}, {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: "CLANGPDB", targets: "RELEASE,DEBUG,NOOPT"},
{name: "Ovmf", archs: "Ia32,X64,3264", toolchain: "CLANGDWARF", 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: steps:
- name: Checkout ocbuild repository - name: Checkout ocbuild repository

View File

@ -5,7 +5,7 @@
# #
#*/ #*/
EDK2_TOOLCHAIN ?= GCC5 EDK2_TOOLCHAIN ?= GCC
EDK2_ARCH ?= ARM EDK2_ARCH ?= ARM
EDK2_BUILD ?= DEBUG EDK2_BUILD ?= DEBUG

View File

@ -6,7 +6,7 @@ to use the same Pytools based build infrastructure locally.
## Supported Configuration Details ## Supported Configuration Details
This solution for building and running ArmVirtPkg has been validated with Fedora This solution for building and running ArmVirtPkg has been validated with Fedora
37 Linux and the GCC5 toolchain. The following different firmware builds are 37 Linux and the GCC toolchain. The following different firmware builds are
supported. supported.
| Configuration name | Architecture | DSC File | Additional Flags | | Configuration name | Architecture | DSC File | Additional Flags |

View File

@ -17,9 +17,8 @@
# - Change RC path to use plugin # - Change RC path to use plugin
# 3.00 - Update toolchains # 3.00 - Update toolchains
# - Add support for ARM and AARCH64 to CLANGDWARF # - 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 # - Add GCC and GCCNOLTO
# - Deprecate GCC5.
# #
#!VERSION=3.00 #!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_IA32_PREFIX = ENV(GCCNOLTO_BIN)
DEFINE GCCNOLTO_X64_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_IA32_PREFIX = ENV(GCC_BIN)
DEFINE GCC_X64_PREFIX = ENV(GCC_BIN) DEFINE GCC_X64_PREFIX = ENV(GCC_BIN)
DEFINE GCC_HOST_PREFIX = ENV(GCC_HOST_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). # 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. # /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
# GCCNOLTO -Linux,Windows- Requires: # 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: # Optional:
# Required to build platforms or ACPI tables: # Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler from # Intel(r) ACPI Compiler from
@ -220,15 +217,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Intel(r) ACPI Compiler (iasl.exe) from # Intel(r) ACPI Compiler (iasl.exe) from
# https://acpica.org/downloads # 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
#
#################################################################################### ####################################################################################
#################################################################################### ####################################################################################
# #
@ -963,213 +951,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_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0
NOOPT_GCCNOLTO_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20 -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 # GCC - This configuration is used to compile under Linux to produce
@ -1179,7 +960,7 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un
*_GCC_*_*_FAMILY = GCC *_GCC_*_*_FAMILY = GCC
*_GCC_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make *_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_*_ASL_PATH = DEF(UNIX_IASL_BIN)
*_GCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS) *_GCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
@ -1207,20 +988,19 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un
*_GCC_IA32_RC_PATH = DEF(GCC_IA32_PREFIX)objcopy *_GCC_IA32_RC_PATH = DEF(GCC_IA32_PREFIX)objcopy
*_GCC_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32 *_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_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
*_GCC_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie *_GCC_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
*_GCC_IA32_OBJCOPY_FLAGS = *_GCC_IA32_NASM_FLAGS = -f elf32 -DRODATA_SECTION_NAME=.rodata
*_GCC_IA32_NASM_FLAGS = -f elf32
DEBUG_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto 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,-m,elf_i386,--oformat=elf32-i386 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_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,-m,elf_i386,--oformat=elf32-i386 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_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 # GCC X64 definitions
@ -1241,8 +1021,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_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
*_GCC_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 *_GCC_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
*_GCC_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) *_GCC_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
*_GCC_X64_OBJCOPY_FLAGS = *_GCC_X64_NASM_FLAGS = -f elf64 -DRODATA_SECTION_NAME=.rodata
*_GCC_X64_NASM_FLAGS = -f elf64
DEBUG_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO 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 DEBUG_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
@ -1256,6 +1035,7 @@ RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
################## ##################
# GCC ARM definitions # GCC ARM definitions
################## ##################
*_GCC_ARM_OBJCOPY_PATH = ENV(GCC_ARM_PREFIX)objcopy
*_GCC_ARM_CC_PATH = ENV(GCC_ARM_PREFIX)gcc *_GCC_ARM_CC_PATH = ENV(GCC_ARM_PREFIX)gcc
*_GCC_ARM_SLINK_PATH = ENV(GCC_ARM_PREFIX)gcc-ar *_GCC_ARM_SLINK_PATH = ENV(GCC_ARM_PREFIX)gcc-ar
*_GCC_ARM_DLINK_PATH = ENV(GCC_ARM_PREFIX)gcc *_GCC_ARM_DLINK_PATH = ENV(GCC_ARM_PREFIX)gcc
@ -1272,9 +1052,8 @@ RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
*_GCC_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) *_GCC_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
*_GCC_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) *_GCC_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
*_GCC_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
*_GCC_ARM_PLATFORM_FLAGS = -march=armv7-a -mfloat-abi=soft *_GCC_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) -mthumb -march=armv7-a
*_GCC_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -mthumb -march=armv7-a
*_GCC_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
*_GCC_ARM_CC_SECPEIFLAGS = DEF(GCC_ARM_CC_SECPEIFLAGS) *_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 DEBUG_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
@ -1289,6 +1068,7 @@ RELEASE_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSP
################## ##################
# GCC AARCH64 definitions # GCC AARCH64 definitions
################## ##################
*_GCC_AARCH64_OBJCOPY_PATH = ENV(GCC_AARCH64_PREFIX)objcopy
*_GCC_AARCH64_CC_PATH = ENV(GCC_AARCH64_PREFIX)gcc *_GCC_AARCH64_CC_PATH = ENV(GCC_AARCH64_PREFIX)gcc
*_GCC_AARCH64_SLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc-ar *_GCC_AARCH64_SLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc-ar
*_GCC_AARCH64_DLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc *_GCC_AARCH64_DLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc
@ -1305,22 +1085,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_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
*_GCC_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS) *_GCC_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
*_GCC_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
*_GCC_AARCH64_PLATFORM_FLAGS = *_GCC_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS)
*_GCC_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) *_GCC_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
*_GCC_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
*_GCC_AARCH64_CC_SECPEIFLAGS = DEF(GCC_AARCH64_CC_SECPEIFLAGS) *_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_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_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_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_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_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0
NOOPT_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_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
#################################################################################### ####################################################################################
# #
@ -1350,7 +1129,6 @@ RELEASE_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20
*_GCC_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps *_GCC_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps
*_GCC_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS) *_GCC_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS)
*_GCC_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS) *_GCC_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS)
*_GCC_RISCV64_OBJCOPY_FLAGS =
*_GCC_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) *_GCC_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
*_GCC_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES) *_GCC_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES)
@ -1374,7 +1152,6 @@ RELEASE_GCC_AARCH64_DLINK_SECPEIFLAGS = -z common-page-size=0x20
*_GCC_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS) *_GCC_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS)
*_GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS) *_GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS)
*_GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS) *_GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
*_GCC_LOONGARCH64_OBJCOPY_FLAGS =
*_GCC_LOONGARCH64_NASM_FLAGS = -f elf32 *_GCC_LOONGARCH64_NASM_FLAGS = -f elf32
*_GCC_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS) *_GCC_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS)

View File

@ -1,7 +1,7 @@
# @file Edk2ToolsBuild.py # @file Edk2ToolsBuild.py
# Invocable class that builds the basetool c files. # Invocable class that builds the basetool c files.
# #
# Supports VS2017, VS2019, and GCC5 # Supports VS2017, VS2019, and GCC
## ##
# Copyright (c) Microsoft Corporation # Copyright (c) Microsoft Corporation
# #

View File

@ -129,7 +129,7 @@ class HostBasedUnitTestRunner(IUefiBuildPlugin):
failure_count += 1 failure_count += 1
if thebuilder.env.GetValue("CODE_COVERAGE") != "FALSE": 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) ret = self.gen_code_coverage_gcc(thebuilder)
if ret != 0: if ret != 0:
failure_count += 1 failure_count += 1

View File

@ -1,5 +1,5 @@
# @file LinuxGcc5ToolChain.py # @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 # This plugin works in conjuncture with the tools_def
# #
@ -23,8 +23,8 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin):
self.Logger = logging.getLogger("LinuxGcc5ToolChain") self.Logger = logging.getLogger("LinuxGcc5ToolChain")
# #
# GCC5 - The ARM and AARCH64 compilers need their paths set if available # GCC - The ARM and AARCH64 compilers need their paths set if available
if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC5": if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC":
# Start with AARACH64 compiler # Start with AARACH64 compiler
ret = self._check_aarch64() ret = self._check_aarch64()
@ -54,46 +54,46 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin):
def _check_arm(self): def _check_arm(self):
# check to see if full path already configured # check to see if full path already configured
if shell_environment.GetEnvironment().get_shell_var("GCC5_ARM_PREFIX") is not None: if shell_environment.GetEnvironment().get_shell_var("GCC_ARM_PREFIX") is not None:
self.Logger.info("GCC5_ARM_PREFIX is already set.") self.Logger.info("GCC_ARM_PREFIX is already set.")
else: else:
# now check for install dir. If set then set the Prefix # 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: if install_path is None:
return 0 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-") 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 # now confirm it exists
if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC5_ARM_PREFIX") + "gcc"): if not os.path.exists(shell_environment.GetEnvironment().get_shell_var("GCC_ARM_PREFIX") + "gcc"):
self.Logger.error("Path for GCC5_ARM_PREFIX toolchain is invalid") self.Logger.error("Path for GCC_ARM_PREFIX toolchain is invalid")
return -2 return -2
return 0 return 0
def _check_aarch64(self): def _check_aarch64(self):
# check to see if full path already configured # check to see if full path already configured
if shell_environment.GetEnvironment().get_shell_var("GCC5_AARCH64_PREFIX") is not None: if shell_environment.GetEnvironment().get_shell_var("GCC_AARCH64_PREFIX") is not None:
self.Logger.info("GCC5_AARCH64_PREFIX is already set.") self.Logger.info("GCC_AARCH64_PREFIX is already set.")
else: else:
# now check for install dir. If set then set the Prefix # now check for install dir. If set then set the Prefix
install_path = shell_environment.GetEnvironment( install_path = shell_environment.GetEnvironment(
).get_shell_var("GCC5_AARCH64_INSTALL") ).get_shell_var("GCC_AARCH64_INSTALL")
if install_path is None: if install_path is None:
return 0 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-") 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 # 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( self.Logger.error(
"Path for GCC5_AARCH64_PREFIX toolchain is invalid") "Path for GCC_AARCH64_PREFIX toolchain is invalid")
return -2 return -2
return 0 return 0
@ -101,23 +101,23 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin):
def _check_riscv64(self): def _check_riscv64(self):
# now check for install dir.  If set then set the Prefix # now check for install dir.  If set then set the Prefix
install_path = shell_environment.GetEnvironment( install_path = shell_environment.GetEnvironment(
).get_shell_var("GCC5_RISCV64_INSTALL") ).get_shell_var("GCC_RISCV64_INSTALL")
if install_path is None: if install_path is None:
return 0 return 0
# check to see if full path already configured # check to see if full path already configured
if shell_environment.GetEnvironment().get_shell_var("GCC5_RISCV64_PREFIX") is not None: if shell_environment.GetEnvironment().get_shell_var("GCC_RISCV64_PREFIX") is not None:
self.Logger.info("GCC5_RISCV64_PREFIX is already set.") self.Logger.info("GCC_RISCV64_PREFIX is already set.")
else: 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-") 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 # 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( self.Logger.error(
"Path for GCC5_RISCV64_PREFIX toolchain is invalid") "Path for GCC_RISCV64_PREFIX toolchain is invalid")
return -2 return -2
# Check if LD_LIBRARY_PATH is set for the libraries of RISC-V GCC toolchain # 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): def _check_loongarch64(self):
# check to see if full path already configured # check to see if full path already configured
if shell_environment.GetEnvironment().get_shell_var("GCC5_LOONGARCH64_PREFIX") is not None: if shell_environment.GetEnvironment().get_shell_var("GCC_LOONGARCH64_PREFIX") is not None:
self.Logger.info("GCC5_LOONGARCH64_PREFIX is already set.") self.Logger.info("GCC_LOONGARCH64_PREFIX is already set.")
else: else:
# now check for install dir. If set then set the Prefix # now check for install dir. If set then set the Prefix
install_path = shell_environment.GetEnvironment( install_path = shell_environment.GetEnvironment(
).get_shell_var("GCC5_LOONGARCH64_INSTALL") ).get_shell_var("GCC_LOONGARCH64_INSTALL")
if install_path is None: if install_path is None:
return 0 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-") 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 # 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( self.Logger.error(
"Path for GCC5_LOONGARCH64_PREFIX toolchain is invalid") "Path for GCC_LOONGARCH64_PREFIX toolchain is invalid")
return -2 return -2
return 0 return 0

View File

@ -1,12 +1,12 @@
## @file ## @file
# Build Plugin used to set the path # 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. # Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent # SPDX-License-Identifier: BSD-2-Clause-Patent
## ##
{ {
"scope": "global-nix", "scope": "global-nix",
"name": "Linux GCC5 Tool Chain Support", "name": "Linux GCC Tool Chain Support",
"module": "LinuxGcc5ToolChain" "module": "LinuxGcc5ToolChain"
} }

View File

@ -718,7 +718,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:*_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 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 # 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: # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:
# 1295: Deprecated declaration <entity> - give arg types # 1295: Deprecated declaration <entity> - give arg types

View File

@ -1380,7 +1380,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:*_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 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 # 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: # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:
# 1295: Deprecated declaration <entity> - give arg types # 1295: Deprecated declaration <entity> - give arg types

View File

@ -674,7 +674,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:*_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 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 # 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: # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:
# 1295: Deprecated declaration <entity> - give arg types # 1295: Deprecated declaration <entity> - give arg types

View File

@ -772,7 +772,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:*_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 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 # 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: # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:
# 1295: Deprecated declaration <entity> - give arg types # 1295: Deprecated declaration <entity> - give arg types

View File

@ -1483,7 +1483,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:*_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 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 # 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: # suppress the following warnings in openssl so we don't break the build with warnings-as-errors:
# 1295: Deprecated declaration <entity> - give arg types # 1295: Deprecated declaration <entity> - give arg types

View File

@ -314,12 +314,12 @@ parameter to the edk2 build system.
Example: Example:
>build -a AARCH64 -p Platform\ARM\JunoPkg\ArmJuno.dsc >build -a AARCH64 -p Platform\ARM\JunoPkg\ArmJuno.dsc
-t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** -t GCC **-D DYNAMIC_TABLES_FRAMEWORK**
or or
>build -a AARCH64 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc >build -a AARCH64 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc
-t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** -t GCC **-D DYNAMIC_TABLES_FRAMEWORK**
# Prerequisites # Prerequisites
@ -368,7 +368,7 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'*
``` ```
stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
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 5. Initialize & Update Dependencies - only as needed when ext_deps change
@ -376,7 +376,7 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'*
``` ```
stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
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 6. Compile the basetools if necessary - only when basetools C source files change
@ -390,7 +390,7 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'*
``` ```
stuart_build-c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> stuart_build-c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
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. - use `stuart_build -c .pytool/CISettings.py -h` option to see help on additional options.
@ -401,4 +401,3 @@ The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'*
Refer to the following presentation from *UEFI Plugfest Seattle 2018*: 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) [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)

View File

@ -6,7 +6,7 @@ to use the same Pytools based build infrastructure locally.
## Supported Configuration Details ## Supported Configuration Details
This solution for building and running EmulatorPkg has only been validated with Windows 10 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. supported and are described below.
| Configuration name | Architectures | DSC File |Additional Flags | | Configuration name | Architectures | DSC File |Additional Flags |

View File

@ -29,11 +29,11 @@ https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg
* 32bit emulator in Linux: * 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: * 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:** **You can start/run the emulator using the following command:**
* 32bit emulator in Windows: * 32bit emulator in Windows:
@ -46,11 +46,11 @@ https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg
* 32bit emulator in Linux: * 32bit emulator in Linux:
`cd Build/EmulatorIA32/DEBUG_GCC5/IA32/ && ./Host` `cd Build/EmulatorIA32/DEBUG_GCC/IA32/ && ./Host`
* 64bit emulator in Linux: * 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 **On posix-like environment with the bash shell you can use EmulatorPkg/build.sh to simplify building and running
emulator.** emulator.**

View File

@ -119,9 +119,9 @@
GCC:*_*_IA32_ASM_FLAGS == -m32 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h 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:*_*_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:*_*_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_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 GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h

View File

@ -42,7 +42,7 @@ PLATFORMFILE=
LAST_ARG= LAST_ARG=
RUN_EMULATOR=no RUN_EMULATOR=no
CLEAN_TYPE=none CLEAN_TYPE=none
TARGET_TOOLS=GCC5 TARGET_TOOLS=GCC
NETWORK_SUPPORT= NETWORK_SUPPORT=
BUILD_NEW_SHELL= BUILD_NEW_SHELL=
BUILD_FAT= BUILD_FAT=
@ -92,7 +92,7 @@ case `uname` in
exit 1 exit 1
;; ;;
*) *)
TARGET_TOOLS=GCC5 TARGET_TOOLS=GCC
;; ;;
esac esac
;; ;;

View File

@ -461,7 +461,7 @@
################################################################################################### ###################################################################################################
[BuildOptions] [BuildOptions]
# Append build options for EDK and EDKII drivers (= is Append, == is Replace) # Append build options for EDK and EDKII drivers (= is Append, == is Replace)
*_GCC5_IA32_CC_FLAGS = -fno-pic *_GCC_IA32_CC_FLAGS = -fno-pic
*_GCC5_IA32_DLINK_FLAGS = -no-pie *_GCC_IA32_DLINK_FLAGS = -no-pie
*_GCC5_IA32_ASLCC_FLAGS = -fno-pic *_GCC_IA32_ASLCC_FLAGS = -fno-pic
*_GCC5_IA32_ASLDLINK_FLAGS = -no-pie *_GCC_IA32_ASLDLINK_FLAGS = -no-pie

View File

@ -46,7 +46,7 @@ follows:
./cloud-hypervisor \ ./cloud-hypervisor \
--cpus boot=1 \ --cpus boot=1 \
--memory size=1G \ --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 --disk path=/path/to/disk.raw
Releases Releases

View File

@ -62,17 +62,17 @@ cd /path/to/edk2
source edksetup.sh source edksetup.sh
## without CC_MEASUREMENT enabled ## without CC_MEASUREMENT enabled
build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5 -b RELEASE build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC -b RELEASE
## CC_MEASUREMENT enabled ## CC_MEASUREMENT enabled
build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC5 -D CC_MEASUREMENT_ENABLE=TRUE -b RELEASE build -p OvmfPkg/OvmfPkgX64.dsc -a X64 -t GCC -D CC_MEASUREMENT_ENABLE=TRUE -b RELEASE
``` ```
- Build the TDVF (Config-B) target: - Build the TDVF (Config-B) target:
``` ```
cd /path/to/edk2 cd /path/to/edk2
source edksetup.sh source edksetup.sh
build -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC5 -b RELEASE build -p OvmfPkg/IntelTdx/IntelTdxX64.dsc -a X64 -t GCC -b RELEASE
``` ```
Usage Usage

View File

@ -6,7 +6,7 @@ to use the same Pytools based build infrastructure locally.
## Supported Configuration Details ## Supported Configuration Details
This solution for building and running OvmfPkg has only been validated with Windows 10 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. supported and are described below.
| Configuration name | Architectures | DSC File |Additional Flags | | Configuration name | Architectures | DSC File |Additional Flags |

View File

@ -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 $ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso
To build a 32-bit OVMF without debug messages using GCC 5: 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
=== Secure Boot === === Secure Boot ===

View File

@ -82,7 +82,7 @@ case `uname` in
exit 1 exit 1
;; ;;
*) *)
TARGET_TOOLS=GCC5 TARGET_TOOLS=GCC
;; ;;
esac esac
esac esac

View File

@ -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. > later in this document and dump the PRMT table in the OS to check if your PRM module is represented as expected.
- AArch64 - 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***: Only builds with the GCC 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***: 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 ### PRM Platform GUID

View File

@ -3,14 +3,14 @@
| Name | Architectures | Targets | Compilable | Tested | | Name | Architectures | Targets | Compilable | Tested |
| :--- | :-----------: | :-----: | :--------: | :----: | | :--- | :-----------: | :-----: | :--------: | :----: |
| $${\color{lightblue}ArmPkg/}$$ | | $${\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 | ❓ | ❌ | | Drivers/ArmCrashDumpDxe/ArmCrashDumpDxe.dsc | AARCH64 | DEBUG | ❓ | ❌ |
| $${\color{lightblue}ArmPlatformPkg/}$$ | | $${\color{lightblue}ArmPlatformPkg/}$$ |
| ArmPlatformPkg.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF | ❌ | | ArmPlatformPkg.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF | ❌ |
| $${\color{lightblue}ArmVirtPkg/}$$ | | $${\color{lightblue}ArmVirtPkg/}$$ |
| ArmVirtCloudHv.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | ArmVirtCloudHv.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| ArmVirtKvmTool.dsc | ARM AARCH64 | DEBUG RELEASE | ❓ | ❌ | | 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 | ❓ | ❌ | | ArmVirtQemuKernel.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| ArmVirtXen.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | ArmVirtXen.dsc | ARM AARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| $${\color{lightblue}CryptoPkg/}$$ | | $${\color{lightblue}CryptoPkg/}$$ |
@ -23,29 +23,29 @@
| $${\color{lightblue}EmulatorPkg/}$$ | | $${\color{lightblue}EmulatorPkg/}$$ |
| EmulatorPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | EmulatorPkg.dsc | IA32 X64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| $${\color{lightblue}Ext4Pkg/}$$ | | $${\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/}$$ | | $${\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/}$$ | | $${\color{lightblue}FmpDevicePkg/}$$ |
| FmpDevicePkg.dsc | IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | FmpDevicePkg.dsc | IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| Test/FmpDeviceHostPkgTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ | | Test/FmpDeviceHostPkgTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ |
| $${\color{lightblue}IntelFsp2Pkg/}$$ | | $${\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 | ❓ | ❌ | | Tools/Tests/QemuFspPkg.dsc | IA32 X64 | DEBUG RELEASE | ❓ | ❌ |
| $${\color{lightblue}IntelFsp2WrapperPkg/}$$ | | $${\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/}$$ | | $${\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 | ❓ | ❌ | | Test/MdeModulePkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ |
| $${\color{lightblue}MdePkg/}$$ | | $${\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 | ❓ | ❌ | | Test/MdePkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ |
| $${\color{lightblue}NetworkPkg/}$$ | | $${\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/}$$ | | $${\color{lightblue}OvmfPkg/}$$ |
| OvmfPkgIa32.dsc | IA32 | 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 | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | | OvmfPkgIa32X64.dsc | IA32 X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ |
| OvmfPkgX64.dsc | X64 | DEBUG RELEASE NOOPT | GCC5 CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ | | OvmfPkgX64.dsc | X64 | DEBUG RELEASE NOOPT | GCC CLANGDWARF CLANGPDB VS2019 XCODE5 | ✔ |
| OvmfXen.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | OvmfXen.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| AmdSev/AmdSevX64.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | AmdSev/AmdSevX64.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
| Bhyve/BhyveX64.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ | | Bhyve/BhyveX64.dsc | X64 | DEBUG RELEASE NOOPT | ❓ | ❌ |
@ -72,10 +72,10 @@
| $${\color{lightblue}StandaloneMmPkg/}$$ | | $${\color{lightblue}StandaloneMmPkg/}$$ |
| StandaloneMmPkg.dsc | X64 ARM AARCH64 | DEBUG RELEASE | ❓ | ❌ | | StandaloneMmPkg.dsc | X64 ARM AARCH64 | DEBUG RELEASE | ❓ | ❌ |
| $${\color{lightblue}UefiCpuPkg/}$$ | | $${\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 | ❓ | ❌ | | Test/UefiCpuPkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ |
| $${\color{lightblue}UefiPayloadPkg/}$$ | | $${\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/}$$ | | $${\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 | ❓ | ❌ | | Test/UnitTestFrameworkPkgHostTest.dsc | IA32 X64 | NOOPT | ❓ | ❌ |

View File

@ -1361,15 +1361,15 @@ After that, the following commands will set up the build and run the host-based
```bash ```bash
# Setup repo for building # Setup repo for building
# stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=<GCC5, VS2019, etc.> # stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=<GCC, VS2019, etc.>
stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 stuart_setup -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
# Update all binary dependencies # Update all binary dependencies
# stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=<GCC5, VS2019, etc.> # stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=<GCC, VS2019, etc.>
stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 stuart_update -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019
# Build and run the tests # Build and run the tests
# stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=<GCC5, VS2019, etc.> -t NOOPT [-p <Package Name>] # stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=<GCC, VS2019, etc.> -t NOOPT [-p <Package Name>]
stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 -t NOOPT -p MdePkg stuart_ci_build -c ./.pytool/CISettings.py TOOL_CHAIN_TAG=VS2019 -t NOOPT -p MdePkg
``` ```
@ -1514,7 +1514,7 @@ lcov linux tool, and parsed using the lcov_cobertura python tool to parse it to
```bash ```bash
sudo apt-get install -y lcov sudo apt-get install -y lcov
python -m pip install --upgrade -r ./pip-requirements.txt 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 Open Build/coverage.xml
``` ```
- How to see code coverage data on IDE Visual Studio Code - How to see code coverage data on IDE Visual Studio Code