blob: fd67375c7f40d406826d1d3ffed7ec509409b83d [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Sun, 18 Feb 2018 08:24:05 -0800
4Subject: [PATCH] ld: replace glibc dynamic linker with musl
5
6Rework of patch by Khem Raj <raj.khem@gmail.com>
7for go 1.10. Should be applied conditionally on
8musl being the system C library.
9
10Upstream-Status: Inappropriate [Real fix should be portable across libcs]
11
12Signed-off-by: Matt Madison <matt@madison.systems>
13
14---
15 src/cmd/link/internal/amd64/obj.go | 2 +-
16 src/cmd/link/internal/arm/obj.go | 2 +-
17 src/cmd/link/internal/arm64/obj.go | 2 +-
18 src/cmd/link/internal/mips/obj.go | 2 +-
19 src/cmd/link/internal/mips64/obj.go | 2 +-
20 src/cmd/link/internal/ppc64/obj.go | 2 +-
21 src/cmd/link/internal/s390x/obj.go | 2 +-
22 src/cmd/link/internal/x86/obj.go | 2 +-
23 8 files changed, 8 insertions(+), 8 deletions(-)
24
25diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
26index 87e8091..f522a63 100644
27--- a/src/cmd/link/internal/amd64/obj.go
28+++ b/src/cmd/link/internal/amd64/obj.go
29@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
30 PEreloc1: pereloc1,
31 TLSIEtoLE: tlsIEtoLE,
32
33- Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
34+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
35 Freebsddynld: "/libexec/ld-elf.so.1",
36 Openbsddynld: "/usr/libexec/ld.so",
37 Netbsddynld: "/libexec/ld.elf_so",
38diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go
39index 788be68..1d2b90e 100644
40--- a/src/cmd/link/internal/arm/obj.go
41+++ b/src/cmd/link/internal/arm/obj.go
42@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
43 Gentext: gentext,
44 Machoreloc1: machoreloc1,
45
46- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
47+ Linuxdynld: "/lib/ld-musl-armhf.so.1",
48 Freebsddynld: "/usr/libexec/ld-elf.so.1",
49 Openbsddynld: "/usr/libexec/ld.so",
50 Netbsddynld: "/libexec/ld.elf_so",
51diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go
52index 405d22d..b115659 100644
53--- a/src/cmd/link/internal/arm64/obj.go
54+++ b/src/cmd/link/internal/arm64/obj.go
55@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
56 Gentext: gentext,
57 Machoreloc1: machoreloc1,
58
59- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
60+ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
61
62 Freebsddynld: "XXX",
63 Openbsddynld: "XXX",
64diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go
65index c5d3451..fd85e63 100644
66--- a/src/cmd/link/internal/mips/obj.go
67+++ b/src/cmd/link/internal/mips/obj.go
68@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
69 Gentext: gentext,
70 Machoreloc1: machoreloc1,
71
72- Linuxdynld: "/lib/ld.so.1",
73+ Linuxdynld: "/lib/ld-musl-mipsle.so.1",
74
75 Freebsddynld: "XXX",
76 Openbsddynld: "XXX",
77diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go
78index 83974e5..097224f 100644
79--- a/src/cmd/link/internal/mips64/obj.go
80+++ b/src/cmd/link/internal/mips64/obj.go
81@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
82 Gentext: gentext,
83 Machoreloc1: machoreloc1,
84
85- Linuxdynld: "/lib64/ld64.so.1",
86+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
87 Freebsddynld: "XXX",
88 Openbsddynld: "XXX",
89 Netbsddynld: "XXX",
90diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
91index 273d9b4..a503abe 100644
92--- a/src/cmd/link/internal/ppc64/obj.go
93+++ b/src/cmd/link/internal/ppc64/obj.go
94@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
95 Machoreloc1: machoreloc1,
96
97 // TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
98- Linuxdynld: "/lib64/ld64.so.1",
99+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
100
101 Freebsddynld: "XXX",
102 Openbsddynld: "XXX",
103diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go
104index 9ac7eb8..3825ff7 100644
105--- a/src/cmd/link/internal/s390x/obj.go
106+++ b/src/cmd/link/internal/s390x/obj.go
107@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
108 Gentext: gentext,
109 Machoreloc1: machoreloc1,
110
111- Linuxdynld: "/lib64/ld64.so.1",
112+ Linuxdynld: "/lib64/ld-musl-s390x.so.1",
113
114 // not relevant for s390x
115 Freebsddynld: "XXX",
116diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go
117index 6a744dc..d81f392 100644
118--- a/src/cmd/link/internal/x86/obj.go
119+++ b/src/cmd/link/internal/x86/obj.go
120@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
121 Machoreloc1: machoreloc1,
122 PEreloc1: pereloc1,
123
124- Linuxdynld: "/lib/ld-linux.so.2",
125+ Linuxdynld: "/lib/ld-musl-i386.so.1",
126 Freebsddynld: "/usr/libexec/ld-elf.so.1",
127 Openbsddynld: "/usr/libexec/ld.so",
128 Netbsddynld: "/usr/libexec/ld.elf_so",