From 1e96f42c2a80ca99c202409683ba5bd755bf3d85 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Mon, 19 Sep 2022 10:52:27 +0200 Subject: [PATCH] syscall: drop compatibility for FreeBSD < 10.0 Change-Id: Idd8cee84215e61817a86915160c91242670798af Reviewed-on: https://go-review.googlesource.com/c/go/+/431663 Reviewed-by: Yuval Pavel Zholkover Reviewed-by: Dmitri Goutnik Reviewed-by: Cherry Mui Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot Auto-Submit: Tobias Klauser Run-TryBot: Tobias Klauser --- src/syscall/route_freebsd_32bit.go | 11 ++++------- src/syscall/syscall_freebsd.go | 16 +--------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/src/syscall/route_freebsd_32bit.go b/src/syscall/route_freebsd_32bit.go index c70f0bb0d3..14373abd97 100644 --- a/src/syscall/route_freebsd_32bit.go +++ b/src/syscall/route_freebsd_32bit.go @@ -22,12 +22,9 @@ func (any *anyMessage) parseInterfaceMessage(b []byte) *InterfaceMessage { // FreeBSD 10 and beyond have a restructured mbuf // packet header view. // See https://svnweb.freebsd.org/base?view=revision&revision=254804. - if supportsABI(1000000) { - m := (*ifMsghdr)(unsafe.Pointer(any)) - p.Header.Data.Hwassist = uint32(m.Data.Hwassist) - p.Header.Data.Epoch = m.Data.Epoch - p.Header.Data.Lastchange = m.Data.Lastchange - return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]} - } + m := (*ifMsghdr)(unsafe.Pointer(any)) + p.Header.Data.Hwassist = uint32(m.Data.Hwassist) + p.Header.Data.Epoch = m.Data.Epoch + p.Header.Data.Lastchange = m.Data.Lastchange return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]} } diff --git a/src/syscall/syscall_freebsd.go b/src/syscall/syscall_freebsd.go index 0100f4cd14..0f3912644b 100644 --- a/src/syscall/syscall_freebsd.go +++ b/src/syscall/syscall_freebsd.go @@ -12,27 +12,13 @@ package syscall -import ( - "sync" - "unsafe" -) +import "unsafe" func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) -// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. -var ( - osreldateOnce sync.Once - osreldate uint32 -) - -func supportsABI(ver uint32) bool { - osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) - return osreldate >= ver -} - type SockaddrDatalink struct { Len uint8 Family uint8 -- 2.48.1