https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535
--- Comment #32 from Curtis Hamilton <clhamilto at gmail dot com> --- (In reply to Ian Lance Taylor from comment #31) > > runtime: len(sigtable)=33 _NSIG=32 > > fatal error: bad sigtable len > > This error means that the sigtable generated by mksigtab.sh does not match > the value of _NSIG in the file generated by mksysinfo.sh. You'll need to > figure out why there is a discrepancy and resolve it. 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 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.