mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 20:36:40 +02:00
community/go: new upstream version 1.6.2
This commit is contained in:
parent
5653a6e856
commit
b78ebbc461
@ -1,7 +1,7 @@
|
||||
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
|
||||
# Maintainer: Eivind Uggedal <eivind@uggedal.com>
|
||||
pkgname=go
|
||||
pkgver=1.6.1
|
||||
pkgver=1.6.2
|
||||
# This should be the latest commit on the corresponding release branch
|
||||
_toolsver="c887be1b2ebd11663d4bf2fbca508c449172339e"
|
||||
pkgrel=0
|
||||
@ -18,7 +18,7 @@ subpackages="$pkgname-doc $pkgname-tools $pkgname-cross"
|
||||
source="http://golang.org/dl/go${pkgver}.src.tar.gz
|
||||
$pkgname-tools-$pkgver.tar.gz::https://github.com/golang/tools/archive/${_toolsver}.tar.gz
|
||||
no-pic.patch
|
||||
fix-musl.patch"
|
||||
"
|
||||
|
||||
# NOTE: building go for x86 with grsec kernel requires:
|
||||
# sysctl -w kernel.modify_ldt=1
|
||||
@ -135,15 +135,12 @@ cross() {
|
||||
"$subpkgdir"/usr/lib/go/pkg || return 1
|
||||
done
|
||||
}
|
||||
md5sums="29e1b0369825a56d79f6bd4eb29b0864 go1.6.1.src.tar.gz
|
||||
733a96b59562ed84ff552542f16a3ab3 go-tools-1.6.1.tar.gz
|
||||
efa8ac40fa8429f7cd6f23eca05a0a0f no-pic.patch
|
||||
b7b8ea485b39a99e7959d27cbd57a32b fix-musl.patch"
|
||||
sha256sums="1d4b53cdee51b2298afcf50926a7fa44b286f0bf24ff8323ce690a66daa7193f go1.6.1.src.tar.gz
|
||||
955e5a119babad356d9cf00cdaaf3c27648d4451109b467c872fad8cc94d5b56 go-tools-1.6.1.tar.gz
|
||||
1eb60ded9035e9692e4c17b2bb6e9c073e21261eaafa56ee0528d5d2c43a936d no-pic.patch
|
||||
d9cb3c128f198d2aabfa96a117e2238a1ac0aaec3e50b9c6b7cf63ab8850f5a4 fix-musl.patch"
|
||||
sha512sums="31ea2504f8ab0fd709005275d0c2129b6cdb4e5d34d6e2b435b23480674b135d1bff8de863b1e01201e757523f4dc28b6ebefeb87d7e855f2509a6837e436fab go1.6.1.src.tar.gz
|
||||
955def7cc3e5ceb5d8e47477400007d32c25f3bc2764f04a0451bd0235af507e63a0966d201a345f51ac764471da8620b5357d1099ec39e2422bd04d25fd71b8 go-tools-1.6.1.tar.gz
|
||||
51e4c3ee0cda98090db5d00468072bcbf5f0a1a429dd8dedddccaa1467b285f724b012be96d329566b195470bea0aaf4b464e8ba6d2029b0dd42678a7a14b663 no-pic.patch
|
||||
5132a833f34ca8a0ebc7ee9eb66d75a6e0c45adf19980996bdb18b9c886077ef752e2b27d2bb23397245b9a225baf8c45f265a8f4521e136e69eb5d85d070e31 fix-musl.patch"
|
||||
md5sums="d1b50fa98d9a71eeee829051411e6207 go1.6.2.src.tar.gz
|
||||
733a96b59562ed84ff552542f16a3ab3 go-tools-1.6.2.tar.gz
|
||||
efa8ac40fa8429f7cd6f23eca05a0a0f no-pic.patch"
|
||||
sha256sums="787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc go1.6.2.src.tar.gz
|
||||
955e5a119babad356d9cf00cdaaf3c27648d4451109b467c872fad8cc94d5b56 go-tools-1.6.2.tar.gz
|
||||
1eb60ded9035e9692e4c17b2bb6e9c073e21261eaafa56ee0528d5d2c43a936d no-pic.patch"
|
||||
sha512sums="e148022f9e18b5d5b05744f1aa9fa3ef82e255752179545711ade077e271216aa5b450859a764fdfb028ae4faa26adad8d0a0a5268b31396ab9d14de3cb2f20a go1.6.2.src.tar.gz
|
||||
955def7cc3e5ceb5d8e47477400007d32c25f3bc2764f04a0451bd0235af507e63a0966d201a345f51ac764471da8620b5357d1099ec39e2422bd04d25fd71b8 go-tools-1.6.2.tar.gz
|
||||
51e4c3ee0cda98090db5d00468072bcbf5f0a1a429dd8dedddccaa1467b285f724b012be96d329566b195470bea0aaf4b464e8ba6d2029b0dd42678a7a14b663 no-pic.patch"
|
||||
|
||||
@ -1,70 +0,0 @@
|
||||
From 0f783bde485796c8e97789d285c825024d1ca8e4 Mon Sep 17 00:00:00 2001
|
||||
From: Shenghou Ma <minux@golang.org>
|
||||
Date: Tue, 23 Feb 2016 01:26:50 -0500
|
||||
Subject: [PATCH] runtime, syscall: switch linux/386 to use int 0x80
|
||||
|
||||
Like bionic, musl also doesn't provide vsyscall helper in %gs:0x10,
|
||||
and as int $0x80 is as fast as calling %gs:0x10, just use int $0x80
|
||||
always.
|
||||
|
||||
Fixes #14476.
|
||||
|
||||
Change-Id: I00ec8652060700e0a3c9b524bfe3c16a810263f6
|
||||
---
|
||||
|
||||
diff --git a/src/runtime/sys_linux_386.s b/src/runtime/sys_linux_386.s
|
||||
index 1a3aaf0..29ebd5e 100644
|
||||
--- a/src/runtime/sys_linux_386.s
|
||||
+++ b/src/runtime/sys_linux_386.s
|
||||
@@ -12,16 +12,17 @@
|
||||
|
||||
// Most linux systems use glibc's dynamic linker, which puts the
|
||||
// __kernel_vsyscall vdso helper at 0x10(GS) for easy access from position
|
||||
-// independent code and setldt in this file does the same in the statically
|
||||
-// linked case. Android, however, uses bionic's dynamic linker, which does not
|
||||
-// save the helper anywhere, and so the only way to invoke a syscall from
|
||||
-// position independent code is boring old int $0x80 (which is also what
|
||||
-// bionic's syscall wrappers use).
|
||||
-#ifdef GOOS_android
|
||||
+// independent code and setldt in runtime does the same in the statically
|
||||
+// linked case. However, systems that use alternative libc such as Android's
|
||||
+// bionic and musl, do not save the helper anywhere, and so the only way to
|
||||
+// invoke a syscall from position independent code is boring old int $0x80
|
||||
+// (which is also what syscall wrappers in bionic/musl use).
|
||||
+//
|
||||
+// The benchmarks also showed that using int $0x80 is as fast as calling
|
||||
+// *%gs:0x10 even on CPUs more than 6 years old. See https://golang.org/cl/16996
|
||||
+// for the benchmark program and raw data.
|
||||
+//#define INVOKE_SYSCALL CALL 0x10(GS) // non-portable
|
||||
#define INVOKE_SYSCALL INT $0x80
|
||||
-#else
|
||||
-#define INVOKE_SYSCALL CALL 0x10(GS)
|
||||
-#endif
|
||||
|
||||
TEXT runtime·exit(SB),NOSPLIT,$0
|
||||
MOVL $252, AX // syscall number
|
||||
diff --git a/src/syscall/asm_linux_386.s b/src/syscall/asm_linux_386.s
|
||||
index c940605..d5b1022 100644
|
||||
--- a/src/syscall/asm_linux_386.s
|
||||
+++ b/src/syscall/asm_linux_386.s
|
||||
@@ -12,18 +12,9 @@
|
||||
// func Syscall(trap uintptr, a1, a2, a3 uintptr) (r1, r2, err uintptr);
|
||||
// Trap # in AX, args in BX CX DX SI DI, return in AX
|
||||
|
||||
-// Most linux systems use glibc's dynamic linker, which puts the
|
||||
-// __kernel_vsyscall vdso helper at 0x10(GS) for easy access from position
|
||||
-// independent code and setldt in runtime does the same in the statically
|
||||
-// linked case. Android, however, uses bionic's dynamic linker, which does not
|
||||
-// save the helper anywhere, and so the only way to invoke a syscall from
|
||||
-// position independent code is boring old int $0x80 (which is also what
|
||||
-// bionic's syscall wrappers use).
|
||||
-#ifdef GOOS_android
|
||||
+// See ../runtime/sys_linux_386.s for rationales.
|
||||
+//#define INVOKE_SYSCALL CALL 0x10(GS) // non-portable
|
||||
#define INVOKE_SYSCALL INT $0x80
|
||||
-#else
|
||||
-#define INVOKE_SYSCALL CALL 0x10(GS)
|
||||
-#endif
|
||||
|
||||
TEXT ·Syscall(SB),NOSPLIT,$0-28
|
||||
CALL runtime·entersyscall(SB)
|
||||
Loading…
x
Reference in New Issue
Block a user