runtime: populate signal PC on NetBSD

The NetBSD libc provides an architecture-independent macro that can
extract the PC from a ucontext struct.

Change-Id: I94534ee32d54bae4ead5cafc964bdace058a4322
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/261740
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Than McIntosh <thanm@google.com>
diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c
index b429fdb..d30d160 100644
--- a/libgo/runtime/go-signal.c
+++ b/libgo/runtime/go-signal.c
@@ -229,6 +229,8 @@
 	ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.jmp_context.iar;
 #elif defined(__aarch64__) && defined(__linux__)
 	ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.pc;
+#elif defined(__NetBSD__)
+	ret.sigpc = _UC_MACHINE_PC(((ucontext_t*)(context)));
 #endif
 
 	if (ret.sigpc == 0) {