From: Paul Chaignon <paul.chaignon@gmail.com>
To: sashiko-reviews@lists.linux.dev
Cc: bpf@vger.kernel.org
Subject: Re: [PATCH bpf-next] selftests/bpf: Override EXTRA_LDFLAGS for static builds
Date: Mon, 18 May 2026 20:49:31 +0200 [thread overview]
Message-ID: <agtfO9lHdKdP92Mo@mail.gmail.com> (raw)
In-Reply-To: <20260514042304.EF3ECC2BCB7@smtp.kernel.org>
On Thu, May 14, 2026 at 04:23:04AM +0000, sashiko-bot@kernel.org wrote:
> 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.
I'm not sure I'm following this, but I have static LLVM libraries with
llvm-config --shared-mode set to "shared" and everything seems to build
fine.
>
> 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
next prev parent reply other threads:[~2026-05-18 18:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
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
2026-05-18 18:49 ` Paul Chaignon [this message]
2026-05-19 2:10 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=agtfO9lHdKdP92Mo@mail.gmail.com \
--to=paul.chaignon@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.