[go][syscalls] Regenerate syscalls

zx_ticks_t was redefined from uint64_t to int64_t.  Regenerate the go
syscall bindings as a result.  Note; it looks like things were a bit
out of date here.  More than just the ticks definition needed to be
update.

Change-Id: I27b2386746f2f3681f191424cc4531ec052ee485
diff --git a/src/internal/fuchsia/abigen/types.go b/src/internal/fuchsia/abigen/types.go
index 5beba35..45540c9 100644
--- a/src/internal/fuchsia/abigen/types.go
+++ b/src/internal/fuchsia/abigen/types.go
@@ -73,7 +73,7 @@
 	"zx_status_t":              zxStatus, // int32_t
 	"zx_clock_t":               zxUint32,
 	"zx_time_t":                zxTime, // uint64_t monotonic time
-	"zx_ticks_t":               zxUint64,
+	"zx_ticks_t":               zxInt64,
 	"zx_duration_t":            zxDuration, // uint64_t nanoseconds
 	"zx_koid_t":                zxKOID,
 	"zx_handle_t":              zxHandle, // int32_t
diff --git a/src/runtime/vdso_keys_fuchsia.go b/src/runtime/vdso_keys_fuchsia.go
index 04cf6a5..57bcc4d 100644
--- a/src/runtime/vdso_keys_fuchsia.go
+++ b/src/runtime/vdso_keys_fuchsia.go
@@ -29,6 +29,7 @@
 	{"_zx_system_get_version", 0x206d39de, &vdso_zx_system_get_version},
 	{"_zx_system_get_physmem", 0x5a0e027b, &vdso_zx_system_get_physmem},
 	{"_zx_system_get_features", 0x42682df7, &vdso_zx_system_get_features},
+	{"_zx_system_get_event", 0x7a0b68da, &vdso_zx_system_get_event},
 	{"_zx_cache_flush", 0x319eccca, &vdso_zx_cache_flush},
 	{"_zx_handle_close", 0xe769f876, &vdso_zx_handle_close},
 	{"_zx_handle_close_many", 0x8a9a3aaa, &vdso_zx_handle_close_many},
@@ -48,6 +49,7 @@
 	{"_zx_channel_read", 0xe7169b09, &vdso_zx_channel_read},
 	{"_zx_channel_read_etc", 0x77c4cc84, &vdso_zx_channel_read_etc},
 	{"_zx_channel_write", 0xca4bbc18, &vdso_zx_channel_write},
+	{"_zx_channel_write_etc", 0x43b1dd13, &vdso_zx_channel_write_etc},
 	{"_zx_channel_call_noretry", 0xb5ad0b5b, &vdso_zx_channel_call_noretry},
 	{"_zx_channel_call_finish", 0x85ce3de9, &vdso_zx_channel_call_finish},
 	{"_zx_channel_call", 0xe70e51c9, &vdso_zx_channel_call},
@@ -73,7 +75,10 @@
 	{"_zx_task_suspend", 0xe13ad509, &vdso_zx_task_suspend},
 	{"_zx_task_suspend_token", 0x341e98a9, &vdso_zx_task_suspend_token},
 	{"_zx_task_resume_from_exception", 0x185b8e99, &vdso_zx_task_resume_from_exception},
+	{"_zx_task_create_exception_channel", 0x5318f181, &vdso_zx_task_create_exception_channel},
 	{"_zx_task_kill", 0x1ae4e313, &vdso_zx_task_kill},
+	{"_zx_exception_get_thread", 0xb1c70bba, &vdso_zx_exception_get_thread},
+	{"_zx_exception_get_process", 0xcddbd761, &vdso_zx_exception_get_process},
 	{"_zx_event_create", 0x4c39490a, &vdso_zx_event_create},
 	{"_zx_eventpair_create", 0xe3fd9c16, &vdso_zx_eventpair_create},
 	{"_zx_futex_wait", 0xb089e255, &vdso_zx_futex_wait},
@@ -95,7 +100,7 @@
 	{"_zx_vmo_get_size", 0x261c77c0, &vdso_zx_vmo_get_size},
 	{"_zx_vmo_set_size", 0x3932724c, &vdso_zx_vmo_set_size},
 	{"_zx_vmo_op_range", 0xa73d6b71, &vdso_zx_vmo_op_range},
-	{"_zx_vmo_create_child", 0xc755ed37, &vdso_zx_vmo_create_child},
+	{"_zx_vmo_create_child", 0x72c8b3dd, &vdso_zx_vmo_create_child},
 	{"_zx_vmo_set_cache_policy", 0xe509bad4, &vdso_zx_vmo_set_cache_policy},
 	{"_zx_vmo_replace_as_executable", 0xbd38e576, &vdso_zx_vmo_replace_as_executable},
 	{"_zx_vmar_allocate", 0x4cac85ef, &vdso_zx_vmar_allocate},
