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)

Reply via email to