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.