@@ -164,6 +169,7 @@
 //go:cgo_import_dynamic vdso_zx_system_get_version _zx_system_get_version
 //go:cgo_import_dynamic vdso_zx_system_get_physmem _zx_system_get_physmem
 //go:cgo_import_dynamic vdso_zx_system_get_features _zx_system_get_features
+//go:cgo_import_dynamic vdso_zx_system_get_event _zx_system_get_event
 //go:cgo_import_dynamic vdso_zx_cache_flush _zx_cache_flush
 //go:cgo_import_dynamic vdso_zx_handle_close _zx_handle_close
 //go:cgo_import_dynamic vdso_zx_handle_close_many _zx_handle_close_many
@@ -183,6 +189,7 @@
 //go:cgo_import_dynamic vdso_zx_channel_read _zx_channel_read
 //go:cgo_import_dynamic vdso_zx_channel_read_etc _zx_channel_read_etc
 //go:cgo_import_dynamic vdso_zx_channel_write _zx_channel_write
+//go:cgo_import_dynamic vdso_zx_channel_write_etc _zx_channel_write_etc
 //go:cgo_import_dynamic vdso_zx_channel_call_noretry _zx_channel_call_noretry
 //go:cgo_import_dynamic vdso_zx_channel_call_finish _zx_channel_call_finish
 //go:cgo_import_dynamic vdso_zx_channel_call _zx_channel_call
@@ -208,7 +215,10 @@
 //go:cgo_import_dynamic vdso_zx_task_suspend _zx_task_suspend
 //go:cgo_import_dynamic vdso_zx_task_suspend_token _zx_task_suspend_token
 //go:cgo_import_dynamic vdso_zx_task_resume_from_exception _zx_task_resume_from_exception
+//go:cgo_import_dynamic vdso_zx_task_create_exception_channel _zx_task_create_exception_channel
 //go:cgo_import_dynamic vdso_zx_task_kill _zx_task_kill
+//go:cgo_import_dynamic vdso_zx_exception_get_thread _zx_exception_get_thread
+//go:cgo_import_dynamic vdso_zx_exception_get_process _zx_exception_get_process
 //go:cgo_import_dynamic vdso_zx_event_create _zx_event_create
 //go:cgo_import_dynamic vdso_zx_eventpair_create _zx_eventpair_create
 //go:cgo_import_dynamic vdso_zx_futex_wait _zx_futex_wait
@@ -298,6 +308,7 @@
 //go:linkname vdso_zx_system_get_version vdso_zx_system_get_version
 //go:linkname vdso_zx_system_get_physmem vdso_zx_system_get_physmem
 //go:linkname vdso_zx_system_get_features vdso_zx_system_get_features
+//go:linkname vdso_zx_system_get_event vdso_zx_system_get_event
 //go:linkname vdso_zx_cache_flush vdso_zx_cache_flush
 //go:linkname vdso_zx_handle_close vdso_zx_handle_close
 //go:linkname vdso_zx_handle_close_many vdso_zx_handle_close_many
@@ -317,6 +328,7 @@
 //go:linkname vdso_zx_channel_read vdso_zx_channel_read
 //go:linkname vdso_zx_channel_read_etc vdso_zx_channel_read_etc
 //go:linkname vdso_zx_channel_write vdso_zx_channel_write
+//go:linkname vdso_zx_channel_write_etc vdso_zx_channel_write_etc
 //go:linkname vdso_zx_channel_call_noretry vdso_zx_channel_call_noretry
 //go:linkname vdso_zx_channel_call_finish vdso_zx_channel_call_finish
 //go:linkname vdso_zx_channel_call vdso_zx_channel_call
@@ -342,7 +354,10 @@
 //go:linkname vdso_zx_task_suspend vdso_zx_task_suspend
 //go:linkname vdso_zx_task_suspend_token vdso_zx_task_suspend_token
 //go:linkname vdso_zx_task_resume_from_exception vdso_zx_task_resume_from_exception
+//go:linkname vdso_zx_task_create_exception_channel vdso_zx_task_create_exception_channel
 //go:linkname vdso_zx_task_kill vdso_zx_task_kill
+//go:linkname vdso_zx_exception_get_thread vdso_zx_exception_get_thread
+//go:linkname vdso_zx_exception_get_process vdso_zx_exception_get_process
 //go:linkname vdso_zx_event_create vdso_zx_event_create
 //go:linkname vdso_zx_eventpair_create vdso_zx_eventpair_create
 //go:linkname vdso_zx_futex_wait vdso_zx_futex_wait
@@ -421,7 +436,7 @@
 
 //go:noescape
 //go:nosplit
-func vdsoCall_zx_clock_get(clock_id uint32) int64
+func vdsoCall_zx_clock_get(clock_id uint32, out unsafe.Pointer) int32
 
 //go:noescape
 //go:nosplit
@@ -437,11 +452,11 @@
 
 //go:noescape
 //go:nosplit
-func vdsoCall_zx_ticks_get() uint64
+func vdsoCall_zx_ticks_get() int64
 
 //go:noescape
 //go:nosplit
-func vdsoCall_zx_ticks_per_second() uint64
+func vdsoCall_zx_ticks_per_second() int64
 
 //go:noescape
 //go:nosplit
