Blame SOURCES/cmd-link-use-correct-path-for-dynamic-loader-on-ppc6.patch

6d0f59
From 241192ecd31ca03a6f68fa7e55bb9f66040d3a2f Mon Sep 17 00:00:00 2001
6d0f59
From: Lynn Boger <laboger@linux.vnet.ibm.com>
6d0f59
Date: Thu, 14 Jul 2022 10:47:28 -0500
6d0f59
Subject: [PATCH] cmd/link: use correct path for dynamic loader on ppc64le
6d0f59
6d0f59
The setting of the path for the dynamic loader when building for
6d0f59
linux/ppc64le ELF v2 was incorrectly set to the path for
6d0f59
PPC64 ELF v1. This has not caused issues in the common cases
6d0f59
because this string can be set based on the default GO_LDSO setting.
6d0f59
It does result in an incorrect value when cross compiling binaries
6d0f59
with -buildmode=pie.
6d0f59
6d0f59
Updates #53813
6d0f59
6d0f59
Change-Id: I84de1c97b42e0434760b76a57c5a05e055fbb730
6d0f59
---
6d0f59
 src/cmd/link/internal/ppc64/obj.go | 13 +++++++------
6d0f59
 1 file changed, 7 insertions(+), 6 deletions(-)
6d0f59
6d0f59
diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
6d0f59
index b6d5ad92af..bca8fa9212 100644
6d0f59
--- a/src/cmd/link/internal/ppc64/obj.go
6d0f59
+++ b/src/cmd/link/internal/ppc64/obj.go
6d0f59
@@ -38,9 +38,12 @@ import (
6d0f59
 )
6d0f59
 
6d0f59
 func Init() (*sys.Arch, ld.Arch) {
6d0f59
-	arch := sys.ArchPPC64
6d0f59
-	if buildcfg.GOARCH == "ppc64le" {
6d0f59
-		arch = sys.ArchPPC64LE
6d0f59
+	arch := sys.ArchPPC64LE
6d0f59
+	dynld := "/lib64/ld64.so.2"
6d0f59
+
6d0f59
+	if buildcfg.GOARCH == "ppc64" {
6d0f59
+		arch = sys.ArchPPC64
6d0f59
+		dynld = "/lib64/ld64.so.1"
6d0f59
 	}
6d0f59
 
6d0f59
 	theArch := ld.Arch{
6d0f59
@@ -64,9 +67,7 @@ func Init() (*sys.Arch, ld.Arch) {
6d0f59
 		Machoreloc1:      machoreloc1,
6d0f59
 		Xcoffreloc1:      xcoffreloc1,
6d0f59
 
6d0f59
-		// TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
6d0f59
-		Linuxdynld: "/lib64/ld64.so.1",
6d0f59
-
6d0f59
+		Linuxdynld:     dynld,
6d0f59
 		Freebsddynld:   "XXX",
6d0f59
 		Openbsddynld:   "XXX",
6d0f59
 		Netbsddynld:    "XXX",
6d0f59
-- 
6d0f59
2.35.3
6d0f59