aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorNikhil Benesch <nikhil.benesch@gmail.com>2020-10-13 06:51:30 +0000
committerIan Lance Taylor <iant@golang.org>2020-10-13 22:21:53 -0700
commit7e5aeda340d71a84fbd15504e848a949b2a00d5a (patch)
tree20a7a0b1a241d3b612d36792032e91faf7f442a4 /libgo
parent7355c1df55e28f3298b14a621968f9a27fdcd2bf (diff)
downloadgcc-7e5aeda340d71a84fbd15504e848a949b2a00d5a.zip
gcc-7e5aeda340d71a84fbd15504e848a949b2a00d5a.tar.gz
gcc-7e5aeda340d71a84fbd15504e848a949b2a00d5a.tar.bz2
runtime: populate signal PC on NetBSD
The NetBSD libc provides an architecture-independent macro that can extract the PC from a ucontext struct. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/261740
Diffstat (limited to 'libgo')
-rw-r--r--libgo/runtime/go-signal.c2
1 files changed, 2 insertions, 0 deletions
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 @@ getSiginfo(siginfo_t *info, void *context __attribute__((unused)))
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) {