@@ -473,6 +488,10 @@
 
 //go:noescape
 //go:nosplit
+func vdsoCall_zx_system_get_event(root_job uint32, kind uint32, event unsafe.Pointer) int32
+
+//go:noescape
+//go:nosplit
 func vdsoCall_zx_cache_flush(addr unsafe.Pointer, size uint, options uint32) int32
 
 //go:noescape
@@ -549,6 +568,10 @@
 
 //go:noescape
 //go:nosplit
+func vdsoCall_zx_channel_write_etc(handle uint32, options uint32, bytes unsafe.Pointer, num_bytes uint32, handles unsafe.Pointer, num_handles uint32) int32
+
+//go:noescape
+//go:nosplit
 func vdsoCall_zx_channel_call_noretry(handle uint32, options uint32, deadline int64, args unsafe.Pointer, actual_bytes unsafe.Pointer, actual_handles unsafe.Pointer) int32
 
 //go:noescape
@@ -649,10 +672,22 @@
 
 //go:noescape
 //go:nosplit
+func vdsoCall_zx_task_create_exception_channel(handle uint32, options uint32, out unsafe.Pointer) int32
+
+//go:noescape
+//go:nosplit
 func vdsoCall_zx_task_kill(handle uint32) int32
 
 //go:noescape
 //go:nosplit
+func vdsoCall_zx_exception_get_thread(handle uint32, out unsafe.Pointer) int32
+
+//go:noescape
+//go:nosplit
+func vdsoCall_zx_exception_get_process(handle uint32, out unsafe.Pointer) int32
+
+//go:noescape
+//go:nosplit
 func vdsoCall_zx_event_create(options uint32, out unsafe.Pointer) int32
 
 //go:noescape
@@ -793,7 +828,7 @@
 
 //go:noescape
 //go:nosplit
-func vdsoCall_zx_profile_create(root_job uint32, profile unsafe.Pointer, out unsafe.Pointer) int32
+func vdsoCall_zx_profile_create(root_job uint32, options uint32, profile unsafe.Pointer, out unsafe.Pointer) int32
 
 //go:noescape
 //go:nosplit
@@ -965,6 +1000,7 @@
 	vdso_zx_system_get_version                  uintptr
 	vdso_zx_system_get_physmem                  uintptr
 	vdso_zx_system_get_features                 uintptr
+	vdso_zx_system_get_event                    uintptr
 	vdso_zx_cache_flush                         uintptr
 	vdso_zx_handle_close                        uintptr
 	vdso_zx_handle_close_many                   uintptr
@@ -984,6 +1020,7 @@
 	vdso_zx_channel_read                        uintptr
 	vdso_zx_channel_read_etc                    uintptr
 	vdso_zx_channel_write                       uintptr
+	vdso_zx_channel_write_etc                   uintptr
 	vdso_zx_channel_call_noretry                uintptr
 	vdso_zx_channel_call_finish                 uintptr
 	vdso_zx_channel_call                        uintptr
@@ -1009,7 +1046,10 @@
 	vdso_zx_task_suspend                        uintptr
 	vdso_zx_task_suspend_token                  uintptr
 	vdso_zx_task_resume_from_exception          uintptr
+	vdso_zx_task_create_exception_channel       uintptr
 	vdso_zx_task_kill                           uintptr
+	vdso_zx_exception_get_thread                uintptr
+	vdso_zx_exception_get_process               uintptr
 	vdso_zx_event_create                        uintptr
 	vdso_zx_eventpair_create                    uintptr
 	vdso_zx_futex_wait                          uintptr
diff --git a/src/runtime/vdsocalls_fuchsia_amd64.s b/src/runtime/vdsocalls_fuchsia_amd64.s
index 6f99a4a..7d5c45d 100644
--- a/src/runtime/vdsocalls_fuchsia_amd64.s
+++ b/src/runtime/vdsocalls_fuchsia_amd64.s
@@ -10,8 +10,8 @@
 #include "textflag.h"
 #include "funcdata.h"
 
-// func vdsoCall_zx_clock_get(clock_id uint32) int64
-TEXT runtime·vdsoCall_zx_clock_get(SB),NOSPLIT,$8-16
+// func vdsoCall_zx_clock_get(clock_id uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_clock_get(SB),NOSPLIT,$8-20
 	GO_ARGS
 	NO_LOCAL_POINTERS
 	get_tls(CX)
@@ -23,9 +23,10 @@
 	LEAQ 24(SP), DX
 	MOVQ DX, m_vdsoSP(R14)
 	MOVL clock_id+0(FP), DI
+	MOVQ out+8(FP), SI
 	MOVQ vdso_zx_clock_get(SB), AX
 	CALL AX
-	MOVQ AX, ret+8(FP)
+	MOVL AX, ret+16(FP)
 	POPQ R14
 	MOVQ $0, m_vdsoSP(R14)
 	RET
