On Mon, Feb 02, 2026 at 10:20:15AM -0800, Josh Poimboeuf wrote:
> On Mon, Feb 02, 2026 at 10:19:33AM -0800, Josh Poimboeuf wrote:
> > On Mon, Feb 02, 2026 at 05:18:13PM +0100, Arnd Bergmann wrote:
> > > Hi,
> > >
> > > I see a new objtool related build failure on current linux-next
> > > with clang-21:
> > >
> > > samples/livepatch/livepatch-shadow-fix1.o: error: objtool: static_call:
> > > can't find static_call_key symbol: __SCK__WARN_trap
> > >
> > > I couldn't figure out what exactly is going on there, this seems fine
> > > with gcc, and so far only one of hundreds of configs has this issue.
> > >
> > > See the attachments for .config and the object file.
> >
> > Ah, this is CONFIG_MEM_ALLOC_PROFILING_DEBUG inserting a WARN() in the
> > sample livepatch module's memory allocation, triggering the following
> > warning (file->klp is true):
> >
> > if (!key_sym) {
> > if (!opts.module || file->klp) {
> > ERROR("static_call: can't find static_call_key
> > symbol: %s", tmp);
> > return -1;
> > }
> >
> >
> > So this is showing that the sample livepatch modules (which are built
> > differently from the new klp-build way of building livepatch modules)
> > will fail to build when trying to access a non-exported static key.
>
> Erm, non-exported static *call*.
So I think we can just remove that file->klp check. That check is
perhaps a bit too strict since it doesn't take into account livepatch
modules that were built without klp-build.
--
Josh