[edk2-devel] [Patch 11/12] OvmfPkg: Enable CLANG9 tool chain

Laszlo Ersek lersek at redhat.com
Mon Sep 30 20:42:15 UTC 2019


Hi Liming,

On 09/27/19 09:46, Liming Gao wrote:
> 1. Apply CLANG9 Linker option.

I'm confused by this, in two regards.

- Why do we refer to CLANG9 first as being in the GCC toolchain family
(see near mmx/sse), and then under a totally different family name
(CLANGPE?)

- Regarding the CLANGPE option, does the "/ALIGN:4096" option format
work on Linux too? (It seems quite unusual).

Another question:

- There is another XCODE5-specific exception in OvmfPkg, namely
TftpDynamicCommand. Does that build OK with CLANG9?

> 2. Add -mno-mmx -mno-sse compiler option

I think this remark should be clarified -- the options are *excluded*
from the CLANG9 build.

Thanks
Laszlo

> 
> Signed-off-by: Liming Gao <liming.gao at intel.com>
> ---
>  OvmfPkg/OvmfPkgIa32.dsc    | 4 +++-
>  OvmfPkg/OvmfPkgIa32X64.dsc | 4 +++-
>  OvmfPkg/OvmfPkgX64.dsc     | 4 +++-
>  3 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index 66e944436a..0fde8e6e84 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -66,7 +66,7 @@
>    GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
>    INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
>    MSFT:RELEASE_*_*_CC_FLAGS            = /D MDEPKG_NDEBUG
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANG9"
>    GCC:*_*_*_CC_FLAGS                   = -mno-mmx -mno-sse
>  !endif
>  
> @@ -80,12 +80,14 @@
>  [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>    GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
>    XCODE:*_*_*_DLINK_FLAGS =
> +  CLANGPE: *_*_*_DLINK_FLAGS = /ALIGN:4096
>  
>  # Force PE/COFF sections to be aligned at 4KB boundaries to support page level
>  # protection of DXE_SMM_DRIVER/SMM_CORE modules
>  [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
>    GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
>    XCODE:*_*_*_DLINK_FLAGS =
> +  CLANGPE: *_*_*_DLINK_FLAGS = /ALIGN:4096
>  
>  ################################################################################
>  #
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index 51c2bfb44f..c17329878e 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -66,7 +66,7 @@
>    GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
>    INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
>    MSFT:RELEASE_*_*_CC_FLAGS            = /D MDEPKG_NDEBUG
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANG9"
>    GCC:*_*_*_CC_FLAGS                   = -mno-mmx -mno-sse
>  !endif
>  !ifdef $(SOURCE_DEBUG_ENABLE)
> @@ -85,12 +85,14 @@
>  [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>    GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
>    XCODE:*_*_*_DLINK_FLAGS =
> +  CLANGPE: *_*_*_DLINK_FLAGS = /ALIGN:4096
>  
>  # Force PE/COFF sections to be aligned at 4KB boundaries to support page level
>  # protection of DXE_SMM_DRIVER/SMM_CORE modules
>  [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
>    GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
>    XCODE:*_*_*_DLINK_FLAGS =
> +  CLANGPE: *_*_*_DLINK_FLAGS = /ALIGN:4096
>  
>  ################################################################################
>  #
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index ba7a758844..af91265d05 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -66,7 +66,7 @@
>    GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
>    INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
>    MSFT:RELEASE_*_*_CC_FLAGS            = /D MDEPKG_NDEBUG
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANG9"
>    GCC:*_*_*_CC_FLAGS                   = -mno-mmx -mno-sse
>  !endif
>  !ifdef $(SOURCE_DEBUG_ENABLE)
> @@ -85,12 +85,14 @@
>  [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>    GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
>    XCODE:*_*_*_DLINK_FLAGS =
> +  CLANGPE: *_*_*_DLINK_FLAGS = /ALIGN:4096
>  
>  # Force PE/COFF sections to be aligned at 4KB boundaries to support page level
>  # protection of DXE_SMM_DRIVER/SMM_CORE modules
>  [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
>    GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
>    XCODE:*_*_*_DLINK_FLAGS =
> +  CLANGPE: *_*_*_DLINK_FLAGS = /ALIGN:4096
>  
>  ################################################################################
>  #
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#48304): https://edk2.groups.io/g/devel/message/48304
Mute This Topic: https://groups.io/mt/34309064/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list