@@ -90,7 +91,7 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
-// func vdsoCall_zx_ticks_get() uint64
+// func vdsoCall_zx_ticks_get() int64
 TEXT runtime·vdsoCall_zx_ticks_get(SB),NOSPLIT,$8-8
 	GO_ARGS
 	NO_LOCAL_POINTERS
@@ -109,7 +110,7 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
-// func vdsoCall_zx_ticks_per_second() uint64
+// func vdsoCall_zx_ticks_per_second() int64
 TEXT runtime·vdsoCall_zx_ticks_per_second(SB),NOSPLIT,$8-8
 	GO_ARGS
 	NO_LOCAL_POINTERS
@@ -269,6 +270,28 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
+// func vdsoCall_zx_system_get_event(root_job uint32, kind uint32, event unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_system_get_event(SB),NOSPLIT,$8-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	get_tls(CX)
+	MOVQ g(CX), AX
+	MOVQ g_m(AX), R14
+	PUSHQ R14
+	MOVQ 24(SP), DX
+	MOVQ DX, m_vdsoPC(R14)
+	LEAQ 24(SP), DX
+	MOVQ DX, m_vdsoSP(R14)
+	MOVL root_job+0(FP), DI
+	MOVL kind+4(FP), SI
+	MOVQ event+8(FP), DX
+	MOVQ vdso_zx_system_get_event(SB), AX
+	CALL AX
+	MOVL AX, ret+16(FP)
+	POPQ R14
+	MOVQ $0, m_vdsoSP(R14)
+	RET
+
 // func vdsoCall_zx_cache_flush(addr unsafe.Pointer, size uint, options uint32) int32
 TEXT runtime·vdsoCall_zx_cache_flush(SB),NOSPLIT,$8-28
 	GO_ARGS
@@ -724,6 +747,31 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
+// func vdsoCall_zx_channel_write_etc(handle uint32, options uint32, bytes unsafe.Pointer, num_bytes uint32, handles unsafe.Pointer, num_handles uint32) int32
+TEXT runtime·vdsoCall_zx_channel_write_etc(SB),NOSPLIT,$8-44
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	get_tls(CX)
+	MOVQ g(CX), AX
+	MOVQ g_m(AX), R14
+	PUSHQ R14
+	MOVQ 24(SP), DX
+	MOVQ DX, m_vdsoPC(R14)
+	LEAQ 24(SP), DX
+	MOVQ DX, m_vdsoSP(R14)
+	MOVL handle+0(FP), DI
+	MOVL options+4(FP), SI
+	MOVQ bytes+8(FP), DX
+	MOVL num_bytes+16(FP), CX
+	MOVQ handles+24(FP), R8
+	MOVL num_handles+32(FP), R9
+	MOVQ vdso_zx_channel_write_etc(SB), AX
+	CALL AX
+	MOVL AX, ret+40(FP)
+	POPQ R14
+	MOVQ $0, m_vdsoSP(R14)
+	RET
+
 // func vdsoCall_zx_channel_call_noretry(handle uint32, options uint32, deadline int64, args unsafe.Pointer, actual_bytes unsafe.Pointer, actual_handles unsafe.Pointer) int32
 TEXT runtime·vdsoCall_zx_channel_call_noretry(SB),NOSPLIT,$8-44
 	GO_ARGS
@@ -1294,6 +1342,28 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
+// func vdsoCall_zx_task_create_exception_channel(handle uint32, options uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_task_create_exception_channel(SB),NOSPLIT,$8-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	get_tls(CX)
+	MOVQ g(CX), AX
+	MOVQ g_m(AX), R14
+	PUSHQ R14
+	MOVQ 24(SP), DX
+	MOVQ DX, m_vdsoPC(R14)
+	LEAQ 24(SP), DX
+	MOVQ DX, m_vdsoSP(R14)
+	MOVL handle+0(FP), DI
+	MOVL options+4(FP), SI
+	MOVQ out+8(FP), DX
+	MOVQ vdso_zx_task_create_exception_channel(SB), AX
+	CALL AX
+	MOVL AX, ret+16(FP)
+	POPQ R14
+	MOVQ $0, m_vdsoSP(R14)
+	RET
+
 // func vdsoCall_zx_task_kill(handle uint32) int32
 TEXT runtime·vdsoCall_zx_task_kill(SB),NOSPLIT,$8-12
 	GO_ARGS
