Received: by mail.netbsd.org (Postfix, from userid 605) id 282DC84D51; Sat, 20 Jan 2018 16:55:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id A644A84D47 for ; Sat, 20 Jan 2018 16:55:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id 5LqYHX-a5EGL for ; Sat, 20 Jan 2018 16:55:26 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 204EF84CD9 for ; Sat, 20 Jan 2018 16:55:26 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 18A8AFBDE; Sat, 20 Jan 2018 16:55:26 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1516467326128810" MIME-Version: 1.0 Date: Sat, 20 Jan 2018 11:55:26 -0500 From: "Christos Zoulas" Subject: CVS commit: pkgsrc/lang/go14 To: pkgsrc-changes@NetBSD.org Reply-To: christos@netbsd.org X-Mailer: log_accum Message-Id: <20180120165526.18A8AFBDE@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1516467326128810 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: christos Date: Sat Jan 20 16:55:26 UTC 2018 Modified Files: pkgsrc/lang/go14: Makefile distinfo Added Files: pkgsrc/lang/go14/patches: patch-src_cmd_5l_obj.c patch-src_cmd_6l_obj.c patch-src_cmd_ld_elf.c patch-src_make.bash patch-src_runtime_debug__netbsd.go patch-src_runtime_defs__netbsd.go patch-src_runtime_defs__netbsd__arm.h patch-src_runtime_mgc0.c patch-src_runtime_mheap.c patch-src_runtime_os__netbsd.c patch-src_runtime_proc.c patch-src_runtime_runtime.h patch-src_syscall_sockcmsg__unix.go patch-src_syscall_syscall__netbsd__386.go patch-src_syscall_syscall__netbsd__amd64.go patch-src_syscall_syscall__netbsd__arm.go patch-src_syscall_syscall__unix.go Log Message: Add Yasushi Oshima patches for arm from: https://github.com/oshimaya/pkgsrc/tree/master/lang/go14 To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 pkgsrc/lang/go14/Makefile cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/go14/distinfo cvs rdiff -u -r0 -r1.1 pkgsrc/lang/go14/patches/patch-src_cmd_5l_obj.c \ pkgsrc/lang/go14/patches/patch-src_cmd_6l_obj.c \ pkgsrc/lang/go14/patches/patch-src_cmd_ld_elf.c \ pkgsrc/lang/go14/patches/patch-src_make.bash \ pkgsrc/lang/go14/patches/patch-src_runtime_debug__netbsd.go \ pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd.go \ pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd__arm.h \ pkgsrc/lang/go14/patches/patch-src_runtime_mgc0.c \ pkgsrc/lang/go14/patches/patch-src_runtime_mheap.c \ pkgsrc/lang/go14/patches/patch-src_runtime_os__netbsd.c \ pkgsrc/lang/go14/patches/patch-src_runtime_proc.c \ pkgsrc/lang/go14/patches/patch-src_runtime_runtime.h \ pkgsrc/lang/go14/patches/patch-src_syscall_sockcmsg__unix.go \ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__386.go \ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__amd64.go \ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__arm.go \ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__unix.go Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1516467326128810 Content-Disposition: inline Content-Length: 22387 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=utf-8 Modified files: Index: pkgsrc/lang/go14/Makefile diff -u pkgsrc/lang/go14/Makefile:1.14 pkgsrc/lang/go14/Makefile:1.15 --- pkgsrc/lang/go14/Makefile:1.14 Wed Oct 4 06:03:53 2017 +++ pkgsrc/lang/go14/Makefile Sat Jan 20 11:55:25 2018 @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.14 2017/10/04 10:03:53 jperkin Exp $ +# $NetBSD: Makefile,v 1.15 2018/01/20 16:55:25 christos Exp $ .include "../../lang/go/version.mk" DISTNAME= go${GO14_VERSION}.src PKGNAME= go14-${GO14_VERSION} -PKGREVISION= 5 +PKGREVISION= 6 CATEGORIES= lang MASTER_SITES= https://storage.googleapis.com/golang/ PATCH_SITES= https://codereview.appspot.com/download/ @@ -81,7 +81,7 @@ CHECK_INTERPRETER_SKIP+= go14/src/make.r CHECK_INTERPRETER_SKIP+= go14/src/run.rc do-build: - cd ${WRKSRC}/src && ${PKGSRC_SETENV} ${MAKE_ENV} ${BASH} ./make.bash + cd ${WRKSRC}/src && ${PKGSRC_SETENV} ${MAKE_ENV} ${GOOPT} ${BASH} ./make.bash do-install: cd ${WRKSRC} && rm -rf .hgignore .hgtags pkg/obj Index: pkgsrc/lang/go14/distinfo diff -u pkgsrc/lang/go14/distinfo:1.8 pkgsrc/lang/go14/distinfo:1.9 --- pkgsrc/lang/go14/distinfo:1.8 Thu Oct 19 10:29:01 2017 +++ pkgsrc/lang/go14/distinfo Sat Jan 20 11:55:25 2018 @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.8 2017/10/19 14:29:01 jperkin Exp $ +$NetBSD: distinfo,v 1.9 2018/01/20 16:55:25 christos Exp $ SHA1 (go1.4.3.src.tar.gz) = 486db10dc571a55c8d795365070f66d343458c48 RMD160 (go1.4.3.src.tar.gz) = b1fbb2805a777c8107e7c946f36a881303ac5e35 @@ -10,19 +10,23 @@ SHA1 (patch-misc_cgo_test_cthread__unix. SHA1 (patch-misc_cgo_testso_cgoso.go) = ef782a6f173c814656eac0df640aedaa1a923bbc SHA1 (patch-misc_cgo_testso_cgoso__unix.go) = 58e221e1ce123428a3fe6ecededf0590cbfb81ca SHA1 (patch-src_cmd_5l_asm.c) = fd78203b7c92b9bbd057077671d649bac2d121ee +SHA1 (patch-src_cmd_5l_obj.c) = 784a6c1e61ea54449772e35f257aa080c632273d SHA1 (patch-src_cmd_6c_txt.c) = 7ccddadedceb13b6a7c2f29cdfca501a85888488 SHA1 (patch-src_cmd_6l_asm.c) = e15ece4886c459c500b91b3b0c6a4ccbe111bfc0 +SHA1 (patch-src_cmd_6l_obj.c) = 93599668f635b73c92fbf1f05bbd84d8170b4f7a SHA1 (patch-src_cmd_8l_asm.c) = a402a0db31d875cc04e8e15b2e4567ff2f77fee3 SHA1 (patch-src_cmd_go_build.go) = f7705aa955241d3add353a144a676a58a0a1617e SHA1 (patch-src_cmd_go_pkg.go) = e70441f3fdf312eb389e4dd5408c207a4d4b8350 SHA1 (patch-src_cmd_ld_data.c) = 96181bac03333f7bc5293ab9ddbd68bb9174ed47 SHA1 (patch-src_cmd_ld_doc.go) = 000447f5a5862358a85a7510dc92195494972e26 +SHA1 (patch-src_cmd_ld_elf.c) = 32a2fb67fb70bcfb762e6bca7d0f52a4c3548a8a SHA1 (patch-src_cmd_ld_elf.h) = 067272ae88ec8631917e260c260ecbc84ce33dd5 SHA1 (patch-src_cmd_ld_ldelf.c) = fce969ab60486b892b1bb81cd84237b77bf6e65f SHA1 (patch-src_cmd_ld_lib.h) = e6aa8b9520e1b75f435e179e5ea4f0ef738621f4 SHA1 (patch-src_cmd_ld_pobj.c) = eaf67d6bc4f9ba835893f9d8c2d36941ff84933d SHA1 (patch-src_crypto_x509_root__unix.go) = c933f334da1c8de48a06d23abd12da01f73776e6 SHA1 (patch-src_go_build_build.go) = b68bc557e7b48877889c63070e9cb9d8360f40f5 +SHA1 (patch-src_make.bash) = 337a0f384d71b6cad84f00da7749b9f70d641dec SHA1 (patch-src_net_cgo__bsd.go) = 4678fccd6956300ce55343965334fc3881383bbc SHA1 (patch-src_net_cgo__stub.go) = cf373587745d68e556dadf3a61956b489b4f420a SHA1 (patch-src_net_cgo__unix.go) = cebe897ab624aaf52bebc50d12a045d6b4ea2bc6 @@ -31,12 +35,25 @@ SHA1 (patch-src_runtime_cgo_cgo.go) = 9c SHA1 (patch-src_runtime_cgo_gcc__setenv.c) = c9614b76d71e84ad46b2ce785580fdc54b261455 SHA1 (patch-src_runtime_cgo_gcc__solaris__amd64.c) = 633d8dcc8a843e343ee2ab9edb7cfaf6f6c3865b SHA1 (patch-src_runtime_cgo_setenv.c) = f3b56885fa54cabf78944fad75c21f04bea5cd88 +SHA1 (patch-src_runtime_debug__netbsd.go) = 3a54698e749dcd362e5fe4284a4c1f59d654b095 +SHA1 (patch-src_runtime_defs__netbsd.go) = 5f433bb92bd50707fcde5f941e9ca084eac4f659 +SHA1 (patch-src_runtime_defs__netbsd__arm.h) = 150973e3fdb118e11fadea910f7e9f39a70b6067 +SHA1 (patch-src_runtime_mgc0.c) = 6cd1a52376efbf3f825fc511044af4a82528eccc +SHA1 (patch-src_runtime_mheap.c) = 646f4ba1abf407936ec6c3c0783dd59922079fe3 SHA1 (patch-src_runtime_netpoll__solaris.c) = ae399518bb02d6b898734a52dfa7fe18f041e1ec +SHA1 (patch-src_runtime_os__netbsd.c) = 8bb3a4612f5693727f66f6d3a16261e9087b01f0 SHA1 (patch-src_runtime_os__solaris.c) = eec5b293fe4a72f58e4cd51cd23ea6e6fce714b6 SHA1 (patch-src_runtime_os__solaris.h) = c0a39aa6ab57eca7056178c87ebb00bb21236499 +SHA1 (patch-src_runtime_proc.c) = 0167ab97ea9229f57d21c549201c2d17965e4c69 +SHA1 (patch-src_runtime_runtime.h) = ab89a3da0870c346529cfe5b8bda202aba0b59f7 SHA1 (patch-src_runtime_sys__darwin__386.s) = e352e039bba8435a48b88c76290b245731c299ed SHA1 (patch-src_runtime_sys__darwin__amd64.s) = 3eccddc8228657db1480393f8476ddd68ac942ff SHA1 (patch-src_runtime_sys__solaris__amd64.s) = 88f2e3fc43b0d6e4f17ef06d3f4f27cfed3103c6 SHA1 (patch-src_runtime_thunk__solaris__amd64.s) = 2835cdc171ae3209c61ef804fbfbf22cdf68bf43 +SHA1 (patch-src_syscall_sockcmsg__unix.go) = f8189d04c5f33a0a22be30100d1f1aedb24e1365 SHA1 (patch-src_syscall_syscall__darwin__386.go) = 2f0986bdb199feaa73e933a1a75df87e5c7a8bff SHA1 (patch-src_syscall_syscall__darwin__amd64.go) = 1bfba4b0f1e2fe6dee55b24f7f8d7cd89d05dea0 +SHA1 (patch-src_syscall_syscall__netbsd__386.go) = 1d742efd113ed9d94affac03677df8e20e394895 +SHA1 (patch-src_syscall_syscall__netbsd__amd64.go) = 1ccfece5a676eb90142762d5349b492c2dab901e +SHA1 (patch-src_syscall_syscall__netbsd__arm.go) = 085735db967594350481d3e810ba649a7fb1ce60 +SHA1 (patch-src_syscall_syscall__unix.go) = e168ea3d4d463e2d9be22ae5345f6067693a9bc3 Added files: Index: pkgsrc/lang/go14/patches/patch-src_cmd_5l_obj.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_cmd_5l_obj.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_cmd_5l_obj.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,32 @@ +$NetBSD: patch-src_cmd_5l_obj.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Change Load Align in ELF Program Headers to the same as the system standard + +--- src/cmd/5l/obj.c.orig 2015-09-23 04:37:36.000000000 +0000 ++++ src/cmd/5l/obj.c +@@ -82,7 +82,6 @@ archinit(void) + break; + case Hlinux: /* arm elf */ + case Hfreebsd: +- case Hnetbsd: + debug['d'] = 0; // with dynamic linking + elfinit(); + HEADR = ELFRESERVE; +@@ -93,6 +92,17 @@ archinit(void) + if(INITRND == -1) + INITRND = 4096; + break; ++ case Hnetbsd: ++ debug['d'] = 0; // with dynamic linking ++ elfinit(); ++ HEADR = ELFRESERVE; ++ if(INITTEXT == -1) ++ INITTEXT = 0x10000 + HEADR; ++ if(INITDAT == -1) ++ INITDAT = 0; ++ if(INITRND == -1) ++ INITRND = 0x10000; ++ break; + case Hnacl: + elfinit(); + HEADR = 0x10000; Index: pkgsrc/lang/go14/patches/patch-src_cmd_6l_obj.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_cmd_6l_obj.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_cmd_6l_obj.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,31 @@ +$NetBSD: patch-src_cmd_6l_obj.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Change Load Align in ELF Program Headers to the same as the system standard. + +--- src/cmd/6l/obj.c.orig 2015-09-23 04:37:36.000000000 +0000 ++++ src/cmd/6l/obj.c +@@ -114,7 +114,6 @@ archinit(void) + break; + case Hlinux: /* elf64 executable */ + case Hfreebsd: /* freebsd */ +- case Hnetbsd: /* netbsd */ + case Hopenbsd: /* openbsd */ + case Hdragonfly: /* dragonfly */ + case Hsolaris: /* solaris */ +@@ -127,6 +126,16 @@ archinit(void) + if(INITRND == -1) + INITRND = 4096; + break; ++ case Hnetbsd: /* netbsd */ ++ elfinit(); ++ HEADR = ELFRESERVE; ++ if(INITTEXT == -1) ++ INITTEXT = (1<<22)+HEADR; ++ if(INITDAT == -1) ++ INITDAT = 0; ++ if(INITRND == -1) ++ INITRND = 0x200000; ++ break; + case Hnacl: + elfinit(); + debug['w']++; // disable dwarf, which gets confused and is useless anyway Index: pkgsrc/lang/go14/patches/patch-src_cmd_ld_elf.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_cmd_ld_elf.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_cmd_ld_elf.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,17 @@ +$NetBSD: patch-src_cmd_ld_elf.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Change to EABI when NetBSD/arm (earm) + +--- src/cmd/ld/elf.c.orig 2015-09-23 04:37:36.000000000 +0000 ++++ src/cmd/ld/elf.c +@@ -55,8 +55,8 @@ elfinit(void) + + // 32-bit architectures + case '5': +- // we use EABI on both linux/arm and freebsd/arm. +- if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd) ++ // we use EABI on linux/arm, freebsd/arm and netbsd/arm ++ if(HEADTYPE == Hlinux || HEADTYPE == Hfreebsd || Hnetbsd) + hdr.flags = 0x5000002; // has entry point, Version5 EABI + // fallthrough + default: Index: pkgsrc/lang/go14/patches/patch-src_make.bash diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_make.bash:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_make.bash Sat Jan 20 11:55:25 2018 @@ -0,0 +1,28 @@ +$NetBSD: patch-src_make.bash,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Workaround for Warninig armv5 instruction in GCC4.8 generic arm compiler + +--- src/make.bash.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/make.bash +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/usr/pkg/bin/bash + # Copyright 2009 The Go Authors. All rights reserved. + # Use of this source code is governed by a BSD-style + # license that can be found in the LICENSE file. +@@ -121,6 +121,15 @@ case "$GOHOSTARCH" in + 386) mflag=-m32;; + amd64) mflag=-m64;; + esac ++ ++# In gcc 4.8 on NetBSD 7.0, need -march=armv5 flag for arm target. ++# Default target of gcc is generic-arm. however some assemble-sources ++# in golang use operator for armv5 or lator. ++ ++if [ "$GOARCH" == "arm" -o -z '$GOARCH' -a "$(uname -sp)" == "NetBSD earm" ]; then ++ mflag="-march=armv5" ++fi ++ + if [ "$(uname)" == "Darwin" ]; then + # golang.org/issue/5261 + mflag="$mflag -mmacosx-version-min=10.6" Index: pkgsrc/lang/go14/patches/patch-src_runtime_debug__netbsd.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_debug__netbsd.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_debug__netbsd.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,17 @@ +$NetBSD: patch-src_runtime_debug__netbsd.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * add function return 'Real' pagesize from runtime package + +--- src/runtime/debug_netbsd.go.orig 2016-08-27 17:50:31.000000000 +0000 ++++ src/runtime/debug_netbsd.go +@@ -0,0 +1,10 @@ ++// Copyright 2009 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// +build netbsd ++ ++package runtime ++ ++func Physpagesize() int { ++ return int(physpagesz) ++} Index: pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,12 @@ +$NetBSD: patch-src_runtime_defs__netbsd.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Fix Struct name Kevent to KeventT.This file is the base of defs_netbsd_XXX + +--- src/runtime/defs_netbsd.go.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/defs_netbsd.go +@@ -122,4 +122,4 @@ type Itimerval C.struct_itimerval + type McontextT C.mcontext_t + type UcontextT C.ucontext_t + +-type Kevent C.struct_kevent ++type KeventT C.struct_kevent Index: pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd__arm.h diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd__arm.h:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_defs__netbsd__arm.h Sat Jan 20 11:55:25 2018 @@ -0,0 +1,51 @@ +$NetBSD: patch-src_runtime_defs__netbsd__arm.h,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Change to EABI in netbsd/arm the aliment is changed when 64bit value. + +--- src/runtime/defs_netbsd_arm.h.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/defs_netbsd_arm.h +@@ -119,10 +119,12 @@ struct StackT { + struct Timespec { + int64 tv_sec; + int32 tv_nsec; ++ byte Pad_cgo_0[4]; + }; + struct Timeval { + int64 tv_sec; + int32 tv_usec; ++ byte Pad_cgo_0[4]; + }; + struct Itimerval { + Timeval it_interval; +@@ -131,18 +133,18 @@ struct Itimerval { + + struct McontextT { + uint32 __gregs[17]; +-#ifdef __ARM_EABI__ +- byte __fpu[4+8*32+4]; +-#else +- byte __fpu[4+4*33+4]; +-#endif ++ byte Pad_cgo_0[4]; ++ // For EABI, fpscr[4]+pad[4]+fstmx[8*32]+fpsid[4]+pad[4] ++ byte __fpu[272]; + uint32 _mc_tlsbase; ++ byte Pad_cgo_1[4]; + }; + struct UcontextT { + uint32 uc_flags; + UcontextT *uc_link; + Sigset uc_sigmask; + StackT uc_stack; ++ byte Pad_cgo_0[4]; + McontextT uc_mcontext; + int32 __uc_pad[2]; + }; +@@ -154,6 +156,7 @@ struct KeventT { + uint32 fflags; + int64 data; + byte *udata; ++ byte Pad_cgo_0[4]; + }; + + Index: pkgsrc/lang/go14/patches/patch-src_runtime_mgc0.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_mgc0.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_mgc0.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,30 @@ +$NetBSD: patch-src_runtime_mgc0.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Change PhysPageSize to variable + +--- src/runtime/mgc0.c.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/mgc0.c +@@ -330,7 +330,11 @@ scanblock(byte *b, uintptr n, byte *ptrm + if(obj == nil) + continue; + if(obj < arena_start || obj >= arena_used) { ++#ifndef GOOS_netbsd + if((uintptr)obj < PhysPageSize && runtime·invalidptr) { ++#else ++ if((uintptr)obj < runtime·physpagesz && runtime·invalidptr) { ++#endif + s = nil; + goto badobj; + } +@@ -1893,7 +1897,11 @@ runtime·MHeap_MapBits(MHeap *h) + + n = (h->arena_used - h->arena_start) / (PtrSize*wordsPerBitmapByte); + n = ROUND(n, bitmapChunk); ++#ifndef GOOS_netbsd + n = ROUND(n, PhysPageSize); ++#else ++ n = ROUND(n, runtime·physpagesz); ++#endif + if(h->bitmap_mapped >= n) + return; + Index: pkgsrc/lang/go14/patches/patch-src_runtime_mheap.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_mheap.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_mheap.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,18 @@ +$NetBSD: patch-src_runtime_mheap.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Change PhysPageSize to variable. + +--- src/runtime/mheap.c.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/mheap.c +@@ -82,7 +82,11 @@ runtime·MHeap_MapSpans(MHeap *h) + n = (uintptr)h->arena_used; + n -= (uintptr)h->arena_start; + n = n / PageSize * sizeof(h->spans[0]); ++#ifndef GOOS_netbsd + n = ROUND(n, PhysPageSize); ++#else ++ n = ROUND(n, runtime·physpagesz); ++#endif + if(h->spans_mapped >= n) + return; + runtime·SysMap((byte*)h->spans + h->spans_mapped, n - h->spans_mapped, h->arena_reserved, &mstats.other_sys); Index: pkgsrc/lang/go14/patches/patch-src_runtime_os__netbsd.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_os__netbsd.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_os__netbsd.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,67 @@ +$NetBSD: patch-src_runtime_os__netbsd.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Use 'Real' pagesize from sysctl mib HW_PAGESIZE + + * Change HW_NCPU to NCPUONLINE for 'Real' number of available CPU + +--- src/runtime/os_netbsd.c.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/os_netbsd.c +@@ -5,6 +5,7 @@ + #include "runtime.h" + #include "defs_GOOS_GOARCH.h" + #include "os_GOOS.h" ++#include "arch_GOARCH.h" + #include "signal_unix.h" + #include "stack.h" + #include "textflag.h" +@@ -35,7 +36,8 @@ extern int32 runtime·lwp_self(void); + + // From NetBSD's + #define CTL_HW 6 +-#define HW_NCPU 3 ++#define HW_NCPUONLINE 16 ++#define HW_PAGESIZE 7 + + static int32 + getncpu(void) +@@ -47,7 +49,7 @@ getncpu(void) + + // Fetch hw.ncpu via sysctl. + mib[0] = CTL_HW; +- mib[1] = HW_NCPU; ++ mib[1] = HW_NCPUONLINE; + nout = sizeof out; + out = 0; + ret = runtime·sysctl(mib, 2, (byte*)&out, &nout, nil, 0); +@@ -57,6 +59,23 @@ getncpu(void) + return 1; + } + ++static uintptr ++getphyspagesize(void) ++{ ++ uint32 mib[2]; ++ uintptr out, nout; ++ int32 ret; ++ mib[0] = CTL_HW; ++ mib[1] = HW_PAGESIZE; ++ nout = sizeof out; ++ out = 0; ++ ret = runtime·sysctl(mib, 2, (byte*)&out, &nout, nil, 0); ++ if(ret >= 0) ++ return out; ++ else ++ return PhysPageSize; ++} ++ + #pragma textflag NOSPLIT + uintptr + runtime·semacreate(void) +@@ -239,6 +258,7 @@ void + runtime·osinit(void) + { + runtime·ncpu = getncpu(); ++ runtime·physpagesz = getphyspagesize(); + } + + #pragma textflag NOSPLIT Index: pkgsrc/lang/go14/patches/patch-src_runtime_proc.c diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_proc.c:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_proc.c Sat Jan 20 11:55:25 2018 @@ -0,0 +1,16 @@ +$NetBSD: patch-src_runtime_proc.c,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * add physpagesz variable when netbsd + +--- src/runtime/proc.c.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/proc.c +@@ -44,6 +44,9 @@ P* runtime·allp[MaxGomaxprocs+1]; + int8* runtime·goos; + int32 runtime·ncpu; + int32 runtime·newprocs; ++#ifdef GOOS_netbsd ++uintptr runtime·physpagesz; ++#endif + + Mutex runtime·allglock; // the following vars are protected by this lock or by stoptheworld + G** runtime·allg; Index: pkgsrc/lang/go14/patches/patch-src_runtime_runtime.h diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_runtime_runtime.h:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_runtime_runtime.h Sat Jan 20 11:55:25 2018 @@ -0,0 +1,16 @@ +$NetBSD: patch-src_runtime_runtime.h,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Add extern for physpagesz + +--- src/runtime/runtime.h.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/runtime/runtime.h +@@ -765,6 +765,9 @@ extern Note runtime·signote; + extern ForceGCState runtime·forcegc; + extern SchedT runtime·sched; + extern int32 runtime·newprocs; ++#ifdef GOOS_netbsd ++extern uintptr runtime·physpagesz; ++#endif + + /* + * common functions and data Index: pkgsrc/lang/go14/patches/patch-src_syscall_sockcmsg__unix.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_syscall_sockcmsg__unix.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_syscall_sockcmsg__unix.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,14 @@ +$NetBSD: patch-src_syscall_sockcmsg__unix.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + +--- src/syscall/sockcmsg_unix.go.orig 2017-07-23 05:37:09.000000000 +0000 ++++ src/syscall/sockcmsg_unix.go +@@ -18,6 +18,9 @@ func cmsgAlignOf(salen int) int { + if darwin64Bit || dragonfly64Bit { + salign = 4 + } ++ if netbsd32BitArm { ++ salign = 8 ++ } + return (salen + salign - 1) & ^(salign - 1) + } + Index: pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__386.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__386.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__386.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,17 @@ +$NetBSD: patch-src_syscall_syscall__netbsd__386.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Add Getpagesize function which return 'Real' pagesize + +--- src/syscall/syscall_netbsd_386.go.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/syscall/syscall_netbsd_386.go +@@ -4,7 +4,9 @@ + + package syscall + +-func Getpagesize() int { return 4096 } ++import "runtime" ++ ++func Getpagesize() int { return runtime.Physpagesize() } + + func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + Index: pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__amd64.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__amd64.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__amd64.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,17 @@ +$NetBSD: patch-src_syscall_syscall__netbsd__amd64.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * Add function Getpagesize(), which return 'Real' pagesize in runtime + +--- src/syscall/syscall_netbsd_amd64.go.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/syscall/syscall_netbsd_amd64.go +@@ -4,7 +4,9 @@ + + package syscall + +-func Getpagesize() int { return 4096 } ++import "runtime" ++ ++func Getpagesize() int { return runtime.Physpagesize() } + + func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + Index: pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__arm.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__arm.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__netbsd__arm.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,17 @@ +$NetBSD: patch-src_syscall_syscall__netbsd__arm.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + + * + +--- src/syscall/syscall_netbsd_arm.go.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/syscall/syscall_netbsd_arm.go +@@ -4,7 +4,9 @@ + + package syscall + +-func Getpagesize() int { return 4096 } ++import "runtime" ++ ++func Getpagesize() int { return runtime.Physpagesize() } + + func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + Index: pkgsrc/lang/go14/patches/patch-src_syscall_syscall__unix.go diff -u /dev/null pkgsrc/lang/go14/patches/patch-src_syscall_syscall__unix.go:1.1 --- /dev/null Sat Jan 20 11:55:26 2018 +++ pkgsrc/lang/go14/patches/patch-src_syscall_syscall__unix.go Sat Jan 20 11:55:25 2018 @@ -0,0 +1,12 @@ +$NetBSD: patch-src_syscall_syscall__unix.go,v 1.1 2018/01/20 16:55:25 christos Exp $ + +--- src/syscall/syscall_unix.go.orig 2015-09-23 04:37:37.000000000 +0000 ++++ src/syscall/syscall_unix.go +@@ -22,6 +22,7 @@ const ( + darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8 + dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8 + netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4 ++ netbsd32BitArm = runtime.GOOS == "netbsd" && runtime.GOOS == "arm" + ) + + func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) --_----------=_1516467326128810--