diff --git a/SOURCES/cmd-link-use-correct-path-for-dynamic-loader-on-ppc6.patch b/SOURCES/cmd-link-use-correct-path-for-dynamic-loader-on-ppc6.patch new file mode 100644 index 0000000..25294d3 --- /dev/null +++ b/SOURCES/cmd-link-use-correct-path-for-dynamic-loader-on-ppc6.patch @@ -0,0 +1,53 @@ +From 241192ecd31ca03a6f68fa7e55bb9f66040d3a2f Mon Sep 17 00:00:00 2001 +From: Lynn Boger +Date: Thu, 14 Jul 2022 10:47:28 -0500 +Subject: [PATCH] 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 +--- + src/cmd/link/internal/ppc64/obj.go | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +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", +-- +2.35.3 + diff --git a/SPECS/golang.spec b/SPECS/golang.spec index 877796d..f29af70 100644 --- a/SPECS/golang.spec +++ b/SPECS/golang.spec @@ -101,7 +101,7 @@ Name: golang Version: %{go_version} -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Go Programming Language # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain License: BSD and Public Domain @@ -145,6 +145,8 @@ Patch226: disable_static_external_tests.patch Patch223: remove_ed25519vectors_test.patch +Patch227: cmd-link-use-correct-path-for-dynamic-loader-on-ppc6.patch + # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 @@ -238,6 +240,7 @@ Requires: %{name} = %{version}-%{release} %patch221 -p1 %patch223 -p1 %patch226 -p1 +%patch227 -p1 cp %{SOURCE1} ./src/runtime/ @@ -512,6 +515,10 @@ cd .. %endif %changelog +* Wed Aug 03 2022 Alejandro Sáez - 1.18.4-2 +- Adds patch for PIE mode issues on PPC64LE +- Resolves: rhbz#2111593 + * Wed Jul 20 2022 David Benoit - 1.18.4-1 - Update Go to version 1.18.4 - Resolves: rhbz#2109179