mirror of
https://github.com/golang/go
synced 2024-11-12 07:40:23 -07:00
runtime: get randomness from AT_RANDOM AUXV on linux/mips64x
Fixes #15148. Change-Id: If3b628f30521adeec1625689dbc98aaf4a9ec858 Reviewed-on: https://go-review.googlesource.com/22811 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Minux Ma <minux@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
ef92857e27
commit
2e32efc44a
@ -9,6 +9,17 @@ package runtime
|
|||||||
|
|
||||||
var randomNumber uint32
|
var randomNumber uint32
|
||||||
|
|
||||||
|
func archauxv(tag, val uintptr) {
|
||||||
|
switch tag {
|
||||||
|
case _AT_RANDOM:
|
||||||
|
// sysargs filled in startupRandomData, but that
|
||||||
|
// pointer may not be word aligned, so we must treat
|
||||||
|
// it as a byte array.
|
||||||
|
randomNumber = uint32(startupRandomData[4]) | uint32(startupRandomData[5])<<8 |
|
||||||
|
uint32(startupRandomData[6])<<16 | uint32(startupRandomData[7])<<24
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//go:nosplit
|
//go:nosplit
|
||||||
func cputicks() int64 {
|
func cputicks() int64 {
|
||||||
// Currently cputicks() is used in blocking profiler and to seed fastrand1().
|
// Currently cputicks() is used in blocking profiler and to seed fastrand1().
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build !amd64,!arm,!arm64
|
// +build !amd64,!arm,!arm64,!mips64,!mips64le
|
||||||
|
|
||||||
package runtime
|
package runtime
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user