[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