https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535
--- Comment #33 from Ian Lance Taylor <ian at airs dot com> ---
> There are actually only 32 signals, however mksigtab.sh adds a signal at 0
> "SIGNONE: no trap", which makes 33 signals in sigtable. Freebsd sets _NSIG
> to 32 for 33 signals, counting from 0 vice 1. mksysinfo.sh pulls the value
> for _NSIG directly from signal.h. Seems the only way to fix is by modifying
> signal.h
32 signals implies signal numbers 0 to 31. The error says that len(sigtable)
is 33, implying that mksigtab.sh found signal 32 somewhere. Where did that
come from?
(Changing signal.h is not going to be the right approach.)
> BTW, removing the "_thread" definition results in the following.
>
> runtime_sysinfo.go:516:36: error: use of undefined type '_thread'
> 516 | type _cv_waitq struct { tqh_first *_thread; tqh_last **_thread; }
> | ^
>
> However, I don't see any other references to "__cv_waitq" in the code.
Add it to the fgrep -v in mkrsysinfo.sh. The names like _thread and _cv_waitq
are coming from system header files, not from Go code.