"android/arm": true,
"android/arm64": true,
"ios/arm64": true,
+ "ios/amd64": true,
"js/wasm": false,
"netbsd/386": true,
"netbsd/amd64": true,
if cfg.BuildContext.GOARCH != "arm64" {
return true
}
- case "darwin", "ios":
+ case "ios":
+ return true
+ case "darwin":
if cfg.BuildContext.GOARCH == "arm64" {
return true
}
ldBuildmode = "pie"
case "windows":
ldBuildmode = "pie"
- case "darwin", "ios":
+ case "ios":
+ codegenArg = "-shared"
+ ldBuildmode = "pie"
+ case "darwin":
switch cfg.Goarch {
case "arm64":
codegenArg = "-shared"
"android/amd64", "android/arm", "android/arm64", "android/386",
"freebsd/amd64",
"darwin/amd64", "darwin/arm64",
+ "ios/amd64", "ios/arm64",
"aix/ppc64",
"windows/386", "windows/amd64", "windows/arm":
return true
*mode = BuildModeExe
case "pie":
switch objabi.GOOS {
- case "aix", "android", "linux", "windows":
- case "darwin":
- switch objabi.GOARCH {
- case "amd64", "arm64":
- default:
- return badmode()
- }
+ case "aix", "android", "linux", "windows", "darwin", "ios":
case "freebsd":
switch objabi.GOARCH {
case "amd64":
--- /dev/null
+// Copyright 2020 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include "textflag.h"
+
+// internal linking executable entry point.
+// ios/amd64 only supports external linking.
+TEXT _rt0_amd64_ios(SB),NOSPLIT|NOFRAME,$0
+ UNDEF
+
+// library entry point.
+TEXT _rt0_amd64_ios_lib(SB),NOSPLIT|NOFRAME,$0
+ JMP _rt0_amd64_darwin_lib(SB)