From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=s4YOv5Db; spf=pass (domain: linaro.org, ip: 209.85.166.47, mailfrom: ard.biesheuvel@linaro.org) Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) by groups.io with SMTP; Sun, 19 May 2019 06:24:36 -0700 Received: by mail-io1-f47.google.com with SMTP id a17so8984328iot.8 for ; Sun, 19 May 2019 06:24:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=1C4YwFZIbn8+E7bdrr94qjjtL+vCREH0fvQN1tzqKnA=; b=s4YOv5DbaE4Q1uLFYGMi1RyGeFgK9XXx2fW6MbbIoGvzP89ikvcjwdhkEKIrtDD4eB sgQUihxCbKejwC3BSzW2KKwzHo+4xxQ3OIJS5nX1/QFX+VsA3Ng+0U+ap6tny+dGDVSm j7cqNHXTg/hCILniDQvcEhl7ZpNJjLronB7d1220D1x7rhPcnE9afcWh+T6ZBv8Wc4+e 2ARJxInRrdJxA8AppeKXEq9hk41M/hgVspEeivmIaTl4rI8U5v0PYAYv/1FkCAzU7EVw IxaqaxWUD2MeTp0l5o7JW6Ze2Q0e9UWljtlw2++i29CxQrepeLE7VxnELOxsVeNXC8fu fUWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=1C4YwFZIbn8+E7bdrr94qjjtL+vCREH0fvQN1tzqKnA=; b=VKAsTa7y6+1Vbr18G5+JBMRuaRSEm30e85opoZWDtT174CKEMgKIxFKF082rtwcaHV gdI7FNsY1f9B+TedhALnfi3Kv9edvWwSgx8QDFeI52pVjx5izdGxi+maMLMlWBYBAUtw 9QXATG91rGbnUWEn2nB8+rrGdwzMZJ2zKv9otCDNrF5b3zINfsZuOJXs/DK0+KR8sdwO wrgLLRXJH9YVnA3Lpk0AM78Llojw676blznuUFUXzzvGUWhHtR4g3IHxhQNRfkdgTJax tbLfoU+JJacX1V1LQTP1s11sl4idrJrgP7gLiWbPCc26dZD6+OMPUdOf6S997IiKY+ot A7sA== X-Gm-Message-State: APjAAAW/suvP9HGItFWP1czd0zzFHJoPIp24MxkKWUFlNsAwA8w0MWVr BQ/RPjggtfGaOc56YRqlRMl2nrcGv5zz6cpva9DCSki4aX0= X-Google-Smtp-Source: APXvYqwzG3czq085CU5BD6KwQlYvp1RdWreiyMIWIOUKman22+W+Mp1N8Od/dKslHsJlc3IkRHRV57LDZ6eHMrkdWyM= X-Received: by 2002:a05:6602:2109:: with SMTP id x9mr15755098iox.128.1558272275371; Sun, 19 May 2019 06:24:35 -0700 (PDT) MIME-Version: 1.0 References: <20190426144242.19024-1-liming.gao@intel.com> <20190426144242.19024-8-liming.gao@intel.com> In-Reply-To: <20190426144242.19024-8-liming.gao@intel.com> From: "Ard Biesheuvel" Date: Sun, 19 May 2019 15:24:23 +0200 Message-ID: Subject: Re: [edk2-devel] [Patch 7/7] OvmfPkg: Update DSC/FDF to support CLANG8ELF tool chain To: edk2-devel-groups-io , "Gao, Liming" Content-Type: text/plain; charset="UTF-8" On Fri, 26 Apr 2019 at 16:43, Liming Gao wrote: > > Signed-off-by: Liming Gao > --- > OvmfPkg/OvmfPkgIa32.dsc | 4 +++- > OvmfPkg/OvmfPkgIa32.fdf | 2 +- > OvmfPkg/OvmfPkgIa32X64.dsc | 4 +++- > OvmfPkg/OvmfPkgIa32X64.fdf | 2 +- > OvmfPkg/OvmfPkgX64.dsc | 4 +++- > OvmfPkg/OvmfPkgX64.fdf | 2 +- > 6 files changed, 12 insertions(+), 6 deletions(-) > > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index 98a8467e86..7972b25112 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -73,12 +73,14 @@ > > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] > GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 > + CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000 So are we introducing a new toolchain family just for the linker flags? In that case, it would be better to call the toolchain family CLANGLLD or LLVMLLD. We could also consider switching all GNU ld toolchains to use max-page-size instead of common-page-size, given that binutils supports both. > XCODE:*_*_*_DLINK_FLAGS = > > # 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 > + CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000 > XCODE:*_*_*_DLINK_FLAGS = > > ################################################################################ > @@ -832,7 +834,7 @@ > OvmfPkg/Csm/Csm16/Csm16.inf > !endif > > -!if $(TOOL_CHAIN_TAG) != "XCODE5" > +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF" > ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf { > > gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf > index bc08bf2243..2894cfe8d6 100644 > --- a/OvmfPkg/OvmfPkgIa32.fdf > +++ b/OvmfPkg/OvmfPkgIa32.fdf > @@ -287,7 +287,7 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour > INF FatPkg/EnhancedFatDxe/Fat.inf > INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf > > -!if $(TOOL_CHAIN_TAG) != "XCODE5" > +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF" > INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf > !endif > INF ShellPkg/Application/Shell/Shell.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index 1f722fc987..c9feeafaae 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -78,12 +78,14 @@ > > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] > GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 > + CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000 > XCODE:*_*_*_DLINK_FLAGS = > > # 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 > + CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000 > XCODE:*_*_*_DLINK_FLAGS = > > ################################################################################ > @@ -841,7 +843,7 @@ > OvmfPkg/Csm/Csm16/Csm16.inf > !endif > > -!if $(TOOL_CHAIN_TAG) != "XCODE5" > +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF" > ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf { > > gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf > index ccf36c5dd9..affce983f9 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.fdf > +++ b/OvmfPkg/OvmfPkgIa32X64.fdf > @@ -288,7 +288,7 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour > INF FatPkg/EnhancedFatDxe/Fat.inf > INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf > > -!if $(TOOL_CHAIN_TAG) != "XCODE5" > +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF" > INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf > !endif > INF ShellPkg/Application/Shell/Shell.inf > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index 2927ee07b8..f28ec13c0c 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -78,12 +78,14 @@ > > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] > GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 > + CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000 > XCODE:*_*_*_DLINK_FLAGS = > > # 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 > + CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000 > XCODE:*_*_*_DLINK_FLAGS = > > ################################################################################ > @@ -839,7 +841,7 @@ > OvmfPkg/Csm/Csm16/Csm16.inf > !endif > > -!if $(TOOL_CHAIN_TAG) != "XCODE5" > +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF" > ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf { > > gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf > index ccf36c5dd9..affce983f9 100644 > --- a/OvmfPkg/OvmfPkgX64.fdf > +++ b/OvmfPkg/OvmfPkgX64.fdf > @@ -288,7 +288,7 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour > INF FatPkg/EnhancedFatDxe/Fat.inf > INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf > > -!if $(TOOL_CHAIN_TAG) != "XCODE5" > +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF" > INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf > !endif > INF ShellPkg/Application/Shell/Shell.inf > -- > 2.13.0.windows.1 > > > >