From 1e96f42c2a80ca99c202409683ba5bd755bf3d85 Mon Sep 17 00:00:00 2001
From: Tobias Klauser <tklauser@distanz.ch>
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 <paulzhol@gmail.com>
Reviewed-by: Dmitri Goutnik <dgoutnik@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
---
 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 c70f0bb0d3c..14373abd979 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 0100f4cd149..0f3912644b8 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
-- 
GitLab