Re: [PATCH v2 0/3] Inline helpers into Rust without full LTO
From: David Gow
Date: Thu Mar 26 2026 - 01:41:13 EST
Le 23/03/2026 à 3:21 AM, Miguel Ojeda a écrit :
On Tue, 03 Feb 2026 11:34:07 +0000 Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote:I'm quite happy personally to just have -Wno-unused-command-line-argument here, given that it otherwise is working pretty well on UML and 32-bit UML.
To get rid of these helper symbols, provide functionality to inline
helpers into Rust using llvm-link. This option complements full LTO, by
being much cheaper and avoiding incompatibility with BTF.
I have been testing this. I think we can go ahead with it, with a few
notes.
I will reply to a couple other bindings in separate emails to avoid
spamming people too much.
- I will mark the Kconfig option as "(EXPERIMENTAL)", since that is
what the commit message says and it allows us to be a bit
conservative.
- Clang passes `-Werror=unused-command-line-argument`, which means
under arm (i.e. 32-bit) we get:
clang: error: argument unused during compilation: '-U arm' [-Werror,-Wunused-command-line-argument]
And under UML I see:
clang: error: argument unused during compilation: '-I ./arch/um/include/shared' [-Werror,-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-I ./arch/x86/um/shared' [-Werror,-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-I ./arch/um/include/shared/skas' [-Werror,-Wunused-command-line-argument]
So we would need e.g. `-Wno-unused-command-line-argument` there
close to the `-Wno-override-module` one, unless Kbuild or
ClangBuiltLinux thinks it is important to keep it for this case.
On the other hand, regardless of whether we fix this (and another
issue in a separate email found thanks to the UML build), we could
instead add `depends on` listing explicitly the architectures where
this is going to be actually tested. That way maintainers can decide
whether they want to support it when they are ready. Thoughts?
Cc'ing Nathan, Nicolas, Nick, Bill, Justin, David, UML, ARM.
That being said, I expect it won't get a lot of testing (regardless of architecture) while it's hidden behind CONFIG_EXPERT.
Cheers,
-- David