From b02b8f39c2cdf6a25748f1e09e4336e6a7d4192d Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 28 Feb 2018 14:00:18 +0000 Subject: community/go: upgrade to 1.10 --- community/go/APKBUILD | 19 +-- community/go/default-buildmode-pie.patch | 13 +- ...ke-sure-R0-is-zero-before-main-on-ppc64le.patch | 32 ----- community/go/set-external-linker.patch | 136 ++++++++++----------- 4 files changed, 86 insertions(+), 114 deletions(-) delete mode 100644 community/go/make-sure-R0-is-zero-before-main-on-ppc64le.patch (limited to 'community/go') diff --git a/community/go/APKBUILD b/community/go/APKBUILD index fcad686995c..e660c31a9fd 100644 --- a/community/go/APKBUILD +++ b/community/go/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel -# Maintainer: +# Maintainer: Natanael Copa pkgname=go -pkgver=1.9.4 +pkgver=1.10 # This should be the latest commit on the corresponding release branch _toolsver="5d2fd3ccab986d52112bf301d47a819783339d0e" pkgrel=0 @@ -20,7 +20,6 @@ source="http://golang.org/dl/go${pkgver/_/}.src.tar.gz go-tools-${pkgver/_/}.tar.gz::https://github.com/golang/tools/archive/${_toolsver}.tar.gz default-buildmode-pie.patch set-external-linker.patch - make-sure-R0-is-zero-before-main-on-ppc64le.patch " # secfixes: @@ -101,6 +100,11 @@ build() { done } +check() { + cd "$builddir" + ./bin/go run doc/play/hello.go +} + package() { cd "$builddir" mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib/go/bin "$pkgdir"/usr/share/doc/go @@ -151,8 +155,7 @@ tools() { done } -sha512sums="1a7c830e07507ff7b89025adfb5c713444d97301f8ad47ef2564722c1e28186e946350f07e22777fbdd6f2f589c334eb01dfd589e97cb8a86f73669547badb0b go1.9.4.src.tar.gz -d679873082dbac6a47b7c43ac74c47cb19616fb053a4faa3e6ee78004ece86aa5c432fba3d24c030d47396089d7ec7c6357af5648bd767341056396066ff9a04 go-tools-1.9.4.tar.gz -ef9da66d76e4698314eaf2aa88cf40a8430a15f8f6cb9ad17ee9d72498ec049b60e63e1ff5acf13a916c5ea365f9d9a282b6f2b06e28de9e3484eb9a3d7dd98e default-buildmode-pie.patch -6b36f3780ab10e5c4902473a8ab5c0417220ece584b537517e9e60979bdc5a548ed14dd2546605392c89ec5ea6691769d337d34e2e19b92eba5bbca1898f4ada set-external-linker.patch -451ca02dea91d74d8e3216c7a48d963bbfc040b43d15868087d6339a1815c4996817c5ace265a20abcdb9d1da4e9ff58e373397d98df773b729876f4623b1cc8 make-sure-R0-is-zero-before-main-on-ppc64le.patch" +sha512sums="59f089e1ffb2d3aba5ada329d4f0d1181c3c4f01fa64f19d0b753f8a989cb59cf290ad88d215cadc18ef99aba8518e44c9bc258c07eaffc834c55e4a37bd4651 go1.10.src.tar.gz +d679873082dbac6a47b7c43ac74c47cb19616fb053a4faa3e6ee78004ece86aa5c432fba3d24c030d47396089d7ec7c6357af5648bd767341056396066ff9a04 go-tools-1.10.tar.gz +a8f3afd97992f03ccf2680cde214eefccac47daeb9eeb689b5e0b206ea3c19cfb23d448a4eb532894d830d4b91cd97b249e88f04c17feba02d9e243b40243bd0 default-buildmode-pie.patch +6abfdd8521b61ce1e823465f9b950a75dc235d7d58cc4c641c4e7830f7da28b8c57be53aef85641ff79bc95d7bd47bb0796659309d9d8e7907e29df520b150b0 set-external-linker.patch" diff --git a/community/go/default-buildmode-pie.patch b/community/go/default-buildmode-pie.patch index cc8aef0ad07..3cf4865a787 100644 --- a/community/go/default-buildmode-pie.patch +++ b/community/go/default-buildmode-pie.patch @@ -1,13 +1,14 @@ -diff -upr src/go.orig/src/cmd/go/internal/work/build.go src/go/src/cmd/go/internal/work/build.go ---- go.orig/src/cmd/go/internal/work/build.go 2017-08-27 17:38:26.354750979 +0200 -+++ go/src/cmd/go/internal/work/build.go 2017-08-27 17:40:27.555130105 +0200 -@@ -304,7 +304,8 @@ func BuildModeInit() { +diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go +index 7f894f5..a37cbf3 100644 +--- a/src/cmd/go/internal/work/init.go ++++ b/src/cmd/go/internal/work/init.go +@@ -111,7 +111,8 @@ func buildModeInit() { ldBuildmode = "c-shared" case "default": switch platform { - case "android/arm", "android/arm64", "android/amd64", "android/386": -+ case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x", -+ "android/arm", "android/arm64", "android/amd64", "android/386": ++ case "linux/amd64", "linux/arm", "linux/arm64", "linux/386", "linux/ppc64le", "linux/s390x", ++ "android/amd64", "android/arm", "android/arm64", "android/386": codegenArg = "-shared" ldBuildmode = "pie" case "darwin/arm", "darwin/arm64": diff --git a/community/go/make-sure-R0-is-zero-before-main-on-ppc64le.patch b/community/go/make-sure-R0-is-zero-before-main-on-ppc64le.patch deleted file mode 100644 index 88f8877144d..00000000000 --- a/community/go/make-sure-R0-is-zero-before-main-on-ppc64le.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9aea0e89b6df032c29d0add8d69ba2c95f1106d9 Mon Sep 17 00:00:00 2001 -From: Carlos Eduardo Seo -Date: Thu, 10 Aug 2017 14:48:36 -0300 -Subject: [PATCH] runtime: make sure R0 is zero before _main on ppc64le - -_main has an early check to verify if a binary is statically or dynamically -linked that depends on R0 being zero. R0 is not guaranteed to be zero at that -point and this was breaking Go on Alpine for ppc64le. - -Change-Id: I4a1059ff7fd3db6fc489e7dcfe631c1814dd965b -Reviewed-on: https://go-review.googlesource.com/54730 -Run-TryBot: Lynn Boger -Reviewed-by: Lynn Boger ---- - src/runtime/rt0_linux_ppc64le.s | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/runtime/rt0_linux_ppc64le.s b/src/runtime/rt0_linux_ppc64le.s -index 134858bff8..73b9ae392d 100644 ---- a/src/runtime/rt0_linux_ppc64le.s -+++ b/src/runtime/rt0_linux_ppc64le.s -@@ -2,6 +2,7 @@ - #include "textflag.h" - - TEXT _rt0_ppc64le_linux(SB),NOSPLIT,$0 -+ XOR R0, R0 // Make sure R0 is zero before _main - BR _main<>(SB) - - TEXT _rt0_ppc64le_linux_lib(SB),NOSPLIT,$-8 --- -2.14.1 - diff --git a/community/go/set-external-linker.patch b/community/go/set-external-linker.patch index 5727036d481..ac3cc19971f 100644 --- a/community/go/set-external-linker.patch +++ b/community/go/set-external-linker.patch @@ -1,104 +1,104 @@ diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go -index 9646b60..aacc4fb 100644 +index 87e8091..4470e05 100644 --- a/src/cmd/link/internal/amd64/obj.go +++ b/src/cmd/link/internal/amd64/obj.go -@@ -67,7 +67,7 @@ func Init() { - ld.Thearch.Append64 = ld.Append64l - ld.Thearch.TLSIEtoLE = tlsIEtoLE +@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) { + PEreloc1: pereloc1, + TLSIEtoLE: tlsIEtoLE, -- ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2" -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1" - ld.Thearch.Freebsddynld = "/libexec/ld-elf.so.1" - ld.Thearch.Openbsddynld = "/usr/libexec/ld.so" - ld.Thearch.Netbsddynld = "/libexec/ld.elf_so" +- Linuxdynld: "/lib64/ld-linux-x86-64.so.2", ++ Linuxdynld: "/lib/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 05b90d2..8a69f9c 100644 +index da16f92..fd14940 100644 --- a/src/cmd/link/internal/arm/obj.go +++ b/src/cmd/link/internal/arm/obj.go -@@ -63,7 +63,7 @@ func Init() { - ld.Thearch.Append32 = ld.Append32l - ld.Thearch.Append64 = ld.Append64l +@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) { + Gentext: gentext, + Machoreloc1: machoreloc1, -- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.3" // 2 for OABI, 3 for EABI -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-armhf.so.1" - ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1" - ld.Thearch.Openbsddynld = "/usr/libexec/ld.so" - ld.Thearch.Netbsddynld = "/libexec/ld.elf_so" +- 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 7d49163..66f2061 100644 +index 6b386ad..9986371 100644 --- a/src/cmd/link/internal/arm64/obj.go +++ b/src/cmd/link/internal/arm64/obj.go -@@ -62,7 +62,7 @@ func Init() { - ld.Thearch.Append32 = ld.Append32l - ld.Thearch.Append64 = ld.Append64l +@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) { + Gentext: gentext, + Machoreloc1: machoreloc1, -- ld.Thearch.Linuxdynld = "/lib/ld-linux-aarch64.so.1" -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-aarch64.so.1" +- Linuxdynld: "/lib/ld-linux-aarch64.so.1", ++ Linuxdynld: "/lib/ld-musl-aarch64.so.1", - ld.Thearch.Freebsddynld = "XXX" - ld.Thearch.Openbsddynld = "XXX" + Freebsddynld: "XXX", + Openbsddynld: "XXX", diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go -index a333876..d040bfd 100644 +index c5d3451..fd85e63 100644 --- a/src/cmd/link/internal/mips/obj.go +++ b/src/cmd/link/internal/mips/obj.go -@@ -77,7 +77,7 @@ func Init() { - ld.Thearch.Append64 = ld.Append64b - } +@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) { + Gentext: gentext, + Machoreloc1: machoreloc1, -- ld.Thearch.Linuxdynld = "/lib/ld.so.1" -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-mipsle.so.1" +- Linuxdynld: "/lib/ld.so.1", ++ Linuxdynld: "/lib/ld-musl-mipsle.so.1", - ld.Thearch.Freebsddynld = "XXX" - ld.Thearch.Openbsddynld = "XXX" + Freebsddynld: "XXX", + Openbsddynld: "XXX", diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go -index b79cd9d..a681690 100644 +index 83974e5..0f65647 100644 --- a/src/cmd/link/internal/mips64/obj.go +++ b/src/cmd/link/internal/mips64/obj.go -@@ -75,7 +75,7 @@ func Init() { - ld.Thearch.Append64 = ld.Append64b - } +@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) { + Gentext: gentext, + Machoreloc1: machoreloc1, -- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1" -+ ld.Thearch.Linuxdynld = "/lib64/ld-musl-mips64le.so.1" - - ld.Thearch.Freebsddynld = "XXX" - ld.Thearch.Openbsddynld = "XXX" +- Linuxdynld: "/lib64/ld64.so.1", ++ Linuxdynld: "/lib/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 6eff2f4..1f3c0be 100644 +index 273d9b4..abe257d 100644 --- a/src/cmd/link/internal/ppc64/obj.go +++ b/src/cmd/link/internal/ppc64/obj.go -@@ -77,7 +77,7 @@ func Init() { - } +@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) { + Machoreloc1: machoreloc1, - // TODO(austin): ABI v1 uses /usr/lib/ld.so.1 -- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1" -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-powerpc64le.so.1" + // TODO(austin): ABI v1 uses /usr/lib/ld.so.1, +- Linuxdynld: "/lib64/ld64.so.1", ++ Linuxdynld: "/lib/ld-musl-powerpc64le.so.1", - ld.Thearch.Freebsddynld = "XXX" - ld.Thearch.Openbsddynld = "XXX" + Freebsddynld: "XXX", + Openbsddynld: "XXX", diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go -index eea8978..09eaa70 100644 +index 9ac7eb8..b3f7a66 100644 --- a/src/cmd/link/internal/s390x/obj.go +++ b/src/cmd/link/internal/s390x/obj.go -@@ -62,7 +62,7 @@ func Init() { - ld.Thearch.Append32 = ld.Append32b - ld.Thearch.Append64 = ld.Append64b +@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) { + Gentext: gentext, + Machoreloc1: machoreloc1, -- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1" -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-s390x.so.1" +- Linuxdynld: "/lib64/ld64.so.1", ++ Linuxdynld: "/lib/ld-musl-s390x.so.1", - // not relevant for s390x - ld.Thearch.Freebsddynld = "XXX" + // 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 ea213be..7beb2a3 100644 +index 6a744dc..d81f392 100644 --- a/src/cmd/link/internal/x86/obj.go +++ b/src/cmd/link/internal/x86/obj.go -@@ -63,7 +63,7 @@ func Init() { - ld.Thearch.Append32 = ld.Append32l - ld.Thearch.Append64 = ld.Append64l +@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) { + Machoreloc1: machoreloc1, + PEreloc1: pereloc1, -- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.2" -+ ld.Thearch.Linuxdynld = "/lib/ld-musl-i386.so.1" - ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1" - ld.Thearch.Openbsddynld = "/usr/libexec/ld.so" - ld.Thearch.Netbsddynld = "/usr/libexec/ld.elf_so" +- 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", -- cgit v1.2.3