func mustLinkExternal(goos, goarch string, cgoEnabled bool) bool {
if cgoEnabled {
switch goarch {
- case "loong64", "mips", "mipsle", "mips64", "mips64le":
+ case "mips", "mipsle", "mips64", "mips64le":
// Internally linking cgo is incomplete on some architectures.
// https://golang.org/issue/14449
return true
// Internally linking cgo is incomplete on some architectures.
// https://golang.org/issue/10373
// https://golang.org/issue/14449
- if goarch == "loong64" || goarch == "mips64" || goarch == "mips64le" || goarch == "mips" || goarch == "mipsle" || goarch == "riscv64" {
+ if goarch == "mips64" || goarch == "mips64le" || goarch == "mips" || goarch == "mipsle" || goarch == "riscv64" {
return false
}
if goos == "aix" {
}
switch goos + "-" + goarch {
case "darwin-amd64", "darwin-arm64",
- "linux-amd64", "linux-arm64", "linux-ppc64le",
+ "linux-amd64", "linux-arm64", "linux-loong64", "linux-ppc64le",
"android-arm64",
"windows-amd64", "windows-386", "windows-arm":
return true
func MustLinkExternal(goos, goarch string, withCgo bool) bool {
if withCgo {
switch goarch {
- case "loong64", "mips", "mipsle", "mips64", "mips64le":
+ case "mips", "mipsle", "mips64", "mips64le":
// Internally linking cgo is incomplete on some architectures.
// https://go.dev/issue/14449
return true
switch goos + "/" + goarch {
case "android/arm64",
"darwin/amd64", "darwin/arm64",
- "linux/amd64", "linux/arm64", "linux/ppc64le",
+ "linux/amd64", "linux/arm64", "linux/loong64", "linux/ppc64le",
"windows/386", "windows/amd64", "windows/arm", "windows/arm64":
return true
}