* [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds
@ 2026-05-13 11:24 Paul Chaignon
2026-05-13 15:20 ` Jakub Sitnicki
2026-05-14 4:23 ` sashiko-bot
0 siblings, 2 replies; 3+ messages in thread
From: Paul Chaignon @ 2026-05-13 11:24 UTC (permalink / raw)
To: bpf
Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Eduard Zingerman, Kumar Kartikeya Dwivedi, Alexis Lothoré,
Quentin Monnet
When running vmtest.sh with static linking, the bpftool_map_access
selftests fail. These selftests are calling the bpftool binary in
tools/sbin/ directly, which results in the following error:
error while loading shared libraries: libLLVM.so.21.1:
cannot open shared object file: No such file or directory
To fix this, we need to also build bpftool statically. That can be done
by setting EXTRA_LDFLAGS=-static.
Fixes: 2d96bbdfd3b5 ("selftests/bpf: convert test_bpftool_map_access.sh into test_progs framework")
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
---
tools/testing/selftests/bpf/README.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/README.rst b/tools/testing/selftests/bpf/README.rst
index 776fbe3cb8f9..37164322a102 100644
--- a/tools/testing/selftests/bpf/README.rst
+++ b/tools/testing/selftests/bpf/README.rst
@@ -77,7 +77,7 @@ In case of linker errors when running selftests, try using static linking:
.. code-block:: console
- $ LDLIBS=-static PKG_CONFIG='pkg-config --static' vmtest.sh
+ $ LDLIBS=-static EXTRA_LDFLAGS=-static PKG_CONFIG='pkg-config --static' vmtest.sh
.. note:: Some distros may not support static linking.
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds
2026-05-13 11:24 [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds Paul Chaignon
@ 2026-05-13 15:20 ` Jakub Sitnicki
2026-05-14 4:23 ` sashiko-bot
1 sibling, 0 replies; 3+ messages in thread
From: Jakub Sitnicki @ 2026-05-13 15:20 UTC (permalink / raw)
To: Paul Chaignon
Cc: bpf, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Eduard Zingerman, Kumar Kartikeya Dwivedi, Alexis Lothoré,
Quentin Monnet
On Wed, May 13, 2026 at 01:24:37PM +0200, Paul Chaignon wrote:
> When running vmtest.sh with static linking, the bpftool_map_access
> selftests fail. These selftests are calling the bpftool binary in
> tools/sbin/ directly, which results in the following error:
>
> error while loading shared libraries: libLLVM.so.21.1:
> cannot open shared object file: No such file or directory
>
> To fix this, we need to also build bpftool statically. That can be done
> by setting EXTRA_LDFLAGS=-static.
>
> Fixes: 2d96bbdfd3b5 ("selftests/bpf: convert test_bpftool_map_access.sh into test_progs framework")
> Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
> ---
That seems to do the trick.
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds
2026-05-13 11:24 [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds Paul Chaignon
2026-05-13 15:20 ` Jakub Sitnicki
@ 2026-05-14 4:23 ` sashiko-bot
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-05-14 4:23 UTC (permalink / raw)
To: Paul Chaignon; +Cc: bpf
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The suggested workaround `EXTRA_LDFLAGS=-static` in README.rst breaks the bpftool build or silently disables LLVM support.
--
commit dcbd0d5d7a0eb4a9300ad0890d83b7e4cdfd3aeb
Author: Paul Chaignon <paul.chaignon@gmail.com>
selftests/bpf: Override EXTRA_LDFLAGS for static builds
This commit updates the README.rst for BPF selftests to include
EXTRA_LDFLAGS=-static when recommending how to statically link,
in order to fix shared library loading errors with libLLVM.so
when running vmtest.sh.
> diff --git a/tools/testing/selftests/bpf/README.rst b/tools/testing/selftests/bpf/README.rst
> index 776fbe3cb8f9b..37164322a1023 100644
> --- a/tools/testing/selftests/bpf/README.rst
> +++ b/tools/testing/selftests/bpf/README.rst
> @@ -77,7 +77,7 @@ In case of linker errors when running selftests, try using static linking:
>
> .. code-block:: console
>
> - $ LDLIBS=-static PKG_CONFIG='pkg-config --static' vmtest.sh
> + $ LDLIBS=-static EXTRA_LDFLAGS=-static PKG_CONFIG='pkg-config --static' vmtest.sh
Can adding EXTRA_LDFLAGS=-static break the bpftool build or silently disable
LLVM support?
In the bpftool Makefile, LLVM's --system-libs and -lstdc++ are only appended
to LIBS if llvm-config --shared-mode outputs 'static'. However, the
feature-llvm test in tools/build/feature/Makefile unconditionally includes
--system-libs and uses g++, which automatically includes -lstdc++.
If a system has static LLVM libraries but llvm-config --shared-mode is set
to 'shared' (common on many distros), the feature-llvm test statically links
successfully, but bpftool's Makefile will attempt to build with LLVM support
using gcc -static while omitting --system-libs and -lstdc++. This can cause
the build to fail with undefined references.
Additionally, if static LLVM libraries are entirely absent, the feature test
fails, causing bpftool to silently build without LLVM support.
--
Sashiko AI review · https://sashiko.dev/#/patchset/714556da329c812988010ffe53173d9152570a78.1778669303.git.paul.chaignon@gmail.com?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-14 4:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-13 11:24 [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds Paul Chaignon
2026-05-13 15:20 ` Jakub Sitnicki
2026-05-14 4:23 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox