diff options
author | tnn <tnn@pkgsrc.org> | 2020-04-27 18:42:12 +0000 |
---|---|---|
committer | tnn <tnn@pkgsrc.org> | 2020-04-27 18:42:12 +0000 |
commit | b6fa7e38ae71b434858067619d4e35d93b83a1d5 (patch) | |
tree | 3a1cc4bfd335cf4614141cef42408227471779c1 /lang/go114 | |
parent | 10942a4f95dacf345c6e17eef4a54108cc3b7aac (diff) | |
download | pkgsrc-b6fa7e38ae71b434858067619d4e35d93b83a1d5.tar.gz |
go114: fix stack alignment for runtime.pipe2 return value on NetBSD/aarch64
from maya@
Diffstat (limited to 'lang/go114')
-rw-r--r-- | lang/go114/distinfo | 4 | ||||
-rw-r--r-- | lang/go114/patches/patch-src_runtime_sys__netbsd__arm64.s | 21 |
2 files changed, 21 insertions, 4 deletions
diff --git a/lang/go114/distinfo b/lang/go114/distinfo index 5247d5af39a..6bd4a0fa4e0 100644 --- a/lang/go114/distinfo +++ b/lang/go114/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.4 2020/04/27 03:21:35 tnn Exp $ +$NetBSD: distinfo,v 1.5 2020/04/27 18:42:12 tnn Exp $ SHA1 (go1.14.2.src.tar.gz) = bdc78d3a84b9d95766574b4bf33fc179542c2adf RMD160 (go1.14.2.src.tar.gz) = 8b6d9bdb7e8d1eb9fba36d110cfcf59c6d9adc1e @@ -9,5 +9,5 @@ SHA1 (patch-src_cmd_dist_util.go) = 24e6f1b6ded842a8ce322a40e8766f7d344bc47e SHA1 (patch-src_cmd_link_internal_ld_elf.go) = 990a54e3baf239916e4c7f0c1d54240e2898601a SHA1 (patch-src_crypto_x509_root__bsd.go) = 93a2de7c685a0919fe93f5bc99f156e105dace4d SHA1 (patch-src_runtime_os__netbsd.go) = 9b80de94667e3f8d8d1ae3648ab1fe43dd55d577 -SHA1 (patch-src_runtime_sys__netbsd__arm64.s) = b37973c0841e24991c227a7f5cc4b46c2d89f372 +SHA1 (patch-src_runtime_sys__netbsd__arm64.s) = c8d3dfddd7930794a6ff9b2919c42632aa9358cd SHA1 (patch-src_syscall_zsysnum__solaris__amd64.go) = ec28a0fa37ba9599ec1651c8e9337a2efc48a26b diff --git a/lang/go114/patches/patch-src_runtime_sys__netbsd__arm64.s b/lang/go114/patches/patch-src_runtime_sys__netbsd__arm64.s index 66507c4dd05..471984ecaec 100644 --- a/lang/go114/patches/patch-src_runtime_sys__netbsd__arm64.s +++ b/lang/go114/patches/patch-src_runtime_sys__netbsd__arm64.s @@ -1,11 +1,28 @@ -$NetBSD: patch-src_runtime_sys__netbsd__arm64.s,v 1.1 2020/04/27 03:21:35 tnn Exp $ +$NetBSD: patch-src_runtime_sys__netbsd__arm64.s,v 1.2 2020/04/27 18:42:12 tnn Exp $ + +fix stack alignent for runtime.pipe2 return value Work around kernel clobbering of r28 on aarch64 by reloading from ucontext. https://nxr.netbsd.org/xref/src/sys/arch/aarch64/aarch64/sig_machdep.c#104 --- src/runtime/sys_netbsd_arm64.s.orig 2020-04-08 19:15:51.000000000 +0000 +++ src/runtime/sys_netbsd_arm64.s -@@ -319,6 +319,12 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$192 +@@ -169,11 +169,12 @@ pipeok: + + // func pipe2(flags int32) (r, w int32, errno int32) + TEXT runtime·pipe2(SB),NOSPLIT|NOFRAME,$0-20 +- ADD $8, RSP, R0 ++ ADD $16, RSP, R0 + MOVW flags+0(FP), R1 + SVC $SYS_pipe2 +- BCC 2(PC) ++ BCC pipe2ok + NEG R0, R0 ++pipe2ok: + MOVW R0, errno+16(FP) + RET + +@@ -319,6 +320,12 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$192 MOVD R26, 8*11(RSP) MOVD R27, 8*12(RSP) MOVD g, 8*13(RSP) |