@@ -1314,6 +1384,48 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
+// func vdsoCall_zx_exception_get_thread(handle uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_exception_get_thread(SB),NOSPLIT,$8-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	get_tls(CX)
+	MOVQ g(CX), AX
+	MOVQ g_m(AX), R14
+	PUSHQ R14
+	MOVQ 24(SP), DX
+	MOVQ DX, m_vdsoPC(R14)
+	LEAQ 24(SP), DX
+	MOVQ DX, m_vdsoSP(R14)
+	MOVL handle+0(FP), DI
+	MOVQ out+8(FP), SI
+	MOVQ vdso_zx_exception_get_thread(SB), AX
+	CALL AX
+	MOVL AX, ret+16(FP)
+	POPQ R14
+	MOVQ $0, m_vdsoSP(R14)
+	RET
+
+// func vdsoCall_zx_exception_get_process(handle uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_exception_get_process(SB),NOSPLIT,$8-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	get_tls(CX)
+	MOVQ g(CX), AX
+	MOVQ g_m(AX), R14
+	PUSHQ R14
+	MOVQ 24(SP), DX
+	MOVQ DX, m_vdsoPC(R14)
+	LEAQ 24(SP), DX
+	MOVQ DX, m_vdsoSP(R14)
+	MOVL handle+0(FP), DI
+	MOVQ out+8(FP), SI
+	MOVQ vdso_zx_exception_get_process(SB), AX
+	CALL AX
+	MOVL AX, ret+16(FP)
+	POPQ R14
+	MOVQ $0, m_vdsoSP(R14)
+	RET
+
 // func vdsoCall_zx_event_create(options uint32, out unsafe.Pointer) int32
 TEXT runtime·vdsoCall_zx_event_create(SB),NOSPLIT,$8-20
 	GO_ARGS
@@ -2100,7 +2212,7 @@
 	MOVQ $0, m_vdsoSP(R14)
 	RET
 
-// func vdsoCall_zx_profile_create(root_job uint32, profile unsafe.Pointer, out unsafe.Pointer) int32
+// func vdsoCall_zx_profile_create(root_job uint32, options uint32, profile unsafe.Pointer, out unsafe.Pointer) int32
 TEXT runtime·vdsoCall_zx_profile_create(SB),NOSPLIT,$8-28
 	GO_ARGS
 	NO_LOCAL_POINTERS
@@ -2113,8 +2225,9 @@
 	LEAQ 24(SP), DX
 	MOVQ DX, m_vdsoSP(R14)
 	MOVL root_job+0(FP), DI
-	MOVQ profile+8(FP), SI
-	MOVQ out+16(FP), DX
+	MOVL options+4(FP), SI
+	MOVQ profile+8(FP), DX
+	MOVQ out+16(FP), CX
 	MOVQ vdso_zx_profile_create(SB), AX
 	CALL AX
 	MOVL AX, ret+24(FP)
diff --git a/src/runtime/vdsocalls_fuchsia_arm64.s b/src/runtime/vdsocalls_fuchsia_arm64.s
index 2b8cd5e..8284c8a 100644
--- a/src/runtime/vdsocalls_fuchsia_arm64.s
+++ b/src/runtime/vdsocalls_fuchsia_arm64.s
@@ -10,8 +10,8 @@
 #include "textflag.h"
 #include "funcdata.h"
 
-// func vdsoCall_zx_clock_get(clock_id uint32) int64
-TEXT runtime·vdsoCall_zx_clock_get(SB),NOSPLIT,$0-16
+// func vdsoCall_zx_clock_get(clock_id uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_clock_get(SB),NOSPLIT,$0-20
 	GO_ARGS
 	NO_LOCAL_POINTERS
 	MOVD g_m(g), R21
@@ -19,8 +19,9 @@
 	MOVD RSP, R20
 	MOVD R20, m_vdsoSP(R21)
 	MOVW clock_id+0(FP), R0
+	MOVD out+8(FP), R1
 	BL vdso_zx_clock_get(SB)
-	MOVD R0, ret+8(FP)
+	MOVW R0, ret+16(FP)
 	MOVD g_m(g), R21
 	MOVD $0, m_vdsoSP(R21)
 	RET
@@ -70,7 +71,7 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
-// func vdsoCall_zx_ticks_get() uint64
+// func vdsoCall_zx_ticks_get() int64
 TEXT runtime·vdsoCall_zx_ticks_get(SB),NOSPLIT,$0-8
 	GO_ARGS
 	NO_LOCAL_POINTERS
@@ -84,7 +85,7 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
-// func vdsoCall_zx_ticks_per_second() uint64
+// func vdsoCall_zx_ticks_per_second() int64
 TEXT runtime·vdsoCall_zx_ticks_per_second(SB),NOSPLIT,$0-8
 	GO_ARGS
 	NO_LOCAL_POINTERS
@@ -204,6 +205,23 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
+// func vdsoCall_zx_system_get_event(root_job uint32, kind uint32, event unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_system_get_event(SB),NOSPLIT,$0-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	MOVD g_m(g), R21
+	MOVD LR, m_vdsoPC(R21)
+	MOVD RSP, R20
+	MOVD R20, m_vdsoSP(R21)
+	MOVW root_job+0(FP), R0
+	MOVW kind+4(FP), R1
+	MOVD event+8(FP), R2
+	BL vdso_zx_system_get_event(SB)
+	MOVW R0, ret+16(FP)
+	MOVD g_m(g), R21
+	MOVD $0, m_vdsoSP(R21)
+	RET
+
 // func vdsoCall_zx_cache_flush(addr unsafe.Pointer, size uint, options uint32) int32
 TEXT runtime·vdsoCall_zx_cache_flush(SB),NOSPLIT,$0-28
 	GO_ARGS
