blob: 427cfb0dd2f85a81fdb10a721f60a26c48012fca [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001From 973251ae0c69a35721f6115345d3f57b2847979f Mon Sep 17 00:00:00 2001
2From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:20:13 +0430
4Subject: [PATCH 9/9] 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
10Adapted to Go 1.13 from patches originally submitted to
11the meta/recipes-devtools/go tree by
12Matt Madison <matt@madison.systems>.
13
14Upstream-Status: Inappropriate [Real fix should be portable across libcs]
15
16Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
17---
18 src/cmd/link/internal/amd64/obj.go | 2 +-
19 src/cmd/link/internal/arm/obj.go | 2 +-
20 src/cmd/link/internal/arm64/obj.go | 2 +-
21 src/cmd/link/internal/mips/obj.go | 2 +-
22 src/cmd/link/internal/mips64/obj.go | 2 +-
23 src/cmd/link/internal/ppc64/obj.go | 2 +-
24 src/cmd/link/internal/s390x/obj.go | 2 +-
25 src/cmd/link/internal/x86/obj.go | 2 +-
26 8 files changed, 8 insertions(+), 8 deletions(-)
27
28--- a/src/cmd/link/internal/amd64/obj.go
29+++ b/src/cmd/link/internal/amd64/obj.go
30@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
31 PEreloc1: pereloc1,
32 TLSIEtoLE: tlsIEtoLE,
33
34- Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
35+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
36 Freebsddynld: "/libexec/ld-elf.so.1",
37 Openbsddynld: "/usr/libexec/ld.so",
38 Netbsddynld: "/libexec/ld.elf_so",
39--- a/src/cmd/link/internal/arm/obj.go
40+++ b/src/cmd/link/internal/arm/obj.go
41@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
42 Machoreloc1: machoreloc1,
43 PEreloc1: pereloc1,
44
45- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
46+ Linuxdynld: "/lib/ld-musl-armhf.so.1",
47 Freebsddynld: "/usr/libexec/ld-elf.so.1",
48 Openbsddynld: "/usr/libexec/ld.so",
49 Netbsddynld: "/libexec/ld.elf_so",
50--- a/src/cmd/link/internal/arm64/obj.go
51+++ b/src/cmd/link/internal/arm64/obj.go
52@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
53 Gentext: gentext,
54 Machoreloc1: machoreloc1,
55
56- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
57+ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
58
59 Freebsddynld: "/usr/libexec/ld-elf.so.1",
60 Openbsddynld: "/usr/libexec/ld.so",
61--- a/src/cmd/link/internal/mips/obj.go
62+++ b/src/cmd/link/internal/mips/obj.go
63@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
64 Gentext: gentext,
65 Machoreloc1: machoreloc1,
66
67- Linuxdynld: "/lib/ld.so.1",
68+ Linuxdynld: "/lib/ld-musl-mipsle.so.1",
69
70 Freebsddynld: "XXX",
71 Openbsddynld: "XXX",
72--- a/src/cmd/link/internal/mips64/obj.go
73+++ b/src/cmd/link/internal/mips64/obj.go
74@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
75 Gentext: gentext,
76 Machoreloc1: machoreloc1,
77
78- Linuxdynld: "/lib64/ld64.so.1",
79+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
80 Freebsddynld: "XXX",
81 Openbsddynld: "XXX",
82 Netbsddynld: "XXX",
83--- a/src/cmd/link/internal/ppc64/obj.go
84+++ b/src/cmd/link/internal/ppc64/obj.go
85@@ -63,7 +63,7 @@ func Init() (*sys.Arch, ld.Arch) {
86 Xcoffreloc1: xcoffreloc1,
87
88 // TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
89- Linuxdynld: "/lib64/ld64.so.1",
90+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
91
92 Freebsddynld: "XXX",
93 Openbsddynld: "XXX",
94--- a/src/cmd/link/internal/s390x/obj.go
95+++ b/src/cmd/link/internal/s390x/obj.go
96@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
97 Gentext: gentext,
98 Machoreloc1: machoreloc1,
99
100- Linuxdynld: "/lib64/ld64.so.1",
101+ Linuxdynld: "/lib64/ld-musl-s390x.so.1",
102
103 // not relevant for s390x
104 Freebsddynld: "XXX",
105--- a/src/cmd/link/internal/x86/obj.go
106+++ b/src/cmd/link/internal/x86/obj.go
107@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
108 Machoreloc1: machoreloc1,
109 PEreloc1: pereloc1,
110
111- Linuxdynld: "/lib/ld-linux.so.2",
112+ Linuxdynld: "/lib/ld-musl-i386.so.1",
113 Freebsddynld: "/usr/libexec/ld-elf.so.1",
114 Openbsddynld: "/usr/libexec/ld.so",
115 Netbsddynld: "/usr/libexec/ld.elf_so",