mirror of
https://github.com/golang/go
synced 2024-11-26 11:58:07 -07:00
cmd/link: do not use GO_LDSO when cross compile
GO_LDSO is a setting that is set when the toolchain is build. It only makes sense to use it on the host platform. Do not use it when targetting a different platform. In the past it was not a problem as GO_LDSO was almost always unset. Now, with CL 301989 it is almost always set (maybe we want to revisit it). Fixes #47760. Change-Id: I2704b9968781f46e2d2f8624090db19689b1a32f Reviewed-on: https://go-review.googlesource.com/c/go/+/343010 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
a2a9a7b513
commit
ddfcc02352
@ -16,6 +16,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"internal/buildcfg"
|
"internal/buildcfg"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@ -1745,7 +1746,7 @@ func asmbElf(ctxt *Link) {
|
|||||||
sh.Flags = uint64(elf.SHF_ALLOC)
|
sh.Flags = uint64(elf.SHF_ALLOC)
|
||||||
sh.Addralign = 1
|
sh.Addralign = 1
|
||||||
|
|
||||||
if interpreter == "" && buildcfg.GO_LDSO != "" {
|
if interpreter == "" && buildcfg.GOOS == runtime.GOOS && buildcfg.GOARCH == runtime.GOARCH && buildcfg.GO_LDSO != "" {
|
||||||
interpreter = buildcfg.GO_LDSO
|
interpreter = buildcfg.GO_LDSO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user