meta-virtualization/recipes-containers/kubernetes/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
Chen Qi 06dad20a32 go: add back 1.12 version to avoid compilation failure
go 1.12 was removed from oe-core, but currently k8s cannot
be built successfully with go 1.13. See link below.

  https://github.com/kubernetes/kubernetes/issues/82531

We need to wait for k8s to support go 1.13 and update it
to latest release, as well as its depedencies. Before this
is done, add back go 1.12 and use it.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-10 02:26:15 -05:00

113 lines
3.8 KiB
Diff

From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001
From: Matt Madison <matt@madison.systems>
Date: Sun, 18 Feb 2018 08:24:05 -0800
Subject: [PATCH] ld: replace glibc dynamic linker with musl
Rework of patch by Khem Raj <raj.khem@gmail.com>
for go 1.10. Should be applied conditionally on
musl being the system C library.
Upstream-Status: Inappropriate [Real fix should be portable across libcs]
Signed-off-by: Matt Madison <matt@madison.systems>
---
src/cmd/link/internal/amd64/obj.go | 2 +-
src/cmd/link/internal/arm/obj.go | 2 +-
src/cmd/link/internal/arm64/obj.go | 2 +-
src/cmd/link/internal/mips/obj.go | 2 +-
src/cmd/link/internal/mips64/obj.go | 2 +-
src/cmd/link/internal/ppc64/obj.go | 2 +-
src/cmd/link/internal/s390x/obj.go | 2 +-
src/cmd/link/internal/x86/obj.go | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
--- a/src/cmd/link/internal/amd64/obj.go
+++ b/src/cmd/link/internal/amd64/obj.go
@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
PEreloc1: pereloc1,
TLSIEtoLE: tlsIEtoLE,
- Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
Freebsddynld: "/libexec/ld-elf.so.1",
Openbsddynld: "/usr/libexec/ld.so",
Netbsddynld: "/libexec/ld.elf_so",
--- a/src/cmd/link/internal/arm/obj.go
+++ b/src/cmd/link/internal/arm/obj.go
@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
Machoreloc1: machoreloc1,
PEreloc1: pereloc1,
- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
+ Linuxdynld: "/lib/ld-musl-armhf.so.1",
Freebsddynld: "/usr/libexec/ld-elf.so.1",
Openbsddynld: "/usr/libexec/ld.so",
Netbsddynld: "/libexec/ld.elf_so",
--- a/src/cmd/link/internal/arm64/obj.go
+++ b/src/cmd/link/internal/arm64/obj.go
@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
Gentext: gentext,
Machoreloc1: machoreloc1,
- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
+ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
Freebsddynld: "XXX",
Openbsddynld: "XXX",
--- a/src/cmd/link/internal/mips/obj.go
+++ b/src/cmd/link/internal/mips/obj.go
@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
Gentext: gentext,
Machoreloc1: machoreloc1,
- Linuxdynld: "/lib/ld.so.1",
+ Linuxdynld: "/lib/ld-musl-mipsle.so.1",
Freebsddynld: "XXX",
Openbsddynld: "XXX",
--- a/src/cmd/link/internal/mips64/obj.go
+++ b/src/cmd/link/internal/mips64/obj.go
@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
Gentext: gentext,
Machoreloc1: machoreloc1,
- Linuxdynld: "/lib64/ld64.so.1",
+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
Freebsddynld: "XXX",
Openbsddynld: "XXX",
Netbsddynld: "XXX",
--- a/src/cmd/link/internal/ppc64/obj.go
+++ b/src/cmd/link/internal/ppc64/obj.go
@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
Machoreloc1: machoreloc1,
// TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
- Linuxdynld: "/lib64/ld64.so.1",
+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
Freebsddynld: "XXX",
Openbsddynld: "XXX",
--- a/src/cmd/link/internal/s390x/obj.go
+++ b/src/cmd/link/internal/s390x/obj.go
@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
Gentext: gentext,
Machoreloc1: machoreloc1,
- Linuxdynld: "/lib64/ld64.so.1",
+ Linuxdynld: "/lib64/ld-musl-s390x.so.1",
// not relevant for s390x
Freebsddynld: "XXX",
--- a/src/cmd/link/internal/x86/obj.go
+++ b/src/cmd/link/internal/x86/obj.go
@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
Machoreloc1: machoreloc1,
PEreloc1: pereloc1,
- Linuxdynld: "/lib/ld-linux.so.2",
+ Linuxdynld: "/lib/ld-musl-i386.so.1",
Freebsddynld: "/usr/libexec/ld-elf.so.1",
Openbsddynld: "/usr/libexec/ld.so",
Netbsddynld: "/usr/libexec/ld.elf_so",