0009-ld-replace-glibc-dynamic-linker-with-musl.patch 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. From 973251ae0c69a35721f6115345d3f57b2847979f Mon Sep 17 00:00:00 2001
  2. From: Alex Kube <alexander.j.kube@gmail.com>
  3. Date: Wed, 23 Oct 2019 21:20:13 +0430
  4. Subject: [PATCH 9/9] ld: replace glibc dynamic linker with musl
  5. Rework of patch by Khem Raj <raj.khem@gmail.com>
  6. for go 1.10. Should be applied conditionally on
  7. musl being the system C library.
  8. Adapted to Go 1.13 from patches originally submitted to
  9. the meta/recipes-devtools/go tree by
  10. Matt Madison <matt@madison.systems>.
  11. Upstream-Status: Inappropriate [Real fix should be portable across libcs]
  12. Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
  13. ---
  14. src/cmd/link/internal/amd64/obj.go | 2 +-
  15. src/cmd/link/internal/arm/obj.go | 2 +-
  16. src/cmd/link/internal/arm64/obj.go | 2 +-
  17. src/cmd/link/internal/mips/obj.go | 2 +-
  18. src/cmd/link/internal/mips64/obj.go | 2 +-
  19. src/cmd/link/internal/ppc64/obj.go | 2 +-
  20. src/cmd/link/internal/s390x/obj.go | 2 +-
  21. src/cmd/link/internal/x86/obj.go | 2 +-
  22. 8 files changed, 8 insertions(+), 8 deletions(-)
  23. diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
  24. index 23741eb..8e74576 100644
  25. --- a/src/cmd/link/internal/amd64/obj.go
  26. +++ b/src/cmd/link/internal/amd64/obj.go
  27. @@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
  28. PEreloc1: pereloc1,
  29. TLSIEtoLE: tlsIEtoLE,
  30. - Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
  31. + Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
  32. Freebsddynld: "/libexec/ld-elf.so.1",
  33. Openbsddynld: "/usr/libexec/ld.so",
  34. Netbsddynld: "/libexec/ld.elf_so",
  35. diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go
  36. index 45a406e..724d3e3 100644
  37. --- a/src/cmd/link/internal/arm/obj.go
  38. +++ b/src/cmd/link/internal/arm/obj.go
  39. @@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
  40. Machoreloc1: machoreloc1,
  41. PEreloc1: pereloc1,
  42. - Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
  43. + Linuxdynld: "/lib/ld-musl-armhf.so.1",
  44. Freebsddynld: "/usr/libexec/ld-elf.so.1",
  45. Openbsddynld: "/usr/libexec/ld.so",
  46. Netbsddynld: "/libexec/ld.elf_so",
  47. diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go
  48. index 7c66623..d8b1db1 100644
  49. --- a/src/cmd/link/internal/arm64/obj.go
  50. +++ b/src/cmd/link/internal/arm64/obj.go
  51. @@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
  52. Gentext: gentext,
  53. Machoreloc1: machoreloc1,
  54. - Linuxdynld: "/lib/ld-linux-aarch64.so.1",
  55. + Linuxdynld: "/lib/ld-musl-aarch64.so.1",
  56. Freebsddynld: "XXX",
  57. Openbsddynld: "/usr/libexec/ld.so",
  58. diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go
  59. index 231e1ff..631dd7a 100644
  60. --- a/src/cmd/link/internal/mips/obj.go
  61. +++ b/src/cmd/link/internal/mips/obj.go
  62. @@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
  63. Gentext: gentext,
  64. Machoreloc1: machoreloc1,
  65. - Linuxdynld: "/lib/ld.so.1",
  66. + Linuxdynld: "/lib/ld-musl-mipsle.so.1",
  67. Freebsddynld: "XXX",
  68. Openbsddynld: "XXX",
  69. diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go
  70. index 9604208..5ef3ffc 100644
  71. --- a/src/cmd/link/internal/mips64/obj.go
  72. +++ b/src/cmd/link/internal/mips64/obj.go
  73. @@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
  74. Gentext: gentext,
  75. Machoreloc1: machoreloc1,
  76. - Linuxdynld: "/lib64/ld64.so.1",
  77. + Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
  78. Freebsddynld: "XXX",
  79. Openbsddynld: "XXX",
  80. Netbsddynld: "XXX",
  81. diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
  82. index 51d1791..b15da85 100644
  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. // TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
  88. - Linuxdynld: "/lib64/ld64.so.1",
  89. + Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
  90. Freebsddynld: "XXX",
  91. Openbsddynld: "XXX",
  92. diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go
  93. index 3454476..42cc346 100644
  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. - Linuxdynld: "/lib64/ld64.so.1",
  100. + Linuxdynld: "/lib64/ld-musl-s390x.so.1",
  101. // not relevant for s390x
  102. Freebsddynld: "XXX",
  103. diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go
  104. index f1fad20..d2ca10c 100644
  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. - Linuxdynld: "/lib/ld-linux.so.2",
  111. + Linuxdynld: "/lib/ld-musl-i386.so.1",
  112. Freebsddynld: "/usr/libexec/ld-elf.so.1",
  113. Openbsddynld: "/usr/libexec/ld.so",
  114. Netbsddynld: "/usr/libexec/ld.elf_so",
  115. --
  116. 2.17.1 (Apple Git-112)