From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by mx.groups.io with SMTP id smtpd.web11.2712.1680024708867144570 for ; Tue, 28 Mar 2023 10:31:49 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@bsdio.com header.s=fm3 header.b=b7xgV0LL; spf=pass (domain: bsdio.com, ip: 66.111.4.26, mailfrom: rebecca@bsdio.com) Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 2307F5C00E2; Tue, 28 Mar 2023 13:31:48 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Tue, 28 Mar 2023 13:31:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdio.com; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1680024708; x=1680111108; bh=9IFzm8D37DhAxuPI47NShRboSIkf3zs3Utg PCMPwH10=; b=b7xgV0LLvepaDIYtkEAIzHjUUowoeNBqJL/NGfVFCOtO/laajyX 5wAXxQM64QDXvU+DyrMvqEihM7/5pMSQXVyhnnhObn5SvooM7n2YFMYng1gdCnZR JvsULObWIX+ZTcWvvUgfiAKptBVK5GpWOw0Ol/+C8ghC5cPepq5WG5HaTiJXX0y6 Ogm67ijQsdGLFzTxG6W35pT2Nwm5ONuzSdWDR4XuYOsmCcEvSrm3eC4rVWCBWdzI BmPZDlf+wlMDkBx9nmzOYBHcTcWuI9KQJ8HBUqmw7roQn2O30oOSYDGqhsU2WkI1 tYXWd4hdUrRAb6cAuYFA6HjZ2qkzZoixJMA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1680024708; x=1680111108; bh=9IFzm8D37DhAxuPI47NShRboSIkf3zs3Utg PCMPwH10=; b=GHLFSbpGwe3YSyCPj5qC69fLf2eaVlWtO5WYMAg4Qwh6oqzQ1HV WUxduTsm8UpJQRcwLsp15CSEaVUb7CGTG4G18m0qNNIiPXfnjCZXcuIG+hrW8jyH g4ti5eRpzMEBrIVNNsgEa55dDTpFbAX+C6WX7K6gg8a838JTCSXYTIASvvMpaSU+ UgRMIjjzC0KAwzX8+iV+BnoD6oUf3xEe2U4p05zXQ7GP0P7YfsZSFKEhQ/J41VBZ 6KDks8Z0MaTU5F/4UBBZA75jaeKU2l4yDfRkefjfp8nH76QOexUub5S2juZAoKBV HfH3PD/YD7vmvRk97WtdiL/rd90NLBfXfgA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgedguddufecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enogfuuhhsphgvtghtffhomhgrihhnucdlgeelmdenucfjughrpefhvfevufffkffojghf gggtgfesthekredtredtjeenucfhrhhomheptfgvsggvtggtrgcuvehrrghnuceorhgvsg gvtggtrgessghsughiohdrtghomheqnecuggftrfgrthhtvghrnhepveefjeegudfhgefg hfeugfehveethffggeeiffeftdehffefuddtveffleduvdfhnecuffhomhgrihhnpegush gtrdhinhgtpdgvughkihhirdhhohhsthdphhhomhgvrdhlohgtrghlpdgrtghpihgtrgdr ohhrghdplhhoghhgvghrrdhinhhfohdpghhithhhuhgsrdgtohhmpdhgihhthhhusgdrih honecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprhgv sggvtggtrgessghsughiohdrtghomh X-ME-Proxy: Feedback-ID: i5b994698:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 28 Mar 2023 13:31:45 -0400 (EDT) From: "Rebecca Cran" To: devel@edk2.groups.io, Oliver Smith-Denny , Guomin Jiang , Xiaoyu Lu , Jian J Wang , Jiewen Yao , Ard Biesheuvel , Jordan Justen , Gerd Hoffmann , Bob Feng , Liming Gao , Andrew Fish , Leif Lindholm , Michael D Kinney Cc: Rebecca Cran Subject: [PATCH v2 11/13] Delete GCC48 and GCC49 toolchains and rename GCC5 to GCC Date: Tue, 28 Mar 2023 11:31:09 -0600 Message-Id: <20230328173111.759017-12-rebecca@bsdio.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230328173111.759017-1-rebecca@bsdio.com> References: <20230328173111.759017-1-rebecca@bsdio.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rebecca Cran --- UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc | 4 +- IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc | 12 +- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 2 +- CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf | 2 +- CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 2 +- CryptoPkg/Library/OpensslLib/OpensslLibFull.inf | 2 +- CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf | 2 +- EmulatorPkg/Unix/Host/Host.inf | 6 +- OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c | 5 - .azurepipelines/Ubuntu-GCC5.yml | 4 +- .azurepipelines/templates/platform-build-run-steps.yml | 2 +- .azurepipelines/templates/pr-gate-build-job.yml | 2 +- .azurepipelines/templates/pr-gate-steps.yml | 2 +- ArmPlatformPkg/Scripts/Makefile | 2 +- ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml | 4 +- ArmVirtPkg/PlatformCI/ReadMe.md | 2 +- BaseTools/Conf/tools_def.template | 891 ++++++-------------- BaseTools/Edk2ToolsBuild.py | 2 +- BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py | 2 +- BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 62 +- BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml | 4 +- DynamicTablesPkg/Readme.md | 10 +- EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml | 4 +- EmulatorPkg/PlatformCI/ReadMe.md | 2 +- EmulatorPkg/Readme.md | 8 +- EmulatorPkg/build.sh | 14 +- OvmfPkg/CloudHv/README | 2 +- OvmfPkg/IntelTdx/README | 4 +- OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml | 4 +- OvmfPkg/PlatformCI/ReadMe.md | 2 +- OvmfPkg/README | 4 +- OvmfPkg/build.sh | 12 +- PrmPkg/Readme.md | 6 +- ReadMe.rst | 102 +-- UnitTestFrameworkPkg/ReadMe.md | 8 +- 35 files changed, 409 insertions(+), 789 deletions(-) diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc index 7f5dfa30ed60..6228cbf378ec 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc @@ -27,8 +27,8 @@ [BuildOptions] 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 diff --git a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc index 31558121185d..2dea82228383 100644 --- a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc +++ b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc @@ -461,10 +461,8 @@ [Components.IA32] ################################################################################################### [BuildOptions] # Append build options for EDK and EDKII drivers (= is Append, == is Replace) - # Enable link-time optimization when building with GCC49 - *_GCC49_IA32_CC_FLAGS = -flto - *_GCC49_IA32_DLINK_FLAGS = -flto - *_GCC5_IA32_CC_FLAGS = -fno-pic - *_GCC5_IA32_DLINK_FLAGS = -no-pie - *_GCC5_IA32_ASLCC_FLAGS = -fno-pic - *_GCC5_IA32_ASLDLINK_FLAGS = -no-pie + # Enable link-time optimization when building with GCC + *_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/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index 003e17cb8e17..8ce713a4d76c 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -642,7 +642,7 @@ [BuildOptions] GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized 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 dded0b66806b..e15446e1846a 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf @@ -690,7 +690,7 @@ [BuildOptions] GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized 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 523d766f6be0..e38eddf97395 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -592,7 +592,7 @@ [BuildOptions] GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized 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 9baf0cbfb42c..b119a53c53a8 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf @@ -697,7 +697,7 @@ [BuildOptions] GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized 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 beb8e6986a4a..c42273b9daed 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf @@ -745,7 +745,7 @@ [BuildOptions] GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized 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/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf index f5ebbed68344..b9847be5b9f5 100644 --- a/EmulatorPkg/Unix/Host/Host.inf +++ b/EmulatorPkg/Unix/Host/Host.inf @@ -119,11 +119,9 @@ [BuildOptions] 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:*_GCC48_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" - GCC:*_GCC49_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" - 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/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c b/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c index 248a03e8db0b..1af3162d226a 100644 --- a/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c +++ b/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c @@ -340,11 +340,6 @@ QemuLoadKernelImage ( CHAR8 *CommandLine; UINTN InitrdSize; - // - // Redundant assignment to work around GCC48/GCC49 limitations. - // - CommandLine = NULL; - // // Load the image. This should call back into the QEMU EFI loader file system. // diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml index b9a3b851cf3c..c6ddcc7f9af6 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -1,5 +1,5 @@ ## @file -# Azure Pipeline build file for a build using ubuntu and GCC5 +# Azure Pipeline build file for a build using ubuntu and GCC # # Copyright (c) Microsoft Corporation. # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.
@@ -19,7 +19,7 @@ variables: jobs: - template: templates/pr-gate-build-job.yml parameters: - tool_chain_tag: 'GCC5' + tool_chain_tag: 'GCC' vm_image: 'ubuntu-22.04' container: ${{ variables.default_linux_image }} arch_list: "IA32,X64,ARM,AARCH64,RISCV64,LOONGARCH64" diff --git a/.azurepipelines/templates/platform-build-run-steps.yml b/.azurepipelines/templates/platform-build-run-steps.yml index 087f460d7fec..ce828e8c60bf 100644 --- a/.azurepipelines/templates/platform-build-run-steps.yml +++ b/.azurepipelines/templates/platform-build-run-steps.yml @@ -43,7 +43,7 @@ steps: echo "##vso[task.prependpath]${HOME}/.local/bin" echo "new PATH=${PATH}" displayName: Set PATH - condition: eq('${{ parameters.tool_chain_tag }}', 'GCC5') + condition: eq('${{ parameters.tool_chain_tag }}', 'GCC') - checkout: self clean: true diff --git a/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipelines/templates/pr-gate-build-job.yml index 3999bb166813..5142ca6636ba 100644 --- a/.azurepipelines/templates/pr-gate-build-job.yml +++ b/.azurepipelines/templates/pr-gate-build-job.yml @@ -24,7 +24,7 @@ jobs: #Use matrix to speed up the build process strategy: matrix: - ${{ if eq(parameters.tool_chain_tag, 'GCC5') }}: + ${{ if eq(parameters.tool_chain_tag, 'GCC') }}: TARGET_GCC_ONLY: Build.Pkgs: 'EmbeddedPkg' Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' diff --git a/.azurepipelines/templates/pr-gate-steps.yml b/.azurepipelines/templates/pr-gate-steps.yml index 78b2b2c8d934..2ca9e134be39 100644 --- a/.azurepipelines/templates/pr-gate-steps.yml +++ b/.azurepipelines/templates/pr-gate-steps.yml @@ -20,7 +20,7 @@ steps: echo "##vso[task.prependpath]${HOME}/.local/bin" echo "new PATH=${PATH}" displayName: Set PATH - condition: eq('${{ parameters.tool_chain_tag }}', 'GCC5') + condition: eq('${{ parameters.tool_chain_tag }}', 'GCC') - checkout: self clean: true diff --git a/ArmPlatformPkg/Scripts/Makefile b/ArmPlatformPkg/Scripts/Makefile index baa618456413..686b68614f03 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/.azurepipelines/Ubuntu-GCC5.yml b/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml index d1772a65fc3a..dfc5c119096f 100644 --- a/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -3,7 +3,7 @@ # # Platform: ArmVirtQemu # OS: Ubuntu -# Toolchain: GCC5 +# Toolchain: GCC # # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -151,7 +151,7 @@ jobs: steps: - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml parameters: - tool_chain_tag: GCC5 + tool_chain_tag: GCC build_pkg: $(package) build_target: $(Build.Target) build_arch: $(Build.Arch) diff --git a/ArmVirtPkg/PlatformCI/ReadMe.md b/ArmVirtPkg/PlatformCI/ReadMe.md index ee8d8cd61e73..bf9f7f5cac7e 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 831733ceeae0..3a60fe9b5965 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -71,14 +71,8 @@ DEFINE CYGWIN_BIN = c:/cygwin/bin DEFINE CYGWIN_BINIA32 = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ DEFINE CYGWIN_BINX64 = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/ -DEFINE GCC48_IA32_PREFIX = ENV(GCC48_BIN) -DEFINE GCC48_X64_PREFIX = ENV(GCC48_BIN) - -DEFINE GCC49_IA32_PREFIX = ENV(GCC49_BIN) -DEFINE GCC49_X64_PREFIX = ENV(GCC49_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) DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl @@ -152,20 +146,8 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc # Note: # 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. -# GCC48 -Linux,Windows- Requires: -# GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads -# GCC49 -Linux,Windows- Requires: -# GCC 4.9 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads -# 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 +# GCC -Linux,Windows- Requires: +# GCC 6 or newer 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 @@ -719,31 +701,18 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_N *_*_*_DTCPP_PATH = DEF(DTCPP_BIN) *_*_*_DTC_PATH = DEF(DTC_BIN) -DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -fno-pic -fno-pie -DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections -DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access -DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char -ffunction-sections -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18 -DEFINE GCC_AARCH64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only -DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie +DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -ffunction-sections -fdata-sections +DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fsigned-char +##################DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie DEFINE GCC_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds -DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_LOONGARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map -DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -Wl,--pic-veneer -DEFINE GCC_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 DEFINE GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_COMMON) -z common-page-size=0x20 DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=0x20 -DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) -DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) -DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) -DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map -DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h -DEFINE GCC_ASLCC_FLAGS = -x c DEFINE GCC_WINDRES_FLAGS = -J rc -O coff DEFINE GCC_DTCPP_FLAGS = -E -x assembler-with-cpp -imacros AutoGen.h -nostdinc -undef DEFINE GCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii @@ -756,535 +725,207 @@ DEFINE GCC_LOONGARCH64_RC_FLAGS = -I binary -O elf64-loongarch -B loongar # GCC Build Flag for included header file list generation DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps -DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address -fno-omit-frame-pointer -DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -fno-omit-frame-pointer -DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable -DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) -DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie -DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON) -DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -DEFINE GCC48_ARM_ASM_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian -DEFINE GCC48_AARCH64_ASM_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian -DEFINE GCC48_ARM_CC_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) -DEFINE GCC48_AARCH64_CC_FLAGS = $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) -DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) -DEFINE GCC48_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm -DEFINE GCC48_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 -DEFINE GCC48_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -DEFINE GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 -DEFINE GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_ASLDLINK_FLAGS) -Wl,--oformat=elf32-littlearm -DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_ASLDLINK_FLAGS) -DEFINE GCC48_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) - -DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pie -DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable -DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) -DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie -DEFINE GCC49_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) -DEFINE GCC49_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -DEFINE GCC49_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS) -DEFINE GCC49_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS) -DEFINE GCC49_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -DEFINE GCC49_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS) -DEFINE GCC49_AARCH64_CC_FLAGS = $(PLATFORM_FLAGS) DEF(GCC48_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -mcmodel=small -DEFINE GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS) -DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS) -DEFINE GCC49_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS) -DEFINE GCC49_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -DEFINE GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS) -DEFINE GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS) -DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS) -DEFINE GCC49_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) - -DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -DEFINE GCC5_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -DEFINE GCC5_IA32_X64_DLINK_COMMON = DEF(GCC49_IA32_X64_DLINK_COMMON) -DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -DEFINE GCC5_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -DEFINE GCC5_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) -Wno-error -DEFINE GCC5_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS) -DEFINE GCC5_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) -Wno-error -DEFINE GCC5_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -DEFINE GCC5_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS) -DEFINE GCC5_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS) -DEFINE GCC5_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -DEFINE GCC5_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS) -DEFINE GCC5_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -DEFINE GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS) -DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) -DEFINE GCC5_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error -DEFINE GCC5_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -DEFINE GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error -DEFINE GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS) -DEFINE GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS) -DEFINE GCC5_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -fno-lto - -DEFINE GCC5_RISCV_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -msmall-data-limit=0 -DEFINE GCC5_RISCV_ALL_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -DEFINE GCC5_RISCV_ALL_DLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map -DEFINE GCC5_RISCV_ALL_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds -DEFINE GCC5_RISCV_ALL_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h -DEFINE GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE = -Wno-tautological-compare -Wno-pointer-compare - -DEFINE GCC5_RISCV_OPENSBI_TYPES = -DOPENSBI_EXTERNAL_SBI_TYPES=OpensbiTypes.h - -DEFINE GCC5_RISCV64_ARCH = rv64gc -DEFINE GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable -DEFINE GCC5_RISCV64_CC_FLAGS = DEF(GCC5_RISCV_ALL_CC_FLAGS) DEF(GCC5_RISCV_ALL_CC_FLAGS_WARNING_DISABLE) DEF(GCC5_RISCV_OPENSBI_TYPES) -march=DEF(GCC5_RISCV64_ARCH) -fno-builtin -fno-builtin-memcpy -fno-stack-protector -Wno-address -fno-asynchronous-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax -DEFINE GCC5_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax -DEFINE GCC5_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV_ALL_DLINK2_FLAGS) -DEFINE GCC5_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV_ALL_ASM_FLAGS) -march=DEF(GCC5_RISCV64_ARCH) -mcmodel=medany -mabi=lp64 - -DEFINE GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC_LOONGARCH64_CC_FLAGS) -march=loongarch64 -mno-memcpy -Werror -Wno-maybe-uninitialized -Wno-stringop-overflow -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno-explicit-relocs -DEFINE GCC5_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) -DEFINE GCC5_LOONGARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 -DEFINE GCC5_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_ASLDLINK_FLAGS) DEF(GCC5_LOONGARCH64_DLINK2_FLAGS) -DEFINE GCC5_LOONGARCH64_ASM_FLAGS = -x assembler-with-cpp -mabi=lp64d -march=loongarch64 -fno-builtin -c -Wall -mno-explicit-relocs -DEFINE GCC5_LOONGARCH64_PP_FLAGS = -mabi=lp64d -march=loongarch64 DEF(GCC_PP_FLAGS) - -#################################################################################### -# -# GCC 4.8 - This configuration is used to compile under Linux to produce -# PE/COFF binaries using GCC 4.8. -# -#################################################################################### -*_GCC48_*_*_FAMILY = GCC - -*_GCC48_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make -*_GCC48_*_*_DLL = ENV(GCC48_DLL) -*_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN) - -*_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_GCC48_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) -*_GCC48_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_GCC48_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -*_GCC48_*_APP_FLAGS = -*_GCC48_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_GCC48_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_GCC48_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) - -################## -# GCC48 IA32 definitions -################## -*_GCC48_IA32_OBJCOPY_PATH = DEF(GCC48_IA32_PREFIX)objcopy -*_GCC48_IA32_CC_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_SLINK_PATH = DEF(GCC48_IA32_PREFIX)ar -*_GCC48_IA32_DLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_ASLDLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_ASM_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_PP_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_VFRPP_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_ASLCC_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_ASLPP_PATH = DEF(GCC48_IA32_PREFIX)gcc -*_GCC48_IA32_RC_PATH = DEF(GCC48_IA32_PREFIX)objcopy - -*_GCC48_IA32_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m32 -*_GCC48_IA32_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -*_GCC48_IA32_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m32 -march=i386 -*_GCC48_IA32_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -*_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) -*_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) -*_GCC48_IA32_OBJCOPY_FLAGS = -*_GCC48_IA32_NASM_FLAGS = -f elf32 - - DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Wno-unused-but-set-variable - NOOPT_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -O0 - -################## -# GCC48 X64 definitions -################## -*_GCC48_X64_OBJCOPY_PATH = DEF(GCC48_X64_PREFIX)objcopy -*_GCC48_X64_CC_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_SLINK_PATH = DEF(GCC48_X64_PREFIX)ar -*_GCC48_X64_DLINK_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_ASLDLINK_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_ASM_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_PP_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_VFRPP_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_ASLCC_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_ASLPP_PATH = DEF(GCC48_X64_PREFIX)gcc -*_GCC48_X64_RC_PATH = DEF(GCC48_X64_PREFIX)objcopy - -*_GCC48_X64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m64 -*_GCC48_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -*_GCC48_X64_ASM_FLAGS = DEF(GCC48_ASM_FLAGS) -m64 -*_GCC48_X64_DLINK_FLAGS = DEF(GCC48_X64_DLINK_FLAGS) -*_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) -*_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) -*_GCC48_X64_OBJCOPY_FLAGS = -*_GCC48_X64_NASM_FLAGS = -f elf64 - - DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Wno-unused-but-set-variable - NOOPT_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -O0 - -################## -# GCC48 ARM definitions -################## -*_GCC48_ARM_CC_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_SLINK_PATH = ENV(GCC48_ARM_PREFIX)ar -*_GCC48_ARM_DLINK_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_ASLDLINK_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_ASM_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_PP_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_VFRPP_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_ASLCC_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_ASLPP_PATH = ENV(GCC48_ARM_PREFIX)gcc -*_GCC48_ARM_RC_PATH = ENV(GCC48_ARM_PREFIX)objcopy - -*_GCC48_ARM_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -*_GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS) -*_GCC48_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS) -*_GCC48_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS) -*_GCC48_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS) -*_GCC48_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC48_ARM_PLATFORM_FLAGS = -march=armv7-a -*_GCC48_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC48_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) -*_GCC48_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) -*_GCC48_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS) - - DEBUG_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0 -RELEASE_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-variable - NOOPT_GCC48_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) -O0 - -################## -# GCC48 AARCH64 definitions -################## -*_GCC48_AARCH64_CC_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_SLINK_PATH = ENV(GCC48_AARCH64_PREFIX)ar -*_GCC48_AARCH64_DLINK_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_ASLDLINK_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_ASM_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_PP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_VFRPP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_ASLCC_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_ASLPP_PATH = ENV(GCC48_AARCH64_PREFIX)gcc -*_GCC48_AARCH64_RC_PATH = ENV(GCC48_AARCH64_PREFIX)objcopy - -*_GCC48_AARCH64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -*_GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS) -*_GCC48_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS) -*_GCC48_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) -*_GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS) -*_GCC48_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC48_AARCH64_PLATFORM_FLAGS = -*_GCC48_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC48_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) -*_GCC48_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) -*_GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS) - - DEBUG_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0 -RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable - NOOPT_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -O0 - -#################################################################################### -# -# GCC 4.9 - This configuration is used to compile under Linux to produce -# PE/COFF binaries using GCC 4.9. -# -#################################################################################### -*_GCC49_*_*_FAMILY = GCC - -*_GCC49_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make -*_GCC49_*_*_DLL = ENV(GCC49_DLL) -*_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN) - -*_GCC49_*_PP_FLAGS = DEF(GCC_PP_FLAGS) -*_GCC49_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) -*_GCC49_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -*_GCC49_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) -*_GCC49_*_APP_FLAGS = -*_GCC49_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_GCC49_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_GCC49_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) - -################## -# GCC49 IA32 definitions -################## -*_GCC49_IA32_OBJCOPY_PATH = DEF(GCC49_IA32_PREFIX)objcopy -*_GCC49_IA32_CC_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_SLINK_PATH = DEF(GCC49_IA32_PREFIX)ar -*_GCC49_IA32_DLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_ASLDLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_ASM_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_PP_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_VFRPP_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_ASLCC_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_ASLPP_PATH = DEF(GCC49_IA32_PREFIX)gcc -*_GCC49_IA32_RC_PATH = DEF(GCC49_IA32_PREFIX)objcopy - -*_GCC49_IA32_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m32 -*_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -*_GCC49_IA32_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m32 -march=i386 -*_GCC49_IA32_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -*_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) -*_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) -*_GCC49_IA32_OBJCOPY_FLAGS = -*_GCC49_IA32_NASM_FLAGS = -f elf32 - - DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable - NOOPT_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -O0 - -################## -# GCC49 X64 definitions -################## -*_GCC49_X64_OBJCOPY_PATH = DEF(GCC49_X64_PREFIX)objcopy -*_GCC49_X64_CC_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_SLINK_PATH = DEF(GCC49_X64_PREFIX)ar -*_GCC49_X64_DLINK_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_ASLDLINK_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_ASM_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_PP_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_VFRPP_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_ASLCC_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_ASLPP_PATH = DEF(GCC49_X64_PREFIX)gcc -*_GCC49_X64_RC_PATH = DEF(GCC49_X64_PREFIX)objcopy - -*_GCC49_X64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m64 -*_GCC49_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -*_GCC49_X64_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m64 -*_GCC49_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS) -*_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) -*_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) -*_GCC49_X64_OBJCOPY_FLAGS = -*_GCC49_X64_NASM_FLAGS = -f elf64 - - DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable - NOOPT_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -O0 - -################## -# GCC49 ARM definitions -################## -*_GCC49_ARM_CC_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_SLINK_PATH = ENV(GCC49_ARM_PREFIX)ar -*_GCC49_ARM_DLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_ASLDLINK_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_ASM_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_PP_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_VFRPP_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_ASLCC_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_ASLPP_PATH = ENV(GCC49_ARM_PREFIX)gcc -*_GCC49_ARM_RC_PATH = ENV(GCC49_ARM_PREFIX)objcopy - -*_GCC49_ARM_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -*_GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS) -*_GCC49_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS) -*_GCC49_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) -*_GCC49_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) -*_GCC49_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC49_ARM_PLATFORM_FLAGS = -march=armv7-a -*_GCC49_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC49_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) -*_GCC49_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) -*_GCC49_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS) - - DEBUG_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0 -RELEASE_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable - NOOPT_GCC49_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0 - -################## -# GCC49 AARCH64 definitions -################## -*_GCC49_AARCH64_CC_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_SLINK_PATH = ENV(GCC49_AARCH64_PREFIX)ar -*_GCC49_AARCH64_DLINK_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_ASLDLINK_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_ASM_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_PP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_VFRPP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_ASLCC_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_ASLPP_PATH = ENV(GCC49_AARCH64_PREFIX)gcc -*_GCC49_AARCH64_RC_PATH = ENV(GCC49_AARCH64_PREFIX)objcopy - -*_GCC49_AARCH64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -*_GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS) -*_GCC49_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS) -*_GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) -*_GCC49_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC49_AARCH64_PLATFORM_FLAGS = -*_GCC49_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC49_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) -*_GCC49_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) -*_GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS) - - DEBUG_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0 - DEBUG_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) - DEBUG_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 - -RELEASE_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 - - NOOPT_GCC49_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0 - NOOPT_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0 - NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 +DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address -fno-omit-frame-pointer -fno-pic -fno-pie +DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -fno-omit-frame-pointer +DEFINE GCC_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 +DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable +DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive +DEFINE GCC_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) -Wno-error +DEFINE GCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie +DEFINE GCC_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON) -Wno-error +DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h +DEFINE GCC_ARM_ASM_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian +DEFINE GCC_AARCH64_ASM_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian +DEFINE GCC_ARM_CC_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -fomit-frame-pointer -Wno-address -mthumb -fno-pic -fno-pie -fstack-protector -mword-relocations +DEFINE GCC_ARM_CC_XIPFLAGS = -mno-unaligned-access +DEFINE GCC_AARCH64_CC_FLAGS = $(PLATFORM_FLAGS) -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -fno-short-enums -fverbose-asm -funsigned-char -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18 -mcmodel=small +DEFINE GCC_AARCH64_CC_XIPFLAGS = -mstrict-align -mgeneral-regs-only +DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -Wl,--pic-veneer -Wl,--oformat=elf32-littlearm +DEFINE GCC_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 -Wno-error +DEFINE GCC_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20 -z common-page-size=0x1000 +DEFINE GCC_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 -Wno-error +DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) -Wl,--oformat=elf32-littlearm +DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) +DEFINE GCC_ASLCC_FLAGS = -x c -fno-lto + +DEFINE GCC_RISCV_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -msmall-data-limit=0 +DEFINE GCC_RISCV_ALL_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 +DEFINE GCC_RISCV_ALL_DLINK_FLAGS = DEF(GCC_RISCV_ALL_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map +DEFINE GCC_RISCV_ALL_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds +DEFINE GCC_RISCV_ALL_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h +DEFINE GCC_RISCV_ALL_CC_FLAGS_WARNING_DISABLE = -Wno-tautological-compare -Wno-pointer-compare + +DEFINE GCC_RISCV_OPENSBI_TYPES = -DOPENSBI_EXTERNAL_SBI_TYPES=OpensbiTypes.h + +DEFINE GCC_RISCV64_ARCH = rv64gc +DEFINE GCC_RISCV32_RISCV64_ASLDLINK_FLAGS = DEF(GCC_RISCV_ALL_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable +DEFINE GCC_RISCV64_CC_FLAGS = DEF(GCC_RISCV_ALL_CC_FLAGS) DEF(GCC_RISCV_ALL_CC_FLAGS_WARNING_DISABLE) DEF(GCC_RISCV_OPENSBI_TYPES) -march=DEF(GCC_RISCV64_ARCH) -fno-builtin -fno-builtin-memcpy -fno-stack-protector -Wno-address -fno-asynchronous-unwind-tables -Wno-unused-but-set-variable -fpack-struct=8 -mcmodel=medany -mabi=lp64 -mno-relax +DEFINE GCC_RISCV64_DLINK_FLAGS = DEF(GCC_RISCV_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=elf64-littleriscv,--no-relax +DEFINE GCC_RISCV64_DLINK2_FLAGS = DEF(GCC_RISCV_ALL_DLINK2_FLAGS) +DEFINE GCC_RISCV64_ASM_FLAGS = DEF(GCC_RISCV_ALL_ASM_FLAGS) -march=DEF(GCC_RISCV64_ARCH) -mcmodel=medany -mabi=lp64 + +DEFINE GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_LOONGARCH64_CC_FLAGS) -march=loongarch64 -mno-memcpy -Werror -Wno-maybe-uninitialized -Wno-stringop-overflow -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno-explicit-relocs +DEFINE GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) +DEFINE GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 +DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_ASLDLINK_FLAGS) DEF(GCC_LOONGARCH64_DLINK2_FLAGS) +DEFINE GCC_LOONGARCH64_ASM_FLAGS = -x assembler-with-cpp -mabi=lp64d -march=loongarch64 -fno-builtin -c -Wall -mno-explicit-relocs +DEFINE GCC_LOONGARCH64_PP_FLAGS = -mabi=lp64d -march=loongarch64 DEF(GCC_PP_FLAGS) #################################################################################### # -# GCC 5 - This configuration is used to compile under Linux to produce -# PE/COFF binaries using GCC 5 +# GCC - This configuration is used to compile under Linux to produce +# PE/COFF binaries using GCC 6 or newer # #################################################################################### -*_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,-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_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) -*_GCC5_IA32_OBJCOPY_FLAGS = -*_GCC5_IA32_NASM_FLAGS = -f elf32 - - DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto - DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 - -RELEASE_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable -RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-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,-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_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) -*_GCC5_X64_OBJCOPY_FLAGS = -*_GCC5_X64_NASM_FLAGS = -f elf64 - - 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_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_PLATFORM_FLAGS = -march=armv7-a -mfloat-abi=soft -*_GCC5_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC5_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) -*_GCC5_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) -*_GCC5_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS) - - 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_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_PLATFORM_FLAGS = -*_GCC5_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS) -*_GCC5_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) -*_GCC5_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) -*_GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS) - - 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_XIPFLAGS = -z common-page-size=0x20 - -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_XIPFLAGS = -z common-page-size=0x20 - - 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_XIPFLAGS = -z common-page-size=0x20 -O0 +*_GCC_*_*_FAMILY = GCC + +*_GCC_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make +*_GCC_*_*_DLL = ENV(GCC_DLL) +*_GCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) + +*_GCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS) +*_GCC_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) +*_GCC_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_GCC_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) +*_GCC_*_APP_FLAGS = +*_GCC_*_ASL_FLAGS = DEF(IASL_FLAGS) +*_GCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) +*_GCC_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS) + +################## +# GCC IA32 definitions +################## +*_GCC_IA32_OBJCOPY_PATH = DEF(GCC_IA32_PREFIX)objcopy +*_GCC_IA32_CC_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_SLINK_PATH = DEF(GCC_IA32_PREFIX)gcc-ar +*_GCC_IA32_DLINK_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_ASLDLINK_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_ASM_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_PP_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_VFRPP_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_ASLCC_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_ASLPP_PATH = DEF(GCC_IA32_PREFIX)gcc +*_GCC_IA32_RC_PATH = DEF(GCC_IA32_PREFIX)objcopy + +*_GCC_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 +*_GCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie +*_GCC_IA32_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m32 -march=i386 +*_GCC_IA32_DLINK2_FLAGS = DEF(GCC_IA32_DLINK2_FLAGS) -no-pie +*_GCC_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) +*_GCC_IA32_OBJCOPY_FLAGS = +*_GCC_IA32_NASM_FLAGS = -f elf32 + + DEBUG_GCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS) -flto + DEBUG_GCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 + +RELEASE_GCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable +RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 + + NOOPT_GCC_IA32_CC_FLAGS = DEF(GCC_IA32_CC_FLAGS) -O0 + NOOPT_GCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0 + +################## +# GCC X64 definitions +################## +*_GCC_X64_OBJCOPY_PATH = DEF(GCC_X64_PREFIX)objcopy +*_GCC_X64_CC_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_SLINK_PATH = DEF(GCC_X64_PREFIX)gcc-ar +*_GCC_X64_DLINK_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_ASLDLINK_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_ASM_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_PP_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_VFRPP_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_ASLCC_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_ASLPP_PATH = DEF(GCC_X64_PREFIX)gcc +*_GCC_X64_RC_PATH = DEF(GCC_X64_PREFIX)objcopy + +*_GCC_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 +*_GCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 +*_GCC_X64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m64 +*_GCC_X64_DLINK2_FLAGS = DEF(GCC_X64_DLINK2_FLAGS) +*_GCC_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) +*_GCC_X64_OBJCOPY_FLAGS = +*_GCC_X64_NASM_FLAGS = -f elf64 + + DEBUG_GCC_X64_CC_FLAGS = DEF(GCC_X64_CC_FLAGS) -flto -DUSING_LTO + DEBUG_GCC_X64_DLINK_FLAGS = DEF(GCC_X64_DLINK_FLAGS) -flto -Os + +RELEASE_GCC_X64_CC_FLAGS = DEF(GCC_X64_CC_FLAGS) -flto -DUSING_LTO -Wno-unused-but-set-variable -Wno-unused-const-variable +RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC_X64_DLINK_FLAGS) -flto -Os + + NOOPT_GCC_X64_CC_FLAGS = DEF(GCC_X64_CC_FLAGS) -O0 + NOOPT_GCC_X64_DLINK_FLAGS = DEF(GCC_X64_DLINK_FLAGS) -O0 + +################## +# GCC ARM definitions +################## +*_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 +*_GCCARM_ASLDLINK_PATH = ENV(GCC_ARM_PREFIX)gcc +*_GCC_ARM_ASM_PATH = ENV(GCC_ARM_PREFIX)gcc +*_GCC_ARM_PP_PATH = ENV(GCC_ARM_PREFIX)gcc +*_GCC_ARM_VFRPP_PATH = ENV(GCC_ARM_PREFIX)gcc +*_GCC_ARM_ASLCC_PATH = ENV(GCC_ARM_PREFIX)gcc +*_GCC_ARM_ASLPP_PATH = ENV(GCC_ARM_PREFIX)gcc +*_GCC_ARM_RC_PATH = ENV(GCC_ARM_PREFIX)objcopy + +*_GCC_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_ASLDLINK_FLAGS) +*_GCC_ARM_ASM_FLAGS = DEF(GCC_ARM_ASM_FLAGS) +*_GCC_ARM_DLINK2_FLAGS = DEF(GCC_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_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS) +*_GCC_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) +*_GCC_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) + + DEBUG_GCC_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable + DEBUG_GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm + +RELEASE_GCC_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable +RELEASE_GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm + + NOOPT_GCC_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) -O0 + NOOPT_GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -O0 + +################## +# GCC AARCH64 definitions +################## +*_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 +*_GCC_AARCH64_ASLDLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc +*_GCC_AARCH64_ASM_PATH = ENV(GCC_AARCH64_PREFIX)gcc +*_GCC_AARCH64_PP_PATH = ENV(GCC_AARCH64_PREFIX)gcc +*_GCC_AARCH64_VFRPP_PATH = ENV(GCC_AARCH64_PREFIX)gcc +*_GCC_AARCH64_ASLCC_PATH = ENV(GCC_AARCH64_PREFIX)gcc +*_GCC_AARCH64_ASLPP_PATH = ENV(GCC_AARCH64_PREFIX)gcc +*_GCC_AARCH64_RC_PATH = ENV(GCC_AARCH64_PREFIX)objcopy + +*_GCC_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_ASLDLINK_FLAGS) +*_GCC_AARCH64_ASM_FLAGS = DEF(GCC_AARCH64_ASM_FLAGS) +*_GCC_AARCH64_DLINK2_FLAGS = DEF(GCC_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_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) +*_GCC_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS) +*_GCC_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) + + DEBUG_GCC_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable + DEBUG_GCC_AARCH64_DLINK_FLAGS = DEF(GCC_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_XIPFLAGS = -z common-page-size=0x20 + +RELEASE_GCC_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable +RELEASE_GCC_AARCH64_DLINK_FLAGS = DEF(GCC_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_XIPFLAGS = -z common-page-size=0x20 + + NOOPT_GCC_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) -O0 + NOOPT_GCC_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -O0 + NOOPT_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0 #################################################################################### # @@ -1294,58 +935,58 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 #################################################################################### ################## -# GCC5 RISCV64 definitions +# GCC 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 +*_GCC_RISCV64_OBJCOPY_PATH = ENV(GCC_RISCV64_PREFIX)objcopy +*_GCC_RISCV64_CC_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_SLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc-ar +*_GCC_RISCV64_DLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_ASLDLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_ASM_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_PP_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_VFRPP_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_ASLCC_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_ASLPP_PATH = ENV(GCC_RISCV64_PREFIX)gcc +*_GCC_RISCV64_RC_PATH = ENV(GCC_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_RC_FLAGS = DEF(GCC_RISCV64_RC_FLAGS) -*_GCC5_RISCV64_OBJCOPY_FLAGS = -*_GCC5_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) -*_GCC5_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES) +*_GCC_RISCV64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_GCC_RISCV64_ASLDLINK_FLAGS = DEF(GCC_RISCV32_RISCV64_ASLDLINK_FLAGS) +*_GCC_RISCV64_ASM_FLAGS = DEF(GCC_RISCV64_ASM_FLAGS) +*_GCC_RISCV64_CC_FLAGS = DEF(GCC_RISCV64_CC_FLAGS) -save-temps +*_GCC_RISCV64_DLINK_FLAGS = DEF(GCC_RISCV64_DLINK_FLAGS) +*_GCC_RISCV64_DLINK2_FLAGS = DEF(GCC_RISCV64_DLINK2_FLAGS) +*_GCC_RISCV64_RC_FLAGS = DEF(GCC_RISCV64_RC_FLAGS) +*_GCC_RISCV64_OBJCOPY_FLAGS = +*_GCC_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS) +*_GCC_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC_RISCV_OPENSBI_TYPES) ################## -# GCC5 LOONGARCH64 definitions +# GCC 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 +*_GCC_LOONGARCH64_OBJCOPY_PATH = ENV(GCC_LOONGARCH64_PREFIX)objcopy +*_GCC_LOONGARCH64_CC_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_SLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc-ar +*_GCC_LOONGARCH64_DLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_ASLDLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_ASM_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_PP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_VFRPP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_ASLCC_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_ASLPP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc +*_GCC_LOONGARCH64_RC_PATH = ENV(GCC_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_RC_FLAGS = DEF(GCC_LOONGARCH64_RC_FLAGS) -*_GCC5_LOONGARCH64_OBJCOPY_FLAGS = -*_GCC5_LOONGARCH64_NASM_FLAGS = -f elf32 -*_GCC5_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS) +*_GCC_LOONGARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC_LOONGARCH64_ASLDLINK_FLAGS) +*_GCC_LOONGARCH64_ASM_FLAGS = DEF(GCC_LOONGARCH64_ASM_FLAGS) +*_GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC_LOONGARCH64_DLINK_FLAGS) +*_GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC_LOONGARCH64_DLINK2_FLAGS) +*_GCC_LOONGARCH64_RC_FLAGS = DEF(GCC_LOONGARCH64_RC_FLAGS) +*_GCC_LOONGARCH64_OBJCOPY_FLAGS = +*_GCC_LOONGARCH64_NASM_FLAGS = -f elf32 +*_GCC_LOONGARCH64_PP_FLAGS = DEF(GCC_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 +DEBUG_GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_LOONGARCH64_CC_FLAGS) +RELEASE_GCC_LOONGARCH64_CC_FLAGS = DEF(GCC_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable #################################################################################### # @@ -1369,7 +1010,7 @@ DEFINE CLANGDWARF_IA32_TARGET = -target i686-pc-linux-gnu DEFINE CLANGDWARF_X64_TARGET = -target x86_64-pc-linux-gnu DEFINE CLANGDWARF_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access -DEFINE CLANGDWARF_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference +DEFINE CLANGDWARF_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference ########################### # CLANGDWARF IA32 definitions @@ -1387,8 +1028,8 @@ DEFINE CLANGDWARF_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_ *_CLANGDWARF_IA32_RC_PATH = objcopy *_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGDWARF_IA32_TARGET) -*_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET) +*_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 +*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET) *_CLANGDWARF_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) *_CLANGDWARF_IA32_OBJCOPY_FLAGS = *_CLANGDWARF_IA32_NASM_FLAGS = -f elf32 @@ -1397,16 +1038,16 @@ DEFINE CLANGDWARF_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_ *_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET) DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double -DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386 -DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3 +DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386 +DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC_IA32_DLINK2_FLAGS) -O3 RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -malign-double -RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386 -RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3 +RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386 +RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC_IA32_DLINK2_FLAGS) -O3 NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double -NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386 -NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0 +NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386 +NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC_IA32_DLINK2_FLAGS) -O0 ########################## # CLANGDWARF X64 definitions @@ -1424,8 +1065,8 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0 *_CLANGDWARF_X64_RC_PATH = objcopy *_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGDWARF_X64_TARGET) -*_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET) +*_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 +*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET) *_CLANGDWARF_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) *_CLANGDWARF_X64_OBJCOPY_FLAGS = *_CLANGDWARF_X64_NASM_FLAGS = -f elf64 @@ -1434,16 +1075,16 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0 *_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_X64_TARGET) DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g -DEBUG_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3 +DEBUG_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small +DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC_X64_DLINK2_FLAGS) -O3 RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET) -RELEASE_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -fuse-ld=lld -RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld +RELEASE_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -fuse-ld=lld +RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANGDWARF_X64_TARGET) -g -NOOPT_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0 +NOOPT_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) -flto -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small +NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC_X64_DLINK2_FLAGS) -O0 ################## # CLANGDWARF ARM definitions @@ -1560,7 +1201,7 @@ DEFINE CLANGPDB_IA32_TARGET = -target i686-unknown-windows-gnu DEFINE CLANGPDB_X64_TARGET = -target x86_64-unknown-windows-gnu DEFINE CLANGPDB_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-microsoft-enum-forward-reference -DEFINE CLANGPDB_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGPDB_WARNING_OVERRIDES) -fno-stack-protector -funsigned-char -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -Wno-null-dereference -mno-implicit-float -mms-bitfields -mno-stack-arg-probe -nostdlib -nostdlibinc -fseh-exceptions +DEFINE CLANGPDB_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) DEF(CLANGPDB_WARNING_OVERRIDES) -fno-stack-protector -funsigned-char -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -Wno-null-dereference -mno-implicit-float -mms-bitfields -mno-stack-arg-probe -nostdlib -nostdlibinc -fseh-exceptions ########################### # CLANGPDB IA32 definitions diff --git a/BaseTools/Edk2ToolsBuild.py b/BaseTools/Edk2ToolsBuild.py index f862468ce275..9053a4bcaba7 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 0e013c5f1a7f..07e44bb0bfee 100644 --- a/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py +++ b/BaseTools/Plugin/HostBasedUnitTestRunner/HostBasedUnitTestRunner.py @@ -116,7 +116,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": self.gen_code_coverage_gcc(thebuilder) elif thebuilder.env.GetValue("TOOL_CHAIN_TAG").startswith ("VS"): self.gen_code_coverage_msvc(thebuilder) diff --git a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py index dab7a879970f..5820b68ee590 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 39c378a926a9..e40ddf6fe07a 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/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 6b0a6c7a4001..0dc4d6beacdd 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. diff --git a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml index 8af4c9c778cb..2b5c3ac4dccd 100644 --- a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -3,7 +3,7 @@ # # Platform: EmulatorPkg # OS: Ubuntu -# Toolchain: GCC5 +# Toolchain: GCC # # Copyright (c) Microsoft Corporation. # Copyright (c) 2020, Intel Corporation. All rights reserved. @@ -84,7 +84,7 @@ jobs: steps: - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml parameters: - tool_chain_tag: GCC5 + tool_chain_tag: GCC build_pkg: $(package) build_target: $(Build.Target) build_arch: $(Build.Arch) diff --git a/EmulatorPkg/PlatformCI/ReadMe.md b/EmulatorPkg/PlatformCI/ReadMe.md index f123bb2a4892..53d032e37ea9 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 0c2eea6a9a02..00e8c7a28499 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/build.sh b/EmulatorPkg/build.sh index 76c22dfaf8d4..719b3c681841 100755 --- a/EmulatorPkg/build.sh +++ b/EmulatorPkg/build.sh @@ -42,7 +42,7 @@ PLATFORMFILE= LAST_ARG= RUN_EMULATOR=no CLEAN_TYPE=none -TARGET_TOOLS=GCC48 +TARGET_TOOLS=GCC NETWORK_SUPPORT= BUILD_NEW_SHELL= BUILD_FAT= @@ -87,18 +87,12 @@ case `uname` in gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') case $gcc_version in - [1-3].*|4.[0-7].*) - echo EmulatorPkg requires GCC4.8 or later + [1-4].*) + echo EmulatorPkg requires GCC 5 or later exit 1 ;; - 4.8.*) - TARGET_TOOLS=GCC48 - ;; - 4.9.*|6.[0-2].*) - TARGET_TOOLS=GCC49 - ;; *) - TARGET_TOOLS=GCC5 + TARGET_TOOLS=GCC ;; esac ;; diff --git a/OvmfPkg/CloudHv/README b/OvmfPkg/CloudHv/README index 63e28860e058..10c48219b0dd 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 7307ede78faf..4d4e30aad204 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/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml index ad43f9fad2fd..1d21a31d4bda 100644 --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml @@ -3,7 +3,7 @@ # # Platform: OVMF # OS: Ubuntu -# Toolchain: GCC5 +# Toolchain: GCC # # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -194,7 +194,7 @@ jobs: steps: - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml parameters: - tool_chain_tag: GCC5 + tool_chain_tag: GCC build_pkg: $(package) build_target: $(Build.Target) build_arch: $(Build.Arch) diff --git a/OvmfPkg/PlatformCI/ReadMe.md b/OvmfPkg/PlatformCI/ReadMe.md index 10fa32ac489f..9d21165a8295 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 0a408abf019d..9ba22361fef5 100644 --- a/OvmfPkg/README +++ b/OvmfPkg/README @@ -117,8 +117,8 @@ $ OvmfPkg/build.sh -a X64 qemu 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 4.8: -$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC48 +To build a 32-bit OVMF without debug messages using GCC: +$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC === SMM support === diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh index b0334fb76e74..cfae5f7b5316 100755 --- a/OvmfPkg/build.sh +++ b/OvmfPkg/build.sh @@ -77,18 +77,12 @@ case `uname` in Linux*) gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') case $gcc_version in - [1-3].*|4.[0-7].*) - echo OvmfPkg requires GCC4.8 or later + [1-4].*) + echo OvmfPkg requires GCC 5 or later exit 1 ;; - 4.8.*) - TARGET_TOOLS=GCC48 - ;; - 4.9.*|6.[0-2].*) - TARGET_TOOLS=GCC49 - ;; *) - TARGET_TOOLS=GCC5 + TARGET_TOOLS=GCC ;; esac esac diff --git a/PrmPkg/Readme.md b/PrmPkg/Readme.md index 3191c039fd64..b89d276f4bf0 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/ReadMe.rst b/ReadMe.rst index 497d96355908..0195f23a5b3c 100644 --- a/ReadMe.rst +++ b/ReadMe.rst @@ -12,7 +12,7 @@ Core CI Build Status Host Type & Toolchain Build Status Test Status Code Coverage ============================= ================= =============== =================== Windows_VS2019_ |WindowsCiBuild| |WindowsCiTest| |WindowsCiCoverage| -Ubuntu_GCC5_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverage| +Ubuntu_GCC_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverage| ============================= ================= =============== =================== `More CI Build information <.pytool/Readme.md>`__ @@ -36,27 +36,27 @@ OvmfPkg_Win_VS2019_ | IA32 |op32d| |op32r| |op3 | | IA32 X64 FULL |op3264fd| |op3264fr| |op3264fn| ============================= ================= ============= ============= ============== -Ubuntu 18.04 GCC5 +Ubuntu 18.04 GCC ````````````````` -============================= ================= ============= ============= ============== +============================ ================= ============= ============= ============== Toolchain CONFIG DEBUG RELEASE NOOPT -============================= ================= ============= ============= ============== -ArmVirtPkg_Ubuntu_GCC5_ | AARCH64 |avAArch64du| |avAArch64ru| |avAArch64nu| -| | ARM |avArmdu| |avArmru| |avArmnu| -EmulatorPkg_Ubuntu_GCC5_ | IA32 |em32du| |em32ru| |em32nu| -| | X64 |em64du| |em64ru| |em64nu| -| | IA32 FULL |em32fdu| |em32fru| |em32fnu| -| | X64 FULL |em64fdu| |em64fru| |em64fnu| -OvmfPkg_Ubuntu_GCC5_ | IA32 |op32du| |op32ru| |op32nu| -| | X64 |op64du| |op64ru| |op64nu| -| | IA32 X64 |op3264du| |op3264ru| |op3264nu| -| | IA32 X64 FULL |op3264fdu| |op3264fru| |op3264fru| +============================ ================= ============= ============= ============== +ArmVirtPkg_Ubuntu_GCC_ | AARCH64 |avAArch64du| |avAArch64ru| |avAArch64nu| +| | ARM |avArmdu| |avArmru| |avArmnu| +EmulatorPkg_Ubuntu_GCC_ | IA32 |em32du| |em32ru| |em32nu| +| | X64 |em64du| |em64ru| |em64nu| +| | IA32 FULL |em32fdu| |em32fru| |em32fnu| +| | X64 FULL |em64fdu| |em64fru| |em64fnu| +OvmfPkg_Ubuntu_GCC_ | IA32 |op32du| |op32ru| |op32nu| +| | X64 |op64du| |op64ru| |op64nu| +| | IA32 X64 |op3264du| |op3264ru| |op3264nu| +| | IA32 X64 FULL |op3264fdu| |op3264fru| |op3264fru| ============================= ================= ============= ============= ============== -|TCBZ_2668|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution. +|TCBZ_2668|_ - EmulatorPkg Ubuntu GCC Segfaults during execution. -|TCBZ_2639|_ - EmulatorPkg Ubuntu GCC5 Segfaults during execution. +|TCBZ_2639|_ - EmulatorPkg Ubuntu GCC Segfaults during execution. `More ArmVirtPkg CI Build Information `__ @@ -291,21 +291,21 @@ use. .. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/32.svg .. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue -.. _Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master -.. |UbuntuCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC5%20CI?branchName=master +.. _Ubuntu_GCC: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master +.. |UbuntuCiBuild| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC%20CI?branchName=master .. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/31.svg .. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue .. ArmVirtPkg -.. _ArmVirtPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=46&branchName=master -.. |avAArch64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_DEBUG -.. |avAArch64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_RELEASE -.. |avAArch64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_NOOPT +.. _ArmVirtPkg_Ubuntu_GCC: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=46&branchName=master +.. |avAArch64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_DEBUG +.. |avAArch64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_RELEASE +.. |avAArch64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_AARCH64_NOOPT -.. |avArmdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_DEBUG -.. |avArmru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_RELEASE -.. |avArmnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_NOOPT +.. |avArmdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_DEBUG +.. |avArmru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_RELEASE +.. |avArmnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_ArmVirtPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20QEMU_ARM_NOOPT .. EmulatorPkg @@ -316,35 +316,35 @@ use. .. _TCBZ_2639: https://bugzilla.tianocore.org/show_bug.cgi?id=2639 .. _EmulatorPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=44&branchName=master -.. _EmulatorPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=43&branchName=master +.. _EmulatorPkg_Ubuntu_GCC: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=43&branchName=master .. |em32d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_DEBUG -.. |em32du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_DEBUG +.. |em32du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_DEBUG .. |em32r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_RELEASE -.. |em32ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_RELEASE +.. |em32ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_RELEASE .. |em32n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_NOOPT -.. |em32nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_NOOPT +.. |em32nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_NOOPT .. |em32fd| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_DEBUG -.. |em32fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_DEBUG +.. |em32fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_DEBUG .. |em32fr| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_RELEASE -.. |em32fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_RELEASE +.. |em32fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_RELEASE .. |em32fn| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_NOOPT -.. |em32fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_NOOPT +.. |em32fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_IA32_FULL_NOOPT .. |em64d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_DEBUG -.. |em64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_DEBUG +.. |em64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_DEBUG .. |em64r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_RELEASE -.. |em64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_RELEASE +.. |em64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_RELEASE .. |em64n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_NOOPT -.. |em64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_NOOPT +.. |em64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_NOOPT .. |em64fd| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_DEBUG -.. |em64fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_DEBUG +.. |em64fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_DEBUG .. |em64fr| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_RELEASE -.. |em64fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_RELEASE +.. |em64fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_RELEASE .. |em64fn| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_NOOPT -.. |em64fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_NOOPT +.. |em64fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_EmulatorPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20EmulatorPkg_X64_FULL_NOOPT .. OvmfPkg @@ -352,33 +352,33 @@ use. .. _TCBZ_2661: https://bugzilla.tianocore.org/show_bug.cgi?id=2661 .. _OvmfPkg_Win_VS2019: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=50&branchName=master -.. _OvmfPkg_Ubuntu_GCC5: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=48&branchName=master +.. _OvmfPkg_Ubuntu_GCC: https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=48&branchName=master .. |op32d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_DEBUG -.. |op32du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_DEBUG +.. |op32du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_DEBUG .. |op32r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_RELEASE -.. |op32ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_RELEASE +.. |op32ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_RELEASE .. |op32n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_NOOPT -.. |op32nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_NOOPT +.. |op32nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32_NOOPT .. |op64d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_DEBUG -.. |op64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_DEBUG +.. |op64du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_DEBUG .. |op64r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_RELEASE -.. |op64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_RELEASE +.. |op64ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_RELEASE .. |op64n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_NOOPT -.. |op64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_NOOPT +.. |op64nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_X64_NOOPT .. |op3264d| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_DEBUG -.. |op3264du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_DEBUG +.. |op3264du| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_DEBUG .. |op3264r| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_RELEASE -.. |op3264ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_RELEASE +.. |op3264ru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_RELEASE .. |op3264n| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_NOOPT -.. |op3264nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_NOOPT +.. |op3264nu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_NOOPT .. |op3264fd| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_DEBUG -.. |op3264fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_DEBUG +.. |op3264fdu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_DEBUG .. |op3264fr| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Windows_VS2019_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_RELEASE -.. |op3264fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_RELEASE +.. |op3264fru| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_RELEASE .. |op3264fn| replace:: |TCBZ_2661|_ -.. |op3264fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC5_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_NOOPT +.. |op3264fnu| image:: https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/PlatformCI_OvmfPkg_Ubuntu_GCC_CI?branchName=master&jobName=Platform_CI&configuration=Platform_CI%20OVMF_IA32X64_FULL_NOOPT diff --git a/UnitTestFrameworkPkg/ReadMe.md b/UnitTestFrameworkPkg/ReadMe.md index 3fa4e1910f71..3597a027ca88 100644 --- a/UnitTestFrameworkPkg/ReadMe.md +++ b/UnitTestFrameworkPkg/ReadMe.md @@ -461,15 +461,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 ``` @@ -614,7 +614,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 -- 2.34.1