From: Lynn Boger Date: Thu, 14 Jul 2022 15:47:28 +0000 (-0500) Subject: cmd/link: use correct path for dynamic loader on ppc64le X-Git-Tag: go1.20rc1~1804 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=15d395a196f4aba5b8c6bb990380a85fce3282a7;p=gostls13.git cmd/link: use correct path for dynamic loader on ppc64le The setting of the path for the dynamic loader when building for linux/ppc64le ELF v2 was incorrectly set to the path for PPC64 ELF v1. This has not caused issues in the common cases because this string can be set based on the default GO_LDSO setting. It does result in an incorrect value when cross compiling binaries with -buildmode=pie. Updates #53813 Change-Id: I84de1c97b42e0434760b76a57c5a05e055fbb730 Reviewed-on: https://go-review.googlesource.com/c/go/+/417614 Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Reviewed-by: Michael Knyszek Run-TryBot: Lynn Boger --- diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go index b6d5ad92af..bca8fa9212 100644 --- a/src/cmd/link/internal/ppc64/obj.go +++ b/src/cmd/link/internal/ppc64/obj.go @@ -38,9 +38,12 @@ import ( ) func Init() (*sys.Arch, ld.Arch) { - arch := sys.ArchPPC64 - if buildcfg.GOARCH == "ppc64le" { - arch = sys.ArchPPC64LE + arch := sys.ArchPPC64LE + dynld := "/lib64/ld64.so.2" + + if buildcfg.GOARCH == "ppc64" { + arch = sys.ArchPPC64 + dynld = "/lib64/ld64.so.1" } theArch := ld.Arch{ @@ -64,9 +67,7 @@ func Init() (*sys.Arch, ld.Arch) { Machoreloc1: machoreloc1, Xcoffreloc1: xcoffreloc1, - // TODO(austin): ABI v1 uses /usr/lib/ld.so.1, - Linuxdynld: "/lib64/ld64.so.1", - + Linuxdynld: dynld, Freebsddynld: "XXX", Openbsddynld: "XXX", Netbsddynld: "XXX",