|
|
|
--- src/cmd/link/internal/ld/config.go 2019-11-18 12:11:12.010000000 +0100
|
|
|
|
+++ src/cmd/link/internal/ld/config.go 2019-11-18 12:16:23.420000000 +0100
|
|
|
|
@@ -70,7 +70,7 @@
|
|
|
|
*mode = BuildModeCArchive
|
|
|
|
case "c-shared":
|
|
|
|
switch objabi.GOARCH {
|
|
|
|
- case "386", "amd64", "arm", "arm64", "ppc64le", "s390x":
|
|
|
|
+ case "386", "amd64", "arm", "arm64", "ppc64", "ppc64le", "s390x":
|
|
|
|
default:
|
|
|
|
return badmode()
|
|
|
|
}
|
|
|
|
@@ -79,7 +79,7 @@
|
|
|
|
switch objabi.GOOS {
|
|
|
|
case "linux":
|
|
|
|
switch objabi.GOARCH {
|
|
|
|
- case "386", "amd64", "arm", "arm64", "ppc64le", "s390x":
|
|
|
|
+ case "386", "amd64", "arm", "arm64", "ppc64", "ppc64le", "s390x":
|
|
|
|
default:
|
|
|
|
return badmode()
|
|
|
|
}
|
|
|
|
@@ -91,7 +91,7 @@
|
|
|
|
switch objabi.GOOS {
|
|
|
|
case "linux":
|
|
|
|
switch objabi.GOARCH {
|
|
|
|
- case "386", "amd64", "arm", "arm64", "s390x", "ppc64le":
|
|
|
|
+ case "386", "amd64", "arm", "arm64", "s390x", "ppc64le", "ppc64":
|
|
|
|
default:
|
|
|
|
return badmode()
|
|
|
|
}
|
|
|
|
@@ -186,7 +186,7 @@
|
|
|
|
// Internally linking cgo is incomplete on some architectures.
|
|
|
|
// https://golang.org/issue/14449
|
|
|
|
// https://golang.org/issue/21961
|
|
|
|
- if iscgo && ctxt.Arch.InFamily(sys.MIPS64, sys.MIPS, sys.PPC64) {
|
|
|
|
+ if iscgo && ctxt.Arch.InFamily(sys.MIPS64, sys.MIPS) {
|
|
|
|
return true, objabi.GOARCH + " does not support internal cgo"
|
|
|
|
}
|
|
|
|
|
|
|
|
@@ -241,9 +241,6 @@
|
|
|
|
}
|
|
|
|
ctxt.LinkMode = LinkInternal
|
|
|
|
case "1":
|
|
|
|
- if objabi.GOARCH == "ppc64" && objabi.GOOS != "aix" {
|
|
|
|
- Exitf("external linking requested via GO_EXTLINK_ENABLED but not supported for %s/ppc64", objabi.GOOS)
|
|
|
|
- }
|
|
|
|
ctxt.LinkMode = LinkExternal
|
|
|
|
default:
|
|
|
|
if needed, _ := mustLinkExternal(ctxt); needed {
|
|
|
|
@@ -255,17 +252,10 @@
|
|
|
|
} else {
|
|
|
|
ctxt.LinkMode = LinkInternal
|
|
|
|
}
|
|
|
|
- if objabi.GOARCH == "ppc64" && objabi.GOOS != "aix" && ctxt.LinkMode == LinkExternal {
|
|
|
|
- Exitf("external linking is not supported for %s/ppc64", objabi.GOOS)
|
|
|
|
- }
|
|
|
|
}
|
|
|
|
case LinkInternal:
|
|
|
|
if needed, reason := mustLinkExternal(ctxt); needed {
|
|
|
|
Exitf("internal linking requested but external linking required: %s", reason)
|
|
|
|
}
|
|
|
|
- case LinkExternal:
|
|
|
|
- if objabi.GOARCH == "ppc64" && objabi.GOOS != "aix" {
|
|
|
|
- Exitf("external linking not supported for %s/ppc64", objabi.GOOS)
|
|
|
|
- }
|
|
|
|
}
|
|
|
|
}
|