From f300fc2d2c620feac4e7f9b6cf0125b92943d3c4 Mon Sep 17 00:00:00 2001 From: Benny Siegert Date: Thu, 6 Jan 2022 11:27:57 +0000 Subject: [PATCH] runtime: crash on netbsd-arm64 when setcontext fails Instead of exiting with status 16962 when we fail to call SYS_setcontext in sigreturn, reference a null pointer and crash. Hopefully, this will enable grabbing a core dump to debug. Updates #42422 Change-Id: If02c14a0a37084351f3f00db3dc9766cb68ae4b8 Reviewed-on: https://go-review.googlesource.com/c/go/+/375834 Reviewed-by: Tobias Klauser Trust: Tobias Klauser Trust: Benny Siegert --- src/runtime/sys_netbsd_arm64.s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/sys_netbsd_arm64.s b/src/runtime/sys_netbsd_arm64.s index 2d0b894d47f6f2..8a0496e80722e3 100644 --- a/src/runtime/sys_netbsd_arm64.s +++ b/src/runtime/sys_netbsd_arm64.s @@ -279,8 +279,8 @@ fail: TEXT sigreturn_tramp<>(SB),NOSPLIT,$-8 MOVD g, R0 SVC $SYS_setcontext - MOVD $0x4242, R0 // Something failed, return magic number - SVC $SYS_exit + MOVD $0, R0 + MOVD R0, (R0) // crash TEXT runtime·sigaction(SB),NOSPLIT,$-8 MOVW sig+0(FP), R0 // arg 1 - signum