diff --git a/unix/mkpost.go b/unix/mkpost.go index 4dc06923..6d263cf1 100644 --- a/unix/mkpost.go +++ b/unix/mkpost.go @@ -46,6 +46,10 @@ func main() { valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`) b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}")) + // Intentionally export __fds_bits field in FdSet + fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`) + b = fdSetRegex.ReplaceAll(b, []byte("type $1 struct {${2}Bits$3}")) + // If we have empty Ptrace structs, we should delete them. Only s390x emits // nonempty Ptrace structs. ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`) diff --git a/unix/ztypes_freebsd_386.go b/unix/ztypes_freebsd_386.go index 28ef5242..c146c1ad 100644 --- a/unix/ztypes_freebsd_386.go +++ b/unix/ztypes_freebsd_386.go @@ -339,7 +339,7 @@ type Kevent_t struct { } type FdSet struct { - _ [32]uint32 + Bits [32]uint32 } const ( diff --git a/unix/ztypes_freebsd_amd64.go b/unix/ztypes_freebsd_amd64.go index e2d984a4..ac33a8dd 100644 --- a/unix/ztypes_freebsd_amd64.go +++ b/unix/ztypes_freebsd_amd64.go @@ -337,7 +337,7 @@ type Kevent_t struct { } type FdSet struct { - _ [16]uint64 + Bits [16]uint64 } const ( diff --git a/unix/ztypes_freebsd_arm.go b/unix/ztypes_freebsd_arm.go index 9b415aba..e27511a6 100644 --- a/unix/ztypes_freebsd_arm.go +++ b/unix/ztypes_freebsd_arm.go @@ -337,7 +337,7 @@ type Kevent_t struct { } type FdSet struct { - _ [32]uint32 + Bits [32]uint32 } const (