From 05487a4adc1bf25bbbab471c82ee0a58235384a1 Mon Sep 17 00:00:00 2001 From: librepower Date: Tue, 18 Aug 2026 01:31:25 +0200 Subject: [PATCH] unix: keep generated types compilable with current cgo Where struct fp_extended_precision is not declared, cgo -godefs now renders FpExtendedPrecision as _cgopackage.Incomplete, which does not compile. The files generated for those platforms carry an empty struct, so keep producing that. --- unix/mkpost.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/unix/mkpost.go b/unix/mkpost.go index 26ee5d215..226c7bff6 100644 --- a/unix/mkpost.go +++ b/unix/mkpost.go @@ -73,6 +73,13 @@ func main() { } if goos == "freebsd" { + // Where struct fp_extended_precision is not declared, cgo -godefs + // now renders FpExtendedPrecision as _cgopackage.Incomplete, which + // does not compile. The files generated for those platforms carry + // an empty struct, so keep producing that. + incompleteFpExtended := regexp.MustCompile(`type FpExtendedPrecision _cgopackage\.Incomplete`) + b = incompleteFpExtended.ReplaceAll(b, []byte("type FpExtendedPrecision struct{}")) + // Inside PtraceLwpInfoStruct replace __Siginfo with __PtraceSiginfo, // Create __PtraceSiginfo as a copy of __Siginfo where every *byte instance is replaced by uintptr ptraceLwpInfoStruct := regexp.MustCompile(`(?s:type PtraceLwpInfoStruct struct \{.*?\})`)