@@ -550,6 +568,26 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
+// func vdsoCall_zx_channel_write_etc(handle uint32, options uint32, bytes unsafe.Pointer, num_bytes uint32, handles unsafe.Pointer, num_handles uint32) int32
+TEXT runtime·vdsoCall_zx_channel_write_etc(SB),NOSPLIT,$0-44
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	MOVD g_m(g), R21
+	MOVD LR, m_vdsoPC(R21)
+	MOVD RSP, R20
+	MOVD R20, m_vdsoSP(R21)
+	MOVW handle+0(FP), R0
+	MOVW options+4(FP), R1
+	MOVD bytes+8(FP), R2
+	MOVW num_bytes+16(FP), R3
+	MOVD handles+24(FP), R4
+	MOVW num_handles+32(FP), R5
+	BL vdso_zx_channel_write_etc(SB)
+	MOVW R0, ret+40(FP)
+	MOVD g_m(g), R21
+	MOVD $0, m_vdsoSP(R21)
+	RET
+
 // func vdsoCall_zx_channel_call_noretry(handle uint32, options uint32, deadline int64, args unsafe.Pointer, actual_bytes unsafe.Pointer, actual_handles unsafe.Pointer) int32
 TEXT runtime·vdsoCall_zx_channel_call_noretry(SB),NOSPLIT,$0-44
 	GO_ARGS
@@ -995,6 +1033,23 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
+// func vdsoCall_zx_task_create_exception_channel(handle uint32, options uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_task_create_exception_channel(SB),NOSPLIT,$0-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	MOVD g_m(g), R21
+	MOVD LR, m_vdsoPC(R21)
+	MOVD RSP, R20
+	MOVD R20, m_vdsoSP(R21)
+	MOVW handle+0(FP), R0
+	MOVW options+4(FP), R1
+	MOVD out+8(FP), R2
+	BL vdso_zx_task_create_exception_channel(SB)
+	MOVW R0, ret+16(FP)
+	MOVD g_m(g), R21
+	MOVD $0, m_vdsoSP(R21)
+	RET
+
 // func vdsoCall_zx_task_kill(handle uint32) int32
 TEXT runtime·vdsoCall_zx_task_kill(SB),NOSPLIT,$0-12
 	GO_ARGS
@@ -1010,6 +1065,38 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
+// func vdsoCall_zx_exception_get_thread(handle uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_exception_get_thread(SB),NOSPLIT,$0-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	MOVD g_m(g), R21
+	MOVD LR, m_vdsoPC(R21)
+	MOVD RSP, R20
+	MOVD R20, m_vdsoSP(R21)
+	MOVW handle+0(FP), R0
+	MOVD out+8(FP), R1
+	BL vdso_zx_exception_get_thread(SB)
+	MOVW R0, ret+16(FP)
+	MOVD g_m(g), R21
+	MOVD $0, m_vdsoSP(R21)
+	RET
+
+// func vdsoCall_zx_exception_get_process(handle uint32, out unsafe.Pointer) int32
+TEXT runtime·vdsoCall_zx_exception_get_process(SB),NOSPLIT,$0-20
+	GO_ARGS
+	NO_LOCAL_POINTERS
+	MOVD g_m(g), R21
+	MOVD LR, m_vdsoPC(R21)
+	MOVD RSP, R20
+	MOVD R20, m_vdsoSP(R21)
+	MOVW handle+0(FP), R0
+	MOVD out+8(FP), R1
+	BL vdso_zx_exception_get_process(SB)
+	MOVW R0, ret+16(FP)
+	MOVD g_m(g), R21
+	MOVD $0, m_vdsoSP(R21)
+	RET
+
 // func vdsoCall_zx_event_create(options uint32, out unsafe.Pointer) int32
 TEXT runtime·vdsoCall_zx_event_create(SB),NOSPLIT,$0-20
 	GO_ARGS
@@ -1616,7 +1703,7 @@
 	MOVD $0, m_vdsoSP(R21)
 	RET
 
-// func vdsoCall_zx_profile_create(root_job uint32, profile unsafe.Pointer, out unsafe.Pointer) int32
+// func vdsoCall_zx_profile_create(root_job uint32, options uint32, profile unsafe.Pointer, out unsafe.Pointer) int32
 TEXT runtime·vdsoCall_zx_profile_create(SB),NOSPLIT,$0-28
 	GO_ARGS
 	NO_LOCAL_POINTERS
@@ -1625,8 +1712,9 @@
 	MOVD RSP, R20
 	MOVD R20, m_vdsoSP(R21)
 	MOVW root_job+0(FP), R0
-	MOVD profile+8(FP), R1
-	MOVD out+16(FP), R2
+	MOVW options+4(FP), R1
+	MOVD profile+8(FP), R2
+	MOVD out+16(FP), R3
 	BL vdso_zx_profile_create(SB)
 	MOVW R0, ret+24(FP)
 	MOVD g_m(g), R21
