Go version
go version go1.21.6 linux/amd64
Output of go env
in your module/workspace:
GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/alonzivony/.cache/go-build'
GOENV='/home/alonzivony/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/alonzivony/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/alonzivony/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.21.6'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/home/alonzivony/go/src/tracee/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 -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1454173317=/tmp/go-build -gno-record-gcc-switches'
What did you do?
Just missing a single const value in exported consts.
You can find its declaration in the tools/perf/util/symbol-elf.c
file in the kernel source code:
#ifndef STT_GNU_IFUNC
#define STT_GNU_IFUNC 10
#endif
I think this is the only value missing from the type consts from my check on the source code of kernel 6.3.6, but there are multiple kernels out already since then so maybe more through search is required.
What did you see happen?
Have no const
What did you expect to see?
Const exist
Comment From: gopherbot
Change https://go.dev/cl/578995 mentions this issue: debug/elf: define non-standard but well-known symbol types