https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113143
--- Comment #6 from Alexander von Gluck <kallisti5 at unixzen dot com> --- For added clairity. Searching the upstream go sources: ``` grep -R getcontext src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd.go:// getcontext src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/cmd/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/runtime/cgo/gcc_solaris_amd64.c: if (getcontext(&ctx) != 0) src/runtime/cgo/gcc_solaris_amd64.c: perror("runtime/cgo: getcontext failed"); src/runtime/os3_solaris.go://go:cgo_import_dynamic libc_getcontext getcontext "libc.so" src/runtime/os3_solaris.go://go:linkname libc_getcontext libc_getcontext src/runtime/os3_solaris.go: libc_getcontext, src/runtime/os3_solaris.go:func getcontext(context *ucontext) /* int32 */ { src/runtime/os3_solaris.go: sysvicall1(&libc_getcontext, uintptr(unsafe.Pointer(context))) src/runtime/os_netbsd.go:func getcontext(ctxt unsafe.Pointer) src/runtime/os_netbsd.go: getcontext(unsafe.Pointer(&uc)) src/runtime/sys_netbsd_386.s:#define SYS_getcontext 307 src/runtime/sys_netbsd_386.s:TEXT runtime·getcontext(SB),NOSPLIT,$-4 src/runtime/sys_netbsd_386.s: MOVL $SYS_getcontext, AX src/runtime/sys_netbsd_amd64.s:#define SYS_getcontext 307 src/runtime/sys_netbsd_amd64.s:TEXT runtime·getcontext(SB),NOSPLIT,$-8 src/runtime/sys_netbsd_amd64.s: MOVL $SYS_getcontext, AX src/runtime/sys_netbsd_arm.s:#define SYS_getcontext SWI_OS_NETBSD | 307 src/runtime/sys_netbsd_arm.s:TEXT runtime·getcontext(SB),NOSPLIT|NOFRAME,$0 src/runtime/sys_netbsd_arm.s: SWI $SYS_getcontext src/runtime/sys_netbsd_arm64.s:#define SYS_getcontext 307 src/runtime/sys_netbsd_arm64.s:TEXT runtime·getcontext(SB),NOSPLIT,$-8 src/runtime/sys_netbsd_arm64.s: SVC $SYS_getcontext src/syscall/zsysnum_freebsd_386.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_freebsd_amd64.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_freebsd_arm.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_freebsd_arm64.go: SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_netbsd_386.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_netbsd_amd64.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_netbsd_arm.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } src/syscall/zsysnum_netbsd_arm64.go: SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } ``` Those all appear to be BSD-specific references, unless i'm missing an invocation of (get|set|swap)context somewhere?