The new pagezero_size introduced by CL 72730 breaks
on 32-bit systems, since it is 2³². Restrict the change to
darwin/arm64, since it is intended for iOS only.
We could plausibly allow GOARCH=amd64 as well, but
without a compelling reason, changing the zero page size
doesn't seem worth the risk.
Change-Id: I5d6adcbaff8d0e5b169ff13512f188332cc7ed9a
Reviewed-on: https://go-review.googlesource.com/73250
Run-TryBot: Russ Cox <rsc@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
switch ctxt.BuildMode {
case BuildModeExe:
if ctxt.HeadType == objabi.Hdarwin {
- // __PAGEZERO segment size determined empirically.
- // XCode 9.0.1 successfully uploads an iOS app with this value.
- // Also works for macOS apps.
- argv = append(argv, "-Wl,-pagezero_size,100000000")
+ if ctxt.Arch.Family == sys.ARM64 {
+ // __PAGEZERO segment size determined empirically.
+ // XCode 9.0.1 successfully uploads an iOS app with this value.
+ argv = append(argv, "-Wl,-pagezero_size,100000000")
+ } else {
+ argv = append(argv, "-Wl,-pagezero_size,4000000")
+ }
}
case BuildModePIE:
// ELF.