diff --git a/src/syscall/zx/syscalls_fuchsia.go b/src/syscall/zx/syscalls_fuchsia.go
index 264603d..227adbe 100644
--- a/src/syscall/zx/syscalls_fuchsia.go
+++ b/src/syscall/zx/syscalls_fuchsia.go
@@ -11,7 +11,7 @@
 
 //go:noescape
 //go:nosplit
-func Sys_clock_get(clock_id uint32) Time
+func Sys_clock_get(clock_id uint32, out *Time) Status
 
 //go:noescape
 //go:nosplit
@@ -27,11 +27,11 @@
 
 //go:noescape
 //go:nosplit
-func Sys_ticks_get() uint64
+func Sys_ticks_get() int64
 
 //go:noescape
 //go:nosplit
-func Sys_ticks_per_second() uint64
+func Sys_ticks_per_second() int64
 
 //go:noescape
 //go:nosplit
@@ -63,6 +63,10 @@
 
 //go:noescape
 //go:nosplit
+func Sys_system_get_event(root_job Handle, kind uint32, event *Handle) Status
+
+//go:noescape
+//go:nosplit
 func Sys_cache_flush(addr unsafe.Pointer, size uint, options uint32) Status
 
 //go:noescape
@@ -139,6 +143,10 @@
 
 //go:noescape
 //go:nosplit
+func Sys_channel_write_etc(handle Handle, options uint32, bytes unsafe.Pointer, num_bytes uint32, handles *HandleDisposition, num_handles uint32) Status
+
+//go:noescape
+//go:nosplit
 func Sys_channel_call_noretry(handle Handle, options uint32, deadline Time, args *ChannelCallArgs, actual_bytes *uint32, actual_handles *uint32) Status
 
 //go:noescape
@@ -195,10 +203,6 @@
 
 //go:noescape
 //go:nosplit
-func Sys_thread_set_priority(prio int32) Status
-
-//go:noescape
-//go:nosplit
 func Sys_process_exit(retcode int64)
 
 //go:noescape
@@ -243,10 +247,22 @@
 
 //go:noescape
 //go:nosplit
+func Sys_task_create_exception_channel(handle Handle, options uint32, out *Handle) Status
+
+//go:noescape
+//go:nosplit
 func Sys_task_kill(handle Handle) Status
 
 //go:noescape
 //go:nosplit
+func Sys_exception_get_thread(handle Handle, out *Handle) Status
+
+//go:noescape
+//go:nosplit
+func Sys_exception_get_process(handle Handle, out *Handle) Status
+
+//go:noescape
+//go:nosplit
 func Sys_event_create(options uint32, out *Handle) Status
 
 //go:noescape
@@ -387,7 +403,7 @@
 
 //go:noescape
 //go:nosplit
-func Sys_profile_create(root_job Handle, profile *int, out *Handle) Status
+func Sys_profile_create(root_job Handle, options uint32, profile *int, out *Handle) Status
 
 //go:noescape
 //go:nosplit
diff --git a/src/syscall/zx/syscalls_fuchsia_amd64.s b/src/syscall/zx/syscalls_fuchsia_amd64.s
index dbcd1dd..d039c0f 100644
--- a/src/syscall/zx/syscalls_fuchsia_amd64.s
+++ b/src/syscall/zx/syscalls_fuchsia_amd64.s
@@ -6,7 +6,7 @@
 // Generated by mkfuchsia.go, do not edit.
 
 #include "textflag.h"
-// func Sys_clock_get(clock_id uint32) Time
+// func Sys_clock_get(clock_id uint32, out *Time) Status
 TEXT ·Sys_clock_get(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_clock_get(SB)
 
@@ -22,11 +22,11 @@
 TEXT ·Sys_nanosleep(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_nanosleep(SB)
 
-// func Sys_ticks_get() uint64
+// func Sys_ticks_get() int64
 TEXT ·Sys_ticks_get(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_ticks_get(SB)
 
-// func Sys_ticks_per_second() uint64
+// func Sys_ticks_per_second() int64
 TEXT ·Sys_ticks_per_second(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_ticks_per_second(SB)
 
@@ -58,6 +58,10 @@
 TEXT ·sys_system_get_features(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_system_get_features(SB)
 
+// func Sys_system_get_event(root_job Handle, kind uint32, event *Handle) Status
+TEXT ·Sys_system_get_event(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_system_get_event(SB)
+
 // func Sys_cache_flush(addr unsafe.Pointer, size uint, options uint32) Status
 TEXT ·Sys_cache_flush(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_cache_flush(SB)
@@ -134,6 +138,10 @@
 TEXT ·sys_channel_write(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_channel_write(SB)
 
+// func Sys_channel_write_etc(handle Handle, options uint32, bytes unsafe.Pointer, num_bytes uint32, handles *HandleDisposition, num_handles uint32) Status
+TEXT ·Sys_channel_write_etc(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_channel_write_etc(SB)
+
 // func Sys_channel_call_noretry(handle Handle, options uint32, deadline Time, args *ChannelCallArgs, actual_bytes *uint32, actual_handles *uint32) Status
 TEXT ·Sys_channel_call_noretry(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_channel_call_noretry(SB)
@@ -234,10 +242,22 @@
 TEXT ·Sys_task_resume_from_exception(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_task_resume_from_exception(SB)
 
+// func Sys_task_create_exception_channel(handle Handle, options uint32, out *Handle) Status
+TEXT ·Sys_task_create_exception_channel(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_task_create_exception_channel(SB)
+
 // func Sys_task_kill(handle Handle) Status
 TEXT ·Sys_task_kill(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_task_kill(SB)
 
+// func Sys_exception_get_thread(handle Handle, out *Handle) Status
+TEXT ·Sys_exception_get_thread(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_exception_get_thread(SB)
+
+// func Sys_exception_get_process(handle Handle, out *Handle) Status
+TEXT ·Sys_exception_get_process(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_exception_get_process(SB)
+
 // func Sys_event_create(options uint32, out *Handle) Status
 TEXT ·Sys_event_create(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_event_create(SB)
@@ -378,7 +398,7 @@
 TEXT ·Sys_fifo_write(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_fifo_write(SB)
 
-// func Sys_profile_create(root_job Handle, profile *int, out *Handle) Status
+// func Sys_profile_create(root_job Handle, options uint32, profile *int, out *Handle) Status
 TEXT ·Sys_profile_create(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_profile_create(SB)
 
diff --git a/src/syscall/zx/syscalls_fuchsia_arm64.s b/src/syscall/zx/syscalls_fuchsia_arm64.s
index dbcd1dd..d039c0f 100644
--- a/src/syscall/zx/syscalls_fuchsia_arm64.s
+++ b/src/syscall/zx/syscalls_fuchsia_arm64.s
@@ -6,7 +6,7 @@
 // Generated by mkfuchsia.go, do not edit.
 
 #include "textflag.h"
-// func Sys_clock_get(clock_id uint32) Time
+// func Sys_clock_get(clock_id uint32, out *Time) Status
 TEXT ·Sys_clock_get(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_clock_get(SB)
 
@@ -22,11 +22,11 @@
 TEXT ·Sys_nanosleep(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_nanosleep(SB)
 
-// func Sys_ticks_get() uint64
+// func Sys_ticks_get() int64
 TEXT ·Sys_ticks_get(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_ticks_get(SB)
 
-// func Sys_ticks_per_second() uint64
+// func Sys_ticks_per_second() int64
 TEXT ·Sys_ticks_per_second(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_ticks_per_second(SB)
 
@@ -58,6 +58,10 @@
 TEXT ·sys_system_get_features(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_system_get_features(SB)
 
+// func Sys_system_get_event(root_job Handle, kind uint32, event *Handle) Status
+TEXT ·Sys_system_get_event(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_system_get_event(SB)
+
 // func Sys_cache_flush(addr unsafe.Pointer, size uint, options uint32) Status
 TEXT ·Sys_cache_flush(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_cache_flush(SB)
@@ -134,6 +138,10 @@
 TEXT ·sys_channel_write(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_channel_write(SB)
 
+// func Sys_channel_write_etc(handle Handle, options uint32, bytes unsafe.Pointer, num_bytes uint32, handles *HandleDisposition, num_handles uint32) Status
+TEXT ·Sys_channel_write_etc(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_channel_write_etc(SB)
+
 // func Sys_channel_call_noretry(handle Handle, options uint32, deadline Time, args *ChannelCallArgs, actual_bytes *uint32, actual_handles *uint32) Status
 TEXT ·Sys_channel_call_noretry(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_channel_call_noretry(SB)
@@ -234,10 +242,22 @@
 TEXT ·Sys_task_resume_from_exception(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_task_resume_from_exception(SB)
 
+// func Sys_task_create_exception_channel(handle Handle, options uint32, out *Handle) Status
+TEXT ·Sys_task_create_exception_channel(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_task_create_exception_channel(SB)
+
 // func Sys_task_kill(handle Handle) Status
 TEXT ·Sys_task_kill(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_task_kill(SB)
 
+// func Sys_exception_get_thread(handle Handle, out *Handle) Status
+TEXT ·Sys_exception_get_thread(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_exception_get_thread(SB)
+
+// func Sys_exception_get_process(handle Handle, out *Handle) Status
+TEXT ·Sys_exception_get_process(SB),NOSPLIT,$0
+	JMP runtime·vdsoCall_zx_exception_get_process(SB)
+
 // func Sys_event_create(options uint32, out *Handle) Status
 TEXT ·Sys_event_create(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_event_create(SB)
@@ -378,7 +398,7 @@
 TEXT ·Sys_fifo_write(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_fifo_write(SB)
 
-// func Sys_profile_create(root_job Handle, profile *int, out *Handle) Status
+// func Sys_profile_create(root_job Handle, options uint32, profile *int, out *Handle) Status
 TEXT ·Sys_profile_create(SB),NOSPLIT,$0
 	JMP runtime·vdsoCall_zx_profile_create(SB)