deprecation of directive `//go:linkname`
florianl opened this issue · comments
Describe the bug
This package makes use of the directive //go:linkname
:
Lines 20 to 21 in 79b6759
With go.dev/issue/67401 an initiative was started to limited this directive. cilium/ebpf is already named as user of the runtime.getAuxv
.
I'm not sure if there will be an exception for the use of runtime.getAuxv
. Therefore an alternative approach should be investigated.
How to reproduce
The use of //go:linkname
was introduced with fbff7db.
I think it's really funny that x/sys/cpu gets to poke into the runtime just fine but we get put into the hall of shame xD Matter of fact is that auxv is useful on unix platforms, and the Go runtime doesn't give us access to it. Using the linkname is a lot better than the cruft we had before.
I'd be happy to migrate to some exported function if one existed (maybe via x/sys/unix?)
@florianl are you interested in opening an upstream proposal for this?
Proposal was created with golang/go#68089. Follow up in golang/go#67839.