blob: fd67375c7f40d406826d1d3ffed7ec509409b83d [file] [log] [blame]
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(-)
diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
index 87e8091..f522a63 100644
--- 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",
diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go
index 788be68..1d2b90e 100644
--- a/src/cmd/link/internal/arm/obj.go
+++ b/src/cmd/link/internal/arm/obj.go
@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
Gentext: gentext,
Machoreloc1: machoreloc1,
- 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",
diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go
index 405d22d..b115659 100644
--- 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",
diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go
index c5d3451..fd85e63 100644
--- 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",
diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go
index 83974e5..097224f 100644
--- 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",
diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
index 273d9b4..a503abe 100644
--- 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",
diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go
index 9ac7eb8..3825ff7 100644
--- 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",
diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go
index 6a744dc..d81f392 100644
--- 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",