Skip to content

feat(linux): statically link libpcap and add amd64 eBPF kprobe support - #14

Merged
boyvinall merged 1 commit into
mainfrom
build-linux
Sep 8, 2026
Merged

feat(linux): statically link libpcap and add amd64 eBPF kprobe support#14
boyvinall merged 1 commit into
mainfrom
build-linux

Conversation

@boyvinall

Copy link
Copy Markdown
Owner

Release Linux binaries now build inside a musl/Alpine container with libpcap linked in statically (plus netgo for a pure-Go resolver), so released binaries carry no glibc symbol-versioning floor and no libpcap.so runtime dependency. This replaces pcapdrv_linux.go's dlopen-based loader, which existed only to make a missing runtime libpcap fail cleanly -- no longer needed once libpcap is statically linked.

procinfo/bpf/kprobe gains a real amd64 vmlinux.h alongside the existing arm64 one, so the kprobe/kretprobe eBPF fallback (used when a kernel lacks BTF fentry/fexit support) now works on amd64 too, not just arm64.

Release Linux binaries now build inside a musl/Alpine container with
libpcap linked in statically (plus netgo for a pure-Go resolver), so
released binaries carry no glibc symbol-versioning floor and no
libpcap.so runtime dependency. This replaces pcapdrv_linux.go's
dlopen-based loader, which existed only to make a missing runtime
libpcap fail cleanly -- no longer needed once libpcap is statically
linked.

procinfo/bpf/kprobe gains a real amd64 vmlinux.h alongside the
existing arm64 one, so the kprobe/kretprobe eBPF fallback (used when a
kernel lacks BTF fentry/fexit support) now works on amd64 too, not
just arm64.
@boyvinall
boyvinall enabled auto-merge (squash) September 8, 2026 21:02
@boyvinall
boyvinall merged commit f8db8bf into main Sep 8, 2026
3 checks passed
@boyvinall
boyvinall deleted the build-linux branch September 8, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant