[fuchsia] Update to zx_cprng_new
Change-Id: Idd0cd8dd9c019c57dcf6e6d4bf3b8fc36bd7dd97
diff --git a/src/syscall/zx/handle.go b/src/syscall/zx/handle.go
index 884a36e..3e3a5ef 100644
--- a/src/syscall/zx/handle.go
+++ b/src/syscall/zx/handle.go
@@ -557,12 +557,10 @@
if start+toRead > len(b) {
toRead = len(b) - start
}
- var actual uint
- if status := sys_cprng_draw(unsafe.Pointer(&b[start]), uint(toRead), &actual); status != ErrOk {
- total += actual
+ if status := sys_cprng_draw_new(unsafe.Pointer(&b[start]), uint(toRead)); status != ErrOk {
return int(total), Error{Status: status, Text: "zx.RandRead"}
}
- total += actual
+ total += uint(toRead)
}
return int(total), nil
diff --git a/src/syscall/zx/mkfuchsia.go b/src/syscall/zx/mkfuchsia.go
index 70a5cb0..597c3fb 100644
--- a/src/syscall/zx/mkfuchsia.go
+++ b/src/syscall/zx/mkfuchsia.go
@@ -761,7 +761,7 @@
"vmo_set_size",
"vmo_create",
"vmo_op_range",
- "cprng_draw":
+ "cprng_draw_new":
return false
default:
return true
diff --git a/src/syscall/zx/syscalls_fuchsia.go b/src/syscall/zx/syscalls_fuchsia.go
index 71052dc..5579c34 100644
--- a/src/syscall/zx/syscalls_fuchsia.go
+++ b/src/syscall/zx/syscalls_fuchsia.go
@@ -92,7 +92,7 @@
//go:cgo_import_dynamic vdso_zx_vmar_map zx_vmar_map "libzircon.so"
//go:cgo_import_dynamic vdso_zx_vmar_unmap zx_vmar_unmap "libzircon.so"
//go:cgo_import_dynamic vdso_zx_vmar_protect zx_vmar_protect "libzircon.so"
-//go:cgo_import_dynamic vdso_zx_cprng_draw zx_cprng_draw "libzircon.so"
+//go:cgo_import_dynamic vdso_zx_cprng_draw_new zx_cprng_draw_new "libzircon.so"
//go:cgo_import_dynamic vdso_zx_cprng_add_entropy zx_cprng_add_entropy "libzircon.so"
//go:cgo_import_dynamic vdso_zx_fifo_create zx_fifo_create "libzircon.so"
//go:cgo_import_dynamic vdso_zx_fifo_read zx_fifo_read "libzircon.so"
@@ -219,7 +219,7 @@
//go:linkname vdso_zx_vmar_map vdso_zx_vmar_map
//go:linkname vdso_zx_vmar_unmap vdso_zx_vmar_unmap
//go:linkname vdso_zx_vmar_protect vdso_zx_vmar_protect
-//go:linkname vdso_zx_cprng_draw vdso_zx_cprng_draw
+//go:linkname vdso_zx_cprng_draw_new vdso_zx_cprng_draw_new
//go:linkname vdso_zx_cprng_add_entropy vdso_zx_cprng_add_entropy
//go:linkname vdso_zx_fifo_create vdso_zx_fifo_create
//go:linkname vdso_zx_fifo_read vdso_zx_fifo_read
@@ -347,7 +347,7 @@
vdso_zx_vmar_map uintptr
vdso_zx_vmar_unmap uintptr
vdso_zx_vmar_protect uintptr
- vdso_zx_cprng_draw uintptr
+ vdso_zx_cprng_draw_new uintptr
vdso_zx_cprng_add_entropy uintptr
vdso_zx_fifo_create uintptr
vdso_zx_fifo_read uintptr
@@ -726,7 +726,7 @@
//go:noescape
//go:nosplit
-func sys_cprng_draw(buffer unsafe.Pointer, len uint, actual *uint) Status
+func sys_cprng_draw_new(buffer unsafe.Pointer, len uint) Status
//go:noescape
//go:nosplit
diff --git a/src/syscall/zx/syscalls_fuchsia_amd64.s b/src/syscall/zx/syscalls_fuchsia_amd64.s
index ba5272e..4bffc4c 100644
--- a/src/syscall/zx/syscalls_fuchsia_amd64.s
+++ b/src/syscall/zx/syscalls_fuchsia_amd64.s
@@ -893,14 +893,13 @@
MOVL AX, ret+32(FP)
RET
-// func sys_cprng_draw(buffer unsafe.Pointer, len uint, actual *uint) Status
-TEXT ·sys_cprng_draw(SB),NOSPLIT,$0-28
+// func sys_cprng_draw_new(buffer unsafe.Pointer, len uint) Status
+TEXT ·sys_cprng_draw_new(SB),NOSPLIT,$0-28
MOVQ buffer+0(FP), DI
MOVQ len+8(FP), SI
- MOVQ actual+16(FP), DX
- MOVQ vdso_zx_cprng_draw(SB), AX
+ MOVQ vdso_zx_cprng_draw_new(SB), AX
CALL AX
- MOVL AX, ret+24(FP)
+ MOVL AX, ret+16(FP)
RET
// func Sys_cprng_add_entropy(buffer unsafe.Pointer, len uint) Status
diff --git a/src/syscall/zx/syscalls_fuchsia_arm64.s b/src/syscall/zx/syscalls_fuchsia_arm64.s
index 93a61c1..7329f38 100644
--- a/src/syscall/zx/syscalls_fuchsia_arm64.s
+++ b/src/syscall/zx/syscalls_fuchsia_arm64.s
@@ -781,13 +781,12 @@
MOVW R0, ret+32(FP)
RET
-// func sys_cprng_draw(buffer unsafe.Pointer, len uint, actual *uint) Status
-TEXT ·sys_cprng_draw(SB),NOSPLIT,$0-28
+// func sys_cprng_draw_new(buffer unsafe.Pointer, len uint) Status
+TEXT ·sys_cprng_draw_new(SB),NOSPLIT,$0-28
MOVD buffer+0(FP), R0
MOVD len+8(FP), R1
- MOVD actual+16(FP), R2
- BL vdso_zx_cprng_draw(SB)
- MOVW R0, ret+24(FP)
+ BL vdso_zx_cprng_draw_new(SB)
+ MOVW R0, ret+16(FP)
RET
// func Sys_cprng_add_entropy(buffer unsafe.Pointer, len uint) Status