Go version

go version go1.22.1 darwin/arm64

Output of go env in your module/workspace:

GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/garret.kelly/Library/Caches/go-build'
GOENV='/Users/garret.kelly/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/garret.kelly/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/garret.kelly/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/homebrew/Cellar/go/1.22.1/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/homebrew/Cellar/go/1.22.1/libexec/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.22.1'
GCCGO='gccgo'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/Users/garret.kelly/p/sys/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/96/hm0kmdxj4sg3591l1vqq7x1c0000gn/T/go-build436974620=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?

I upgraded a golang.org/x/sys dependency to v0.23.0 (the latest as of this writing), and found that one of our internal packages no longer builds due this commit https://github.com/golang/sys/commit/31ef9e726f987c593d73c3c35ca1c7477cf0e480#diff-c5a31fa49f385decaee6af20c180aa8ba237891920254e621e69e5e78655b1f1L945 removing the ETHTOOL_FLAG_COMPACT_BITSETS, ETHTOOL_FLAG_OMIT_REPLY, and ETHTOOL_FLAG_STATS constants.

I suspect this was caused by https://github.com/torvalds/linux/commit/ff8877b04ef282b2bdb16c9dccc2e42216a34f62, which turned those #defines into enums and go merged into the kernel v6.10 release.

What did you see happen?

Compilation failed due to missing symbol.

What did you expect to see?

Compilation succeed.

Comment From: gabyhelp

Related Issues and Documentation

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Comment From: gkelly

During the review https://go-review.googlesource.com/c/sys/+/600516, the removal of these flags was called out. While it's true the #defines are removed, they're replaced with an enum and variants to replaces these removed #defines.

Comment From: thediveo

dup of issue #68761 ?

Comment From: ianlancetaylor

Yes, closing as dup. Thanks.