Hi Andrew,

 

This is a regression against BaseTools.  Same observation was seen with CLANGPDB toolchain.

 

Steven Shi reopened 3359 to address this regression:

 

https://bugzilla.tianocore.org/show_bug.cgi?id=3359

 

The patch I provided fixed CLANGPDB and I expect it to also fix XCODE5.

 

Mike

 

From: Andrew Fish <afish@apple.com>
Sent: Sunday, May 2, 2021 1:20 PM
To: edk2-devel-groups-io <devel@edk2.groups.io>; rebecca@bsdio.com
Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Laszlo Ersek <lersek@redhat.com>
Subject: Re: [edk2-devel] Error building OVMF on x86 macOS with Xcode 12.5

 

Rebecca,

 

I don’t think `-z` is a valid argument to ld64 (macOS linker). My guess is XCODE is inheriting a GCC flag from a platform DSC file. 

 

$ git grep "z common-page-size" -- *.dsc

OvmfPkg/OvmfPkgIa32.dsc:89:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfPkgIa32.dsc:97:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfPkgIa32X64.dsc:93:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfPkgIa32X64.dsc:101:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfPkgX64.dsc:93:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfPkgX64.dsc:101:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfXen.dsc:84:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

OvmfPkg/OvmfXen.dsc:92:  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

StandaloneMmPkg/StandaloneMmPkg.dsc:116:GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align

 

Thanks,

 

Andrew Fish



On May 2, 2021, at 12:06 PM, Rebecca Cran <rebecca@bsdio.com> wrote:

 

It doesn't seem to apply against
1e6b0394d6c001802dc454ecff19076aaa80f51c (master as of today):

patching file BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py
Hunk #1 FAILED at 181.
Hunk #2 FAILED at 632.
2 out of 2 hunks FAILED -- saving rejects to file
BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py.rej
patching file BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
Hunk #1 FAILED at 1391.
Hunk #2 FAILED at 1534.
2 out of 2 hunks FAILED -- saving rejects to file
BaseTools/Source/Python/AutoGen/PlatformAutoGen.py.rej
patching file BaseTools/Source/Python/build/build.py
Hunk #1 FAILED at 897.
Hunk #2 FAILED at 930.
2 out of 2 hunks FAILED -- saving rejects to file
BaseTools/Source/Python/build/build.py.rej

-- 
Rebecca Cran

On 5/2/21 12:04 PM, Kinney, Michael D wrote:

Please try this patch:

  https://edk2.groups.io/g/devel/message/74684

If it works, can you please also do a review?  Many community members are offline this week and I want to get these fixes in.

Mike


-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran
Sent: Saturday, May 1, 2021 9:05 PM
To: devel@edk2.groups.io; Andrew Fish <afish@apple.com>; Laszlo Ersek <lersek@redhat.com>
Subject: [edk2-devel] Error building OVMF on x86 macOS with Xcode 12.5

I'm trying to build OVMF on an x86 Mac running Big Sur and Xcode 12.5.

If I run "./OvmfPkg/build.sh -a X64 -t XCODE5 -b RELEASE" it seems to
get quite far, but then tries to run ld with "-z common-page-size",
causing the error:


"ld" -arch x86_64 -u __ModuleEntryPoint -e __ModuleEntryPoint -preload
-segalign 0x20 -pie -all_load -dead_strip -seg1addr 0x240 -map
/Users/bcran/src/edk2/Build/OvmfX64/RELEASE_XCODE5/X64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterR
untimeDxe/DEBUG/MonotonicCounterRuntimeDxe.map
-z common-page-size=0x1000 -seg1addr 0x1000 -segalign 0x1000 -o
/Users/bcran/src/edk2/Build/OvmfX64/RELEASE_XCODE5/X64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterR
untimeDxe/DEBUG/MonotonicCounterRuntimeDxe.dll
-filelist
/Users/bcran/src/edk2/Build/OvmfX64/RELEASE_XCODE5/X64/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterR
untimeDxe/OUTPUT/static_library_files.lst
Building ... /Users/bcran/src/edk2/UefiCpuPkg/CpuMpPei/CpuMpPei.inf [X64]
make: Nothing to be done for `tbuild'.
ld: unknown option: -z


--

Rebecca Cran