unix: update syscall numbers to 4.10 kernel

The syscall numbers for Linux were out of date, so with the release of
the 4.10 kernel, now seemed like a reasonable time to update them. Note
that this change is mostly additive except that it removes some invalid
syscalls for arm, and it removes all constants that refer to either the
syscall base or total number of syscalls. Previous versions had only
removed some of them.

The updated syscall numbers were pulled directly from a header build
of the 4.10 kernel. This required some minor adjustements to the sysnum
generating perl script and is why the comments at the tops of the
generated files look slightly different. I could include the script I
used to do this, but right now it cannot generate the zerrors and ztypes
files.

Change-Id: Id94b967eb917f8f87500f818f2e494df9bccf2e0
Reviewed-on: https://go-review.googlesource.com/37570
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/unix/mksysnum_linux.pl b/unix/mksysnum_linux.pl
index 52b1613..872ae8c 100755
--- a/unix/mksysnum_linux.pl
+++ b/unix/mksysnum_linux.pl
@@ -38,15 +38,22 @@
 }
 
 my $prev;
-open(GCC, "gcc -E -dD $ARGV[0] |") || die "can't run gcc";
+open(GCC, "gcc -E -dD @ARGV |") || die "can't run gcc";
 while(<GCC>){
 	if(/^#define __NR_Linux\s+([0-9]+)/){
 		# mips/mips64: extract offset
 		$offset = $1;
 	}
+	elsif(/^#define __NR(\w*)_SYSCALL_BASE\s+([0-9]+)/){
+		# arm: extract offset
+		$offset = $1;
+	}
 	elsif(/^#define __NR_syscalls\s+/) {
 		# ignore redefinitions of __NR_syscalls
 	}
+	elsif(/^#define __NR_(\w*)Linux_syscalls\s+/) {
+		# mips/mips64: ignore definitions about the number of syscalls
+	}
 	elsif(/^#define __NR_(\w+)\s+([0-9]+)/){
 		$prev = $2;
 		fmt($1, $2);
@@ -61,6 +68,9 @@
 	elsif(/^#define __NR_(\w+)\s+\(__NR_Linux \+ ([0-9]+)/){
 		fmt($1, $2);
 	}
+	elsif(/^#define __NR_(\w+)\s+\(__NR_SYSCALL_BASE \+ ([0-9]+)/){
+		fmt($1, $2);
+	}
 }
 
 print <<EOF;
diff --git a/unix/zsysnum_linux_386.go b/unix/zsysnum_linux_386.go
index ba952c6..206b3c2 100644
--- a/unix/zsysnum_linux_386.go
+++ b/unix/zsysnum_linux_386.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm/unistd_32.h
+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D__i386__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build 386,linux
@@ -226,7 +226,6 @@
 	SYS_PIVOT_ROOT             = 217
 	SYS_MINCORE                = 218
 	SYS_MADVISE                = 219
-	SYS_MADVISE1               = 219
 	SYS_GETDENTS64             = 220
 	SYS_FCNTL64                = 221
 	SYS_GETTID                 = 224
@@ -352,4 +351,38 @@
 	SYS_SETNS                  = 346
 	SYS_PROCESS_VM_READV       = 347
 	SYS_PROCESS_VM_WRITEV      = 348
+	SYS_KCMP                   = 349
+	SYS_FINIT_MODULE           = 350
+	SYS_SCHED_SETATTR          = 351
+	SYS_SCHED_GETATTR          = 352
+	SYS_RENAMEAT2              = 353
+	SYS_SECCOMP                = 354
+	SYS_GETRANDOM              = 355
+	SYS_MEMFD_CREATE           = 356
+	SYS_BPF                    = 357
+	SYS_EXECVEAT               = 358
+	SYS_SOCKET                 = 359
+	SYS_SOCKETPAIR             = 360
+	SYS_BIND                   = 361
+	SYS_CONNECT                = 362
+	SYS_LISTEN                 = 363
+	SYS_ACCEPT4                = 364
+	SYS_GETSOCKOPT             = 365
+	SYS_SETSOCKOPT             = 366
+	SYS_GETSOCKNAME            = 367
+	SYS_GETPEERNAME            = 368
+	SYS_SENDTO                 = 369
+	SYS_SENDMSG                = 370
+	SYS_RECVFROM               = 371
+	SYS_RECVMSG                = 372
+	SYS_SHUTDOWN               = 373
+	SYS_USERFAULTFD            = 374
+	SYS_MEMBARRIER             = 375
+	SYS_MLOCK2                 = 376
+	SYS_COPY_FILE_RANGE        = 377
+	SYS_PREADV2                = 378
+	SYS_PWRITEV2               = 379
+	SYS_PKEY_MPROTECT          = 380
+	SYS_PKEY_ALLOC             = 381
+	SYS_PKEY_FREE              = 382
 )
diff --git a/unix/zsysnum_linux_amd64.go b/unix/zsysnum_linux_amd64.go
index ddac31f..9042317 100644
--- a/unix/zsysnum_linux_amd64.go
+++ b/unix/zsysnum_linux_amd64.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm/unistd_64.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build amd64,linux
@@ -318,4 +318,24 @@
 	SYS_GETCPU                 = 309
 	SYS_PROCESS_VM_READV       = 310
 	SYS_PROCESS_VM_WRITEV      = 311
+	SYS_KCMP                   = 312
+	SYS_FINIT_MODULE           = 313
+	SYS_SCHED_SETATTR          = 314
+	SYS_SCHED_GETATTR          = 315
+	SYS_RENAMEAT2              = 316
+	SYS_SECCOMP                = 317
+	SYS_GETRANDOM              = 318
+	SYS_MEMFD_CREATE           = 319
+	SYS_KEXEC_FILE_LOAD        = 320
+	SYS_BPF                    = 321
+	SYS_EXECVEAT               = 322
+	SYS_USERFAULTFD            = 323
+	SYS_MEMBARRIER             = 324
+	SYS_MLOCK2                 = 325
+	SYS_COPY_FILE_RANGE        = 326
+	SYS_PREADV2                = 327
+	SYS_PWRITEV2               = 328
+	SYS_PKEY_MPROTECT          = 329
+	SYS_PKEY_ALLOC             = 330
+	SYS_PKEY_FREE              = 331
 )
diff --git a/unix/zsysnum_linux_arm.go b/unix/zsysnum_linux_arm.go
index 45ced17..e3e6745 100644
--- a/unix/zsysnum_linux_arm.go
+++ b/unix/zsysnum_linux_arm.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl
+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D__ARM_EABI__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build arm,linux
@@ -6,8 +6,6 @@
 package unix
 
 const (
-	SYS_OABI_SYSCALL_BASE      = 0
-	SYS_SYSCALL_BASE           = 0
 	SYS_RESTART_SYSCALL        = 0
 	SYS_EXIT                   = 1
 	SYS_FORK                   = 2
@@ -20,21 +18,16 @@
 	SYS_UNLINK                 = 10
 	SYS_EXECVE                 = 11
 	SYS_CHDIR                  = 12
-	SYS_TIME                   = 13
 	SYS_MKNOD                  = 14
 	SYS_CHMOD                  = 15
 	SYS_LCHOWN                 = 16
 	SYS_LSEEK                  = 19
 	SYS_GETPID                 = 20
 	SYS_MOUNT                  = 21
-	SYS_UMOUNT                 = 22
 	SYS_SETUID                 = 23
 	SYS_GETUID                 = 24
-	SYS_STIME                  = 25
 	SYS_PTRACE                 = 26
-	SYS_ALARM                  = 27
 	SYS_PAUSE                  = 29
-	SYS_UTIME                  = 30
 	SYS_ACCESS                 = 33
 	SYS_NICE                   = 34
 	SYS_SYNC                   = 36
@@ -69,20 +62,16 @@
 	SYS_SIGPENDING             = 73
 	SYS_SETHOSTNAME            = 74
 	SYS_SETRLIMIT              = 75
-	SYS_GETRLIMIT              = 76
 	SYS_GETRUSAGE              = 77
 	SYS_GETTIMEOFDAY           = 78
 	SYS_SETTIMEOFDAY           = 79
 	SYS_GETGROUPS              = 80
 	SYS_SETGROUPS              = 81
-	SYS_SELECT                 = 82
 	SYS_SYMLINK                = 83
 	SYS_READLINK               = 85
 	SYS_USELIB                 = 86
 	SYS_SWAPON                 = 87
 	SYS_REBOOT                 = 88
-	SYS_READDIR                = 89
-	SYS_MMAP                   = 90
 	SYS_MUNMAP                 = 91
 	SYS_TRUNCATE               = 92
 	SYS_FTRUNCATE              = 93
@@ -92,7 +81,6 @@
 	SYS_SETPRIORITY            = 97
 	SYS_STATFS                 = 99
 	SYS_FSTATFS                = 100
-	SYS_SOCKETCALL             = 102
 	SYS_SYSLOG                 = 103
 	SYS_SETITIMER              = 104
 	SYS_GETITIMER              = 105
@@ -100,11 +88,9 @@
 	SYS_LSTAT                  = 107
 	SYS_FSTAT                  = 108
 	SYS_VHANGUP                = 111
-	SYS_SYSCALL                = 113
 	SYS_WAIT4                  = 114
 	SYS_SWAPOFF                = 115
 	SYS_SYSINFO                = 116
-	SYS_IPC                    = 117
 	SYS_FSYNC                  = 118
 	SYS_SIGRETURN              = 119
 	SYS_CLONE                  = 120
@@ -353,4 +339,23 @@
 	SYS_SETNS                  = 375
 	SYS_PROCESS_VM_READV       = 376
 	SYS_PROCESS_VM_WRITEV      = 377
+	SYS_KCMP                   = 378
+	SYS_FINIT_MODULE           = 379
+	SYS_SCHED_SETATTR          = 380
+	SYS_SCHED_GETATTR          = 381
+	SYS_RENAMEAT2              = 382
+	SYS_SECCOMP                = 383
+	SYS_GETRANDOM              = 384
+	SYS_MEMFD_CREATE           = 385
+	SYS_BPF                    = 386
+	SYS_EXECVEAT               = 387
+	SYS_USERFAULTFD            = 388
+	SYS_MEMBARRIER             = 389
+	SYS_MLOCK2                 = 390
+	SYS_COPY_FILE_RANGE        = 391
+	SYS_PREADV2                = 392
+	SYS_PWRITEV2               = 393
+	SYS_PKEY_MPROTECT          = 394
+	SYS_PKEY_ALLOC             = 395
+	SYS_PKEY_FREE              = 396
 )
diff --git a/unix/zsysnum_linux_arm64.go b/unix/zsysnum_linux_arm64.go
index 2e9514f..90e43d0 100644
--- a/unix/zsysnum_linux_arm64.go
+++ b/unix/zsysnum_linux_arm64.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm-generic/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build arm64,linux
@@ -269,4 +269,17 @@
 	SYS_SCHED_GETATTR          = 275
 	SYS_RENAMEAT2              = 276
 	SYS_SECCOMP                = 277
+	SYS_GETRANDOM              = 278
+	SYS_MEMFD_CREATE           = 279
+	SYS_BPF                    = 280
+	SYS_EXECVEAT               = 281
+	SYS_USERFAULTFD            = 282
+	SYS_MEMBARRIER             = 283
+	SYS_MLOCK2                 = 284
+	SYS_COPY_FILE_RANGE        = 285
+	SYS_PREADV2                = 286
+	SYS_PWRITEV2               = 287
+	SYS_PKEY_MPROTECT          = 288
+	SYS_PKEY_ALLOC             = 289
+	SYS_PKEY_FREE              = 290
 )
diff --git a/unix/zsysnum_linux_mips.go b/unix/zsysnum_linux_mips.go
index 0786867..77ff644 100644
--- a/unix/zsysnum_linux_mips.go
+++ b/unix/zsysnum_linux_mips.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/mips-linux-gnu/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D__MIPSEB__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build mips,linux
@@ -352,8 +352,23 @@
 	SYS_SETNS                  = 4344
 	SYS_PROCESS_VM_READV       = 4345
 	SYS_PROCESS_VM_WRITEV      = 4346
-	SYS_LINUX_SYSCALLS         = 4346
-	SYS_O32_LINUX_SYSCALLS     = 4346
-	SYS_64_LINUX_SYSCALLS      = 4305
-	SYS_N32_LINUX_SYSCALLS     = 4310
+	SYS_KCMP                   = 4347
+	SYS_FINIT_MODULE           = 4348
+	SYS_SCHED_SETATTR          = 4349
+	SYS_SCHED_GETATTR          = 4350
+	SYS_RENAMEAT2              = 4351
+	SYS_SECCOMP                = 4352
+	SYS_GETRANDOM              = 4353
+	SYS_MEMFD_CREATE           = 4354
+	SYS_BPF                    = 4355
+	SYS_EXECVEAT               = 4356
+	SYS_USERFAULTFD            = 4357
+	SYS_MEMBARRIER             = 4358
+	SYS_MLOCK2                 = 4359
+	SYS_COPY_FILE_RANGE        = 4360
+	SYS_PREADV2                = 4361
+	SYS_PWRITEV2               = 4362
+	SYS_PKEY_MPROTECT          = 4363
+	SYS_PKEY_ALLOC             = 4364
+	SYS_PKEY_FREE              = 4365
 )
diff --git a/unix/zsysnum_linux_mips64.go b/unix/zsysnum_linux_mips64.go
index 5ffe1c7..fc86fcd 100644
--- a/unix/zsysnum_linux_mips64.go
+++ b/unix/zsysnum_linux_mips64.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D_MIPS_SIM=_MIPS_SIM_ABI64 -D__MIPSEB__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build mips64,linux
@@ -324,4 +324,11 @@
 	SYS_EXECVEAT               = 5316
 	SYS_USERFAULTFD            = 5317
 	SYS_MEMBARRIER             = 5318
+	SYS_MLOCK2                 = 5319
+	SYS_COPY_FILE_RANGE        = 5320
+	SYS_PREADV2                = 5321
+	SYS_PWRITEV2               = 5322
+	SYS_PKEY_MPROTECT          = 5323
+	SYS_PKEY_ALLOC             = 5324
+	SYS_PKEY_FREE              = 5325
 )
diff --git a/unix/zsysnum_linux_mips64le.go b/unix/zsysnum_linux_mips64le.go
index d192b94..993873c 100644
--- a/unix/zsysnum_linux_mips64le.go
+++ b/unix/zsysnum_linux_mips64le.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D_MIPS_SIM=_MIPS_SIM_ABI64 -D__MIPSEL__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build mips64le,linux
@@ -324,4 +324,11 @@
 	SYS_EXECVEAT               = 5316
 	SYS_USERFAULTFD            = 5317
 	SYS_MEMBARRIER             = 5318
+	SYS_MLOCK2                 = 5319
+	SYS_COPY_FILE_RANGE        = 5320
+	SYS_PREADV2                = 5321
+	SYS_PWRITEV2               = 5322
+	SYS_PKEY_MPROTECT          = 5323
+	SYS_PKEY_ALLOC             = 5324
+	SYS_PKEY_FREE              = 5325
 )
diff --git a/unix/zsysnum_linux_mipsle.go b/unix/zsysnum_linux_mipsle.go
index 25d2317..f0155ba 100644
--- a/unix/zsysnum_linux_mipsle.go
+++ b/unix/zsysnum_linux_mipsle.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/mips-linux-gnu/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D__MIPSEL__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build mipsle,linux
@@ -352,8 +352,23 @@
 	SYS_SETNS                  = 4344
 	SYS_PROCESS_VM_READV       = 4345
 	SYS_PROCESS_VM_WRITEV      = 4346
-	SYS_LINUX_SYSCALLS         = 4346
-	SYS_O32_LINUX_SYSCALLS     = 4346
-	SYS_64_LINUX_SYSCALLS      = 4305
-	SYS_N32_LINUX_SYSCALLS     = 4310
+	SYS_KCMP                   = 4347
+	SYS_FINIT_MODULE           = 4348
+	SYS_SCHED_SETATTR          = 4349
+	SYS_SCHED_GETATTR          = 4350
+	SYS_RENAMEAT2              = 4351
+	SYS_SECCOMP                = 4352
+	SYS_GETRANDOM              = 4353
+	SYS_MEMFD_CREATE           = 4354
+	SYS_BPF                    = 4355
+	SYS_EXECVEAT               = 4356
+	SYS_USERFAULTFD            = 4357
+	SYS_MEMBARRIER             = 4358
+	SYS_MLOCK2                 = 4359
+	SYS_COPY_FILE_RANGE        = 4360
+	SYS_PREADV2                = 4361
+	SYS_PWRITEV2               = 4362
+	SYS_PKEY_MPROTECT          = 4363
+	SYS_PKEY_ALLOC             = 4364
+	SYS_PKEY_FREE              = 4365
 )
diff --git a/unix/zsysnum_linux_ppc64.go b/unix/zsysnum_linux_ppc64.go
index e1b08f0..0deec82 100644
--- a/unix/zsysnum_linux_ppc64.go
+++ b/unix/zsysnum_linux_ppc64.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__powerpc64__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build ppc64,linux
@@ -357,4 +357,13 @@
 	SYS_GETRANDOM              = 359
 	SYS_MEMFD_CREATE           = 360
 	SYS_BPF                    = 361
+	SYS_EXECVEAT               = 362
+	SYS_SWITCH_ENDIAN          = 363
+	SYS_USERFAULTFD            = 364
+	SYS_MEMBARRIER             = 365
+	SYS_MLOCK2                 = 378
+	SYS_COPY_FILE_RANGE        = 379
+	SYS_PREADV2                = 380
+	SYS_PWRITEV2               = 381
+	SYS_KEXEC_FILE_LOAD        = 382
 )
diff --git a/unix/zsysnum_linux_ppc64le.go b/unix/zsysnum_linux_ppc64le.go
index 45e63f5..3f701be 100644
--- a/unix/zsysnum_linux_ppc64le.go
+++ b/unix/zsysnum_linux_ppc64le.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/powerpc64le-linux-gnu/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__powerpc64__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build ppc64le,linux
@@ -350,4 +350,20 @@
 	SYS_PROCESS_VM_WRITEV      = 352
 	SYS_FINIT_MODULE           = 353
 	SYS_KCMP                   = 354
+	SYS_SCHED_SETATTR          = 355
+	SYS_SCHED_GETATTR          = 356
+	SYS_RENAMEAT2              = 357
+	SYS_SECCOMP                = 358
+	SYS_GETRANDOM              = 359
+	SYS_MEMFD_CREATE           = 360
+	SYS_BPF                    = 361
+	SYS_EXECVEAT               = 362
+	SYS_SWITCH_ENDIAN          = 363
+	SYS_USERFAULTFD            = 364
+	SYS_MEMBARRIER             = 365
+	SYS_MLOCK2                 = 378
+	SYS_COPY_FILE_RANGE        = 379
+	SYS_PREADV2                = 380
+	SYS_PWRITEV2               = 381
+	SYS_KEXEC_FILE_LOAD        = 382
 )
diff --git a/unix/zsysnum_linux_s390x.go b/unix/zsysnum_linux_s390x.go
index 42d4f5c..8b35997 100644
--- a/unix/zsysnum_linux_s390x.go
+++ b/unix/zsysnum_linux_s390x.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__s390x__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build s390x,linux
@@ -303,6 +303,9 @@
 	SYS_RECVMSG                = 372
 	SYS_SHUTDOWN               = 373
 	SYS_MLOCK2                 = 374
+	SYS_COPY_FILE_RANGE        = 375
+	SYS_PREADV2                = 376
+	SYS_PWRITEV2               = 377
 	SYS_SELECT                 = 142
 	SYS_GETRLIMIT              = 191
 	SYS_LCHOWN                 = 198
diff --git a/unix/zsysnum_linux_sparc64.go b/unix/zsysnum_linux_sparc64.go
index 46b5bee..c9c129d 100644
--- a/unix/zsysnum_linux_sparc64.go
+++ b/unix/zsysnum_linux_sparc64.go
@@ -1,4 +1,4 @@
-// mksysnum_linux.pl /usr/include/sparc64-linux-gnu/asm/unistd.h
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h
 // MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
 
 // +build sparc64,linux