]> Cypherpunks repositories - gostls13.git/commitdiff
internal/syscall/unix: eliminate non-trivial randomTrap initializer
authorMatthew Dempsky <mdempsky@google.com>
Wed, 4 Nov 2015 22:51:51 +0000 (14:51 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Thu, 5 Nov 2015 00:09:59 +0000 (00:09 +0000)
While here, enable getrandom on arm64 too (using the value found in
include/uapi/asm-generic/unistd.h, which seems to match up with other
GOARCH=arm64 syscall numbers).

Updates #10848.

Change-Id: I5ab36ccf6ee8d5cc6f0e1a61d09f0da7410288b9
Reviewed-on: https://go-review.googlesource.com/16662
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/internal/syscall/unix/getrandom_linux.go
src/internal/syscall/unix/getrandom_linux_386.go [new file with mode: 0644]
src/internal/syscall/unix/getrandom_linux_amd64.go [new file with mode: 0644]
src/internal/syscall/unix/getrandom_linux_arm.go [new file with mode: 0644]
src/internal/syscall/unix/getrandom_linux_generic.go [new file with mode: 0644]
src/internal/syscall/unix/getrandom_linux_ppc64x.go [new file with mode: 0644]

index 7388271ef1917b76c9ba6cb31df94248ae923cd7..e07557a93ba93c9a0642a142f6a7e5fe36ec6439 100644 (file)
@@ -5,20 +5,11 @@
 package unix
 
 import (
-       "runtime"
        "sync/atomic"
        "syscall"
        "unsafe"
 )
 
-var randomTrap = map[string]uintptr{
-       "386":     355,
-       "amd64":   318,
-       "arm":     384,
-       "ppc64":   359,
-       "ppc64le": 359,
-}[runtime.GOARCH]
-
 var randomUnsupported int32 // atomic
 
 // GetRandomFlag is a flag supported by the getrandom system call.
diff --git a/src/internal/syscall/unix/getrandom_linux_386.go b/src/internal/syscall/unix/getrandom_linux_386.go
new file mode 100644 (file)
index 0000000..48c69b4
--- /dev/null
@@ -0,0 +1,7 @@
+// Copyright 2014 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.
+
+package unix
+
+const randomTrap uintptr = 355
diff --git a/src/internal/syscall/unix/getrandom_linux_amd64.go b/src/internal/syscall/unix/getrandom_linux_amd64.go
new file mode 100644 (file)
index 0000000..7175e36
--- /dev/null
@@ -0,0 +1,7 @@
+// Copyright 2014 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.
+
+package unix
+
+const randomTrap uintptr = 318
diff --git a/src/internal/syscall/unix/getrandom_linux_arm.go b/src/internal/syscall/unix/getrandom_linux_arm.go
new file mode 100644 (file)
index 0000000..c4d6f43
--- /dev/null
@@ -0,0 +1,7 @@
+// Copyright 2014 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.
+
+package unix
+
+const randomTrap uintptr = 384
diff --git a/src/internal/syscall/unix/getrandom_linux_generic.go b/src/internal/syscall/unix/getrandom_linux_generic.go
new file mode 100644 (file)
index 0000000..0e632dc
--- /dev/null
@@ -0,0 +1,9 @@
+// Copyright 2014 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 arm64
+
+package unix
+
+const randomTrap uintptr = 278
diff --git a/src/internal/syscall/unix/getrandom_linux_ppc64x.go b/src/internal/syscall/unix/getrandom_linux_ppc64x.go
new file mode 100644 (file)
index 0000000..6edaba2
--- /dev/null
@@ -0,0 +1,9 @@
+// Copyright 2014 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 ppc64 ppc64le
+
+package unix
+
+const randomTrap uintptr = 359