https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113143
--- Comment #9 from Alexander von Gluck <kallisti5 at unixzen dot com> --- Doing a little research, it looks like complaints of ucontext.h have come up before multiple times: Similar issue on OpenBSD a long time ago: https://gcc-help.gcc.gnu.narkive.com/Xx1bResV/can-t-build-go-support-in-gcc-4-8-1-on-openbsd muslc not supporting ucontext.h: https://wiki.musl-libc.org/open-issues (and a long list of google results) I guess the root questions of this bug are: 1. Should any and all references to ucontext.h be wrapped with a HAVE macro? (this seems to be what most folks do). Since (get/set/swap)context don't seem to be called on non-BSD platforms, this seems possible? 2. Should libgo double down and implement processor-specific calls for each architecture as called out by Ian in the above thread in 2013? "It's possible to fix this by writing processor-dependent functions that would serve the same purpose as the *context functions, and in fact that would be more efficient. But I have not actually done this." 3. Is the expectation that all platforms which libgo targets include ucontext.h compatibility libraries for calls no-longer standard in the posix specifications since 2008. (muslc pushed against this... i'd be interested if libgo compiles under musl systems)