unix: add explicit build tags

Change-Id: I62774b8ee0c1a7cc1a3b7009ca860e3fd64a6564
Signed-off-by: Shenghou Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/10182
Reviewed-by: Rob Pike <r@golang.org>
diff --git a/unix/asm_linux_arm64.s b/unix/asm_linux_arm64.s
index 5570d65..4be9bfe 100644
--- a/unix/asm_linux_arm64.s
+++ b/unix/asm_linux_arm64.s
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build linux
 // +build arm64
 // +build !gccgo
 
diff --git a/unix/syscall_darwin_386.go b/unix/syscall_darwin_386.go
index 40bef13..9740785 100644
--- a/unix/syscall_darwin_386.go
+++ b/unix/syscall_darwin_386.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build 386,darwin
+
 package unix
 
 import (
diff --git a/unix/syscall_darwin_amd64.go b/unix/syscall_darwin_amd64.go
index 57bd190..7b0cb07 100644
--- a/unix/syscall_darwin_amd64.go
+++ b/unix/syscall_darwin_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,darwin
+
 package unix
 
 import (
diff --git a/unix/syscall_dragonfly_386.go b/unix/syscall_dragonfly_386.go
index b3b02d4..41c2e69 100644
--- a/unix/syscall_dragonfly_386.go
+++ b/unix/syscall_dragonfly_386.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build 386,dragonfly
+
 package unix
 
 import (
diff --git a/unix/syscall_dragonfly_amd64.go b/unix/syscall_dragonfly_amd64.go
index 568ada1..2ed9259 100644
--- a/unix/syscall_dragonfly_amd64.go
+++ b/unix/syscall_dragonfly_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,dragonfly
+
 package unix
 
 import (
diff --git a/unix/syscall_freebsd_386.go b/unix/syscall_freebsd_386.go
index b3b02d4..6255d40 100644
--- a/unix/syscall_freebsd_386.go
+++ b/unix/syscall_freebsd_386.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build 386,freebsd
+
 package unix
 
 import (
diff --git a/unix/syscall_freebsd_amd64.go b/unix/syscall_freebsd_amd64.go
index 568ada1..8b395d5 100644
--- a/unix/syscall_freebsd_amd64.go
+++ b/unix/syscall_freebsd_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,freebsd
+
 package unix
 
 import (
diff --git a/unix/syscall_freebsd_arm.go b/unix/syscall_freebsd_arm.go
index 4cf79fb..4e72d46 100644
--- a/unix/syscall_freebsd_arm.go
+++ b/unix/syscall_freebsd_arm.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build arm,freebsd
+
 package unix
 
 import (
diff --git a/unix/syscall_linux_386.go b/unix/syscall_linux_386.go
index bd55199..7171219 100644
--- a/unix/syscall_linux_386.go
+++ b/unix/syscall_linux_386.go
@@ -5,6 +5,8 @@
 // TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP)
 // so that go vet can check that they are correct.
 
+// +build 386,linux
+
 package unix
 
 import (
diff --git a/unix/syscall_linux_amd64.go b/unix/syscall_linux_amd64.go
index dbf57d2..ae70c2a 100644
--- a/unix/syscall_linux_amd64.go
+++ b/unix/syscall_linux_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,linux
+
 package unix
 
 import "syscall"
diff --git a/unix/syscall_linux_arm.go b/unix/syscall_linux_arm.go
index 805c10a..abc41c3 100644
--- a/unix/syscall_linux_arm.go
+++ b/unix/syscall_linux_arm.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build arm,linux
+
 package unix
 
 import (
diff --git a/unix/syscall_linux_arm64.go b/unix/syscall_linux_arm64.go
index ac8b7af..fa1228e 100644
--- a/unix/syscall_linux_arm64.go
+++ b/unix/syscall_linux_arm64.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build arm64
+// +build arm64,linux
 
 package unix
 
diff --git a/unix/syscall_netbsd_386.go b/unix/syscall_netbsd_386.go
index bf73fff..1b0e1af 100644
--- a/unix/syscall_netbsd_386.go
+++ b/unix/syscall_netbsd_386.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build 386,netbsd
+
 package unix
 
 func Getpagesize() int { return 4096 }
diff --git a/unix/syscall_netbsd_amd64.go b/unix/syscall_netbsd_amd64.go
index 474a092..1b6dcbe 100644
--- a/unix/syscall_netbsd_amd64.go
+++ b/unix/syscall_netbsd_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,netbsd
+
 package unix
 
 func Getpagesize() int { return 4096 }
diff --git a/unix/syscall_netbsd_arm.go b/unix/syscall_netbsd_arm.go
index 3c6755b..87d1d6f 100644
--- a/unix/syscall_netbsd_arm.go
+++ b/unix/syscall_netbsd_arm.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build arm,netbsd
+
 package unix
 
 func Getpagesize() int { return 4096 }
diff --git a/unix/syscall_openbsd_386.go b/unix/syscall_openbsd_386.go
index 23b665c..9529b20 100644
--- a/unix/syscall_openbsd_386.go
+++ b/unix/syscall_openbsd_386.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build 386,openbsd
+
 package unix
 
 func Getpagesize() int { return 4096 }
diff --git a/unix/syscall_openbsd_amd64.go b/unix/syscall_openbsd_amd64.go
index e551353..fc64029 100644
--- a/unix/syscall_openbsd_amd64.go
+++ b/unix/syscall_openbsd_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,openbsd
+
 package unix
 
 func Getpagesize() int { return 4096 }
diff --git a/unix/syscall_solaris_amd64.go b/unix/syscall_solaris_amd64.go
index 4795f52..9c173cd 100644
--- a/unix/syscall_solaris_amd64.go
+++ b/unix/syscall_solaris_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,solaris
+
 package unix
 
 func Getpagesize() int { return 4096 }
diff --git a/unix/zerrors_darwin_386.go b/unix/zerrors_darwin_386.go
index 15204b9..0bff296 100644
--- a/unix/zerrors_darwin_386.go
+++ b/unix/zerrors_darwin_386.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m32
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,darwin
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m32 _const.go
 
diff --git a/unix/zerrors_darwin_amd64.go b/unix/zerrors_darwin_amd64.go
index 095b6f3..1f41dc0 100644
--- a/unix/zerrors_darwin_amd64.go
+++ b/unix/zerrors_darwin_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,darwin
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zerrors_dragonfly_386.go b/unix/zerrors_dragonfly_386.go
index 85988c0..2a329f0 100644
--- a/unix/zerrors_dragonfly_386.go
+++ b/unix/zerrors_dragonfly_386.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m32
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,dragonfly
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m32 _const.go
 
diff --git a/unix/zerrors_dragonfly_amd64.go b/unix/zerrors_dragonfly_amd64.go
index 914fa96..0feceee 100644
--- a/unix/zerrors_dragonfly_amd64.go
+++ b/unix/zerrors_dragonfly_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,dragonfly
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zerrors_freebsd_386.go b/unix/zerrors_freebsd_386.go
index 199c63f..3c2a5bf 100644
--- a/unix/zerrors_freebsd_386.go
+++ b/unix/zerrors_freebsd_386.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m32
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,freebsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m32 _const.go
 
diff --git a/unix/zerrors_freebsd_amd64.go b/unix/zerrors_freebsd_amd64.go
index f3ca90a..3b3f7a9 100644
--- a/unix/zerrors_freebsd_amd64.go
+++ b/unix/zerrors_freebsd_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,freebsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zerrors_freebsd_arm.go b/unix/zerrors_freebsd_arm.go
index 2d9d5e2..2afbe2d 100644
--- a/unix/zerrors_freebsd_arm.go
+++ b/unix/zerrors_freebsd_arm.go
@@ -1,6 +1,8 @@
 // mkerrors.sh
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm,freebsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- _const.go
 
diff --git a/unix/zerrors_linux_386.go b/unix/zerrors_linux_386.go
index fcee4fc..6fbef75 100644
--- a/unix/zerrors_linux_386.go
+++ b/unix/zerrors_linux_386.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m32
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,linux
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m32 _const.go
 
diff --git a/unix/zerrors_linux_amd64.go b/unix/zerrors_linux_amd64.go
index 52d05b1..b40ccb8 100644
--- a/unix/zerrors_linux_amd64.go
+++ b/unix/zerrors_linux_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,linux
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zerrors_linux_arm.go b/unix/zerrors_linux_arm.go
index 7f57070..4535b78 100644
--- a/unix/zerrors_linux_arm.go
+++ b/unix/zerrors_linux_arm.go
@@ -1,6 +1,8 @@
 // mkerrors.sh
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm,linux
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- _const.go
 
diff --git a/unix/zerrors_linux_arm64.go b/unix/zerrors_linux_arm64.go
index de95860..165073f 100644
--- a/unix/zerrors_linux_arm64.go
+++ b/unix/zerrors_linux_arm64.go
@@ -1,11 +1,11 @@
 // mkerrors.sh
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm64,linux
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- _const.go
 
-// +build arm64
-
 package unix
 
 import "syscall"
diff --git a/unix/zerrors_linux_ppc64.go b/unix/zerrors_linux_ppc64.go
index 21e0046..9d908d7 100644
--- a/unix/zerrors_linux_ppc64.go
+++ b/unix/zerrors_linux_ppc64.go
@@ -1,11 +1,11 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build ppc64,linux
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
-// +build ppc64,linux
-
 package unix
 
 import "syscall"
diff --git a/unix/zerrors_linux_ppc64le.go b/unix/zerrors_linux_ppc64le.go
index d9d0b1f..ccf05a2 100644
--- a/unix/zerrors_linux_ppc64le.go
+++ b/unix/zerrors_linux_ppc64le.go
@@ -1,11 +1,11 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build ppc64le,linux
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
-// +build ppc64le
-
 package unix
 
 import "syscall"
diff --git a/unix/zerrors_netbsd_386.go b/unix/zerrors_netbsd_386.go
index 147bcd3..b4338d5 100644
--- a/unix/zerrors_netbsd_386.go
+++ b/unix/zerrors_netbsd_386.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m32
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,netbsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m32 _const.go
 
diff --git a/unix/zerrors_netbsd_amd64.go b/unix/zerrors_netbsd_amd64.go
index cae48d1..4994437 100644
--- a/unix/zerrors_netbsd_amd64.go
+++ b/unix/zerrors_netbsd_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,netbsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zerrors_netbsd_arm.go b/unix/zerrors_netbsd_arm.go
index 95a0a25..ac85ca6 100644
--- a/unix/zerrors_netbsd_arm.go
+++ b/unix/zerrors_netbsd_arm.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -marm
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm,netbsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -marm _const.go
 
diff --git a/unix/zerrors_openbsd_386.go b/unix/zerrors_openbsd_386.go
index 8558737..3322e99 100644
--- a/unix/zerrors_openbsd_386.go
+++ b/unix/zerrors_openbsd_386.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m32
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,openbsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m32 _const.go
 
diff --git a/unix/zerrors_openbsd_amd64.go b/unix/zerrors_openbsd_amd64.go
index c1d382a..1758ecc 100644
--- a/unix/zerrors_openbsd_amd64.go
+++ b/unix/zerrors_openbsd_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,openbsd
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zerrors_solaris_amd64.go b/unix/zerrors_solaris_amd64.go
index f60e1f8..afdf7c5 100644
--- a/unix/zerrors_solaris_amd64.go
+++ b/unix/zerrors_solaris_amd64.go
@@ -1,6 +1,8 @@
 // mkerrors.sh -m64
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,solaris
+
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
diff --git a/unix/zsyscall_darwin_386.go b/unix/zsyscall_darwin_386.go
index a6bcbed..a15aaf1 100644
--- a/unix/zsyscall_darwin_386.go
+++ b/unix/zsyscall_darwin_386.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,darwin
+
 package unix
 
 import (
diff --git a/unix/zsyscall_darwin_amd64.go b/unix/zsyscall_darwin_amd64.go
index 14b367b..e28b044 100644
--- a/unix/zsyscall_darwin_amd64.go
+++ b/unix/zsyscall_darwin_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall.pl syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,darwin
+
 package unix
 
 import (
diff --git a/unix/zsyscall_dragonfly_386.go b/unix/zsyscall_dragonfly_386.go
index 8c20019..32e46af 100644
--- a/unix/zsyscall_dragonfly_386.go
+++ b/unix/zsyscall_dragonfly_386.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 -dragonfly syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,dragonfly
+
 package unix
 
 import (
diff --git a/unix/zsyscall_dragonfly_amd64.go b/unix/zsyscall_dragonfly_amd64.go
index 2ae6f6a..3fa6ff7 100644
--- a/unix/zsyscall_dragonfly_amd64.go
+++ b/unix/zsyscall_dragonfly_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -dragonfly syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,dragonfly
+
 package unix
 
 import (
diff --git a/unix/zsyscall_freebsd_386.go b/unix/zsyscall_freebsd_386.go
index eef8eca..1a0e528 100644
--- a/unix/zsyscall_freebsd_386.go
+++ b/unix/zsyscall_freebsd_386.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,freebsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_freebsd_amd64.go b/unix/zsyscall_freebsd_amd64.go
index 507166b..6e4cf14 100644
--- a/unix/zsyscall_freebsd_amd64.go
+++ b/unix/zsyscall_freebsd_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall.pl syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,freebsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_freebsd_arm.go b/unix/zsyscall_freebsd_arm.go
index 0b7a34e..1872d32 100644
--- a/unix/zsyscall_freebsd_arm.go
+++ b/unix/zsyscall_freebsd_arm.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 -arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm,freebsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_linux_386.go b/unix/zsyscall_linux_386.go
index 7de1333..81ae498 100644
--- a/unix/zsyscall_linux_386.go
+++ b/unix/zsyscall_linux_386.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 syscall_linux.go syscall_linux_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,linux
+
 package unix
 
 import (
diff --git a/unix/zsyscall_linux_amd64.go b/unix/zsyscall_linux_amd64.go
index eb7a941..2adb928 100644
--- a/unix/zsyscall_linux_amd64.go
+++ b/unix/zsyscall_linux_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall.pl syscall_linux.go syscall_linux_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,linux
+
 package unix
 
 import (
diff --git a/unix/zsyscall_linux_arm.go b/unix/zsyscall_linux_arm.go
index 84e6ffb..ca00ed3 100644
--- a/unix/zsyscall_linux_arm.go
+++ b/unix/zsyscall_linux_arm.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 -arm syscall_linux.go syscall_linux_arm.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm,linux
+
 package unix
 
 import (
diff --git a/unix/zsyscall_linux_arm64.go b/unix/zsyscall_linux_arm64.go
index 2ec05f7..9b14ee5 100644
--- a/unix/zsyscall_linux_arm64.go
+++ b/unix/zsyscall_linux_arm64.go
@@ -1,7 +1,7 @@
 // mksyscall.pl syscall_linux.go syscall_linux_arm64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
-// +build arm64
+// +build arm64,linux
 
 package unix
 
diff --git a/unix/zsyscall_linux_ppc64le.go b/unix/zsyscall_linux_ppc64le.go
index a4d333b..d91f763 100644
--- a/unix/zsyscall_linux_ppc64le.go
+++ b/unix/zsyscall_linux_ppc64le.go
@@ -1,7 +1,7 @@
 // mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
-// +build ppc64le
+// +build ppc64le,linux
 
 package unix
 
diff --git a/unix/zsyscall_netbsd_386.go b/unix/zsyscall_netbsd_386.go
index 2dde52a..00ca1f9 100644
--- a/unix/zsyscall_netbsd_386.go
+++ b/unix/zsyscall_netbsd_386.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 -netbsd syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,netbsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_netbsd_amd64.go b/unix/zsyscall_netbsd_amd64.go
index b16c66c..03f31b9 100644
--- a/unix/zsyscall_netbsd_amd64.go
+++ b/unix/zsyscall_netbsd_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -netbsd syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,netbsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_netbsd_arm.go b/unix/zsyscall_netbsd_arm.go
index cae18ca..84dc61c 100644
--- a/unix/zsyscall_netbsd_arm.go
+++ b/unix/zsyscall_netbsd_arm.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 -arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build arm,netbsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_openbsd_386.go b/unix/zsyscall_openbsd_386.go
index e9ec117..02b3528 100644
--- a/unix/zsyscall_openbsd_386.go
+++ b/unix/zsyscall_openbsd_386.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -l32 -openbsd syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build 386,openbsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_openbsd_amd64.go b/unix/zsyscall_openbsd_amd64.go
index 3c8535f..7dc2b7e 100644
--- a/unix/zsyscall_openbsd_amd64.go
+++ b/unix/zsyscall_openbsd_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall.pl -openbsd syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,openbsd
+
 package unix
 
 import (
diff --git a/unix/zsyscall_solaris_amd64.go b/unix/zsyscall_solaris_amd64.go
index 9ee51e3..4c2f8bf 100644
--- a/unix/zsyscall_solaris_amd64.go
+++ b/unix/zsyscall_solaris_amd64.go
@@ -1,6 +1,8 @@
 // mksyscall_solaris.pl syscall_solaris.go syscall_solaris_amd64.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
+// +build amd64,solaris
+
 package unix
 
 import "unsafe"
diff --git a/unix/zsysnum_darwin_386.go b/unix/zsysnum_darwin_386.go
index 645426a..e32e90d 100644
--- a/unix/zsysnum_darwin_386.go
+++ b/unix/zsysnum_darwin_386.go
@@ -1,6 +1,8 @@
 // mksysnum_darwin.pl /usr/include/sys/unix.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build 386,darwin
+
 package unix
 
 const (
diff --git a/unix/zsysnum_darwin_amd64.go b/unix/zsysnum_darwin_amd64.go
index 645426a..42792d7 100644
--- a/unix/zsysnum_darwin_amd64.go
+++ b/unix/zsysnum_darwin_amd64.go
@@ -1,6 +1,8 @@
 // mksysnum_darwin.pl /usr/include/sys/unix.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build amd64,darwin
+
 package unix
 
 const (
diff --git a/unix/zsysnum_dragonfly_386.go b/unix/zsysnum_dragonfly_386.go
index 09c3515..785240a 100644
--- a/unix/zsysnum_dragonfly_386.go
+++ b/unix/zsysnum_dragonfly_386.go
@@ -1,6 +1,8 @@
 // mksysnum_dragonfly.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build 386,dragonfly
+
 package unix
 
 const (
diff --git a/unix/zsysnum_dragonfly_amd64.go b/unix/zsysnum_dragonfly_amd64.go
index 09c3515..d6038fa 100644
--- a/unix/zsysnum_dragonfly_amd64.go
+++ b/unix/zsysnum_dragonfly_amd64.go
@@ -1,6 +1,8 @@
 // mksysnum_dragonfly.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build amd64,dragonfly
+
 package unix
 
 const (
diff --git a/unix/zsysnum_freebsd_386.go b/unix/zsysnum_freebsd_386.go
index 782eb91..262a845 100644
--- a/unix/zsysnum_freebsd_386.go
+++ b/unix/zsysnum_freebsd_386.go
@@ -1,6 +1,8 @@
 // mksysnum_freebsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build 386,freebsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_freebsd_amd64.go b/unix/zsysnum_freebsd_amd64.go
index 782eb91..57a60ea 100644
--- a/unix/zsysnum_freebsd_amd64.go
+++ b/unix/zsysnum_freebsd_amd64.go
@@ -1,6 +1,8 @@
 // mksysnum_freebsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build amd64,freebsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_freebsd_arm.go b/unix/zsysnum_freebsd_arm.go
index 782eb91..206b9f6 100644
--- a/unix/zsysnum_freebsd_arm.go
+++ b/unix/zsysnum_freebsd_arm.go
@@ -1,6 +1,8 @@
 // mksysnum_freebsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build arm,freebsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_linux_386.go b/unix/zsysnum_linux_386.go
index b6f993f..ba952c6 100644
--- a/unix/zsysnum_linux_386.go
+++ b/unix/zsysnum_linux_386.go
@@ -1,6 +1,8 @@
 // mksysnum_linux.pl /usr/include/asm/unistd_32.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build 386,linux
+
 package unix
 
 const (
diff --git a/unix/zsysnum_linux_amd64.go b/unix/zsysnum_linux_amd64.go
index c2da210..ddac31f 100644
--- a/unix/zsysnum_linux_amd64.go
+++ b/unix/zsysnum_linux_amd64.go
@@ -1,6 +1,8 @@
 // mksysnum_linux.pl /usr/include/asm/unistd_64.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build amd64,linux
+
 package unix
 
 const (
diff --git a/unix/zsysnum_linux_arm.go b/unix/zsysnum_linux_arm.go
index e2b7d19..45ced17 100644
--- a/unix/zsysnum_linux_arm.go
+++ b/unix/zsysnum_linux_arm.go
@@ -1,6 +1,8 @@
 // mksysnum_linux.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build arm,linux
+
 package unix
 
 const (
diff --git a/unix/zsysnum_linux_arm64.go b/unix/zsysnum_linux_arm64.go
index 42d7ab1..2e9514f 100644
--- a/unix/zsysnum_linux_arm64.go
+++ b/unix/zsysnum_linux_arm64.go
@@ -1,7 +1,7 @@
 // mksysnum_linux.pl /usr/include/asm-generic/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
-// +build arm64
+// +build arm64,linux
 
 package unix
 
diff --git a/unix/zsysnum_linux_ppc64le.go b/unix/zsysnum_linux_ppc64le.go
index d87daab..45e63f5 100644
--- a/unix/zsysnum_linux_ppc64le.go
+++ b/unix/zsysnum_linux_ppc64le.go
@@ -1,7 +1,7 @@
 // mksysnum_linux.pl /usr/include/powerpc64le-linux-gnu/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
-// +build ppc64le
+// +build ppc64le,linux
 
 package unix
 
diff --git a/unix/zsysnum_netbsd_386.go b/unix/zsysnum_netbsd_386.go
index bf00385..f60d8f9 100644
--- a/unix/zsysnum_netbsd_386.go
+++ b/unix/zsysnum_netbsd_386.go
@@ -1,6 +1,8 @@
 // mksysnum_netbsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build 386,netbsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_netbsd_amd64.go b/unix/zsysnum_netbsd_amd64.go
index bf00385..48a91d4 100644
--- a/unix/zsysnum_netbsd_amd64.go
+++ b/unix/zsysnum_netbsd_amd64.go
@@ -1,6 +1,8 @@
 // mksysnum_netbsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build amd64,netbsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_netbsd_arm.go b/unix/zsysnum_netbsd_arm.go
index bf00385..612ba66 100644
--- a/unix/zsysnum_netbsd_arm.go
+++ b/unix/zsysnum_netbsd_arm.go
@@ -1,6 +1,8 @@
 // mksysnum_netbsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build arm,netbsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_openbsd_386.go b/unix/zsysnum_openbsd_386.go
index a3cae50..3e8ce2a 100644
--- a/unix/zsysnum_openbsd_386.go
+++ b/unix/zsysnum_openbsd_386.go
@@ -1,6 +1,8 @@
 // mksysnum_openbsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build 386,openbsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_openbsd_amd64.go b/unix/zsysnum_openbsd_amd64.go
index a3cae50..bd28146 100644
--- a/unix/zsysnum_openbsd_amd64.go
+++ b/unix/zsysnum_openbsd_amd64.go
@@ -1,6 +1,8 @@
 // mksysnum_openbsd.pl
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
+// +build amd64,openbsd
+
 package unix
 
 const (
diff --git a/unix/zsysnum_solaris_amd64.go b/unix/zsysnum_solaris_amd64.go
index da00f9e..c708659 100644
--- a/unix/zsysnum_solaris_amd64.go
+++ b/unix/zsysnum_solaris_amd64.go
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build amd64,solaris
+
 package unix
 
 // TODO(aram): remove these before Go 1.3.
diff --git a/unix/ztypes_darwin_386.go b/unix/ztypes_darwin_386.go
index 75dc532..7b1c2c1 100644
--- a/unix/ztypes_darwin_386.go
+++ b/unix/ztypes_darwin_386.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_darwin.go
 
+// +build 386,darwin
+
 package unix
 
 const (
diff --git a/unix/ztypes_darwin_amd64.go b/unix/ztypes_darwin_amd64.go
index 93d6d28..9d07ef6 100644
--- a/unix/ztypes_darwin_amd64.go
+++ b/unix/ztypes_darwin_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_darwin.go
 
+// +build amd64,darwin
+
 package unix
 
 const (
diff --git a/unix/ztypes_dragonfly_386.go b/unix/ztypes_dragonfly_386.go
index e1b97ff..b7e7ff0 100644
--- a/unix/ztypes_dragonfly_386.go
+++ b/unix/ztypes_dragonfly_386.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_dragonfly.go
 
+// +build 386,dragonfly
+
 package unix
 
 const (
diff --git a/unix/ztypes_dragonfly_amd64.go b/unix/ztypes_dragonfly_amd64.go
index b94a4ff..8a6f4e1 100644
--- a/unix/ztypes_dragonfly_amd64.go
+++ b/unix/ztypes_dragonfly_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_dragonfly.go
 
+// +build amd64,dragonfly
+
 package unix
 
 const (
diff --git a/unix/ztypes_freebsd_386.go b/unix/ztypes_freebsd_386.go
index d9d5ce4..330c0e6 100644
--- a/unix/ztypes_freebsd_386.go
+++ b/unix/ztypes_freebsd_386.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_freebsd.go
 
+// +build 386,freebsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_freebsd_amd64.go b/unix/ztypes_freebsd_amd64.go
index 80c6b81..9339592 100644
--- a/unix/ztypes_freebsd_amd64.go
+++ b/unix/ztypes_freebsd_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_freebsd.go
 
+// +build amd64,freebsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_freebsd_arm.go b/unix/ztypes_freebsd_arm.go
index bd971b5..5472b54 100644
--- a/unix/ztypes_freebsd_arm.go
+++ b/unix/ztypes_freebsd_arm.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -fsigned-char types_freebsd.go
 
+// +build arm,freebsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_linux_386.go b/unix/ztypes_linux_386.go
index 3b1dcc6..9a58381 100644
--- a/unix/ztypes_linux_386.go
+++ b/unix/ztypes_linux_386.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_linux.go
 
+// +build 386,linux
+
 package unix
 
 const (
diff --git a/unix/ztypes_linux_amd64.go b/unix/ztypes_linux_amd64.go
index 8e6bd61..f1937a6 100644
--- a/unix/ztypes_linux_amd64.go
+++ b/unix/ztypes_linux_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_linux.go
 
+// +build amd64,linux
+
 package unix
 
 const (
diff --git a/unix/ztypes_linux_arm.go b/unix/ztypes_linux_arm.go
index 7a8e039..c8a0de4 100644
--- a/unix/ztypes_linux_arm.go
+++ b/unix/ztypes_linux_arm.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_linux.go
 
+// +build arm,linux
+
 package unix
 
 const (
diff --git a/unix/ztypes_linux_arm64.go b/unix/ztypes_linux_arm64.go
index 931e0a3..f989a36 100644
--- a/unix/ztypes_linux_arm64.go
+++ b/unix/ztypes_linux_arm64.go
@@ -1,7 +1,7 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -fsigned-char types_linux.go
 
-// +build arm64
+// +build arm64,linux
 
 package unix
 
diff --git a/unix/ztypes_linux_ppc64le.go b/unix/ztypes_linux_ppc64le.go
index 31196b7..d4a689f 100644
--- a/unix/ztypes_linux_ppc64le.go
+++ b/unix/ztypes_linux_ppc64le.go
@@ -1,7 +1,7 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_linux.go
 
-// +build ppc64le
+// +build ppc64le,linux
 
 package unix
 
diff --git a/unix/ztypes_netbsd_386.go b/unix/ztypes_netbsd_386.go
index 345bf23..caf755f 100644
--- a/unix/ztypes_netbsd_386.go
+++ b/unix/ztypes_netbsd_386.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_netbsd.go
 
+// +build 386,netbsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_netbsd_amd64.go b/unix/ztypes_netbsd_amd64.go
index 5559f02..91b4a53 100644
--- a/unix/ztypes_netbsd_amd64.go
+++ b/unix/ztypes_netbsd_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_netbsd.go
 
+// +build amd64,netbsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_netbsd_arm.go b/unix/ztypes_netbsd_arm.go
index 5618909..c0758f9 100644
--- a/unix/ztypes_netbsd_arm.go
+++ b/unix/ztypes_netbsd_arm.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_netbsd.go
 
+// +build arm,netbsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_openbsd_386.go b/unix/ztypes_openbsd_386.go
index be07f6e..860a469 100644
--- a/unix/ztypes_openbsd_386.go
+++ b/unix/ztypes_openbsd_386.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_openbsd.go
 
+// +build 386,openbsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_openbsd_amd64.go b/unix/ztypes_openbsd_amd64.go
index d553c2f..23c5272 100644
--- a/unix/ztypes_openbsd_amd64.go
+++ b/unix/ztypes_openbsd_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_openbsd.go
 
+// +build amd64,openbsd
+
 package unix
 
 const (
diff --git a/unix/ztypes_solaris_amd64.go b/unix/ztypes_solaris_amd64.go
index 9d8d0e5..45e9f42 100644
--- a/unix/ztypes_solaris_amd64.go
+++ b/unix/ztypes_solaris_amd64.go
@@ -1,6 +1,8 @@
 // Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs types_solaris.go
 
+// +build amd64,solaris
+
 package unix
 
 const (