Re: [PATCH] rust: kbuild: Don't export __pfx symbols

From: Miguel Ojeda
Date: Tue Apr 08 2025 - 15:51:02 EST


On Wed, Mar 19, 2025 at 12:18 AM Sami Tolvanen <samitolvanen@xxxxxxxxxx> wrote:
>
> With CONFIG_PREFIX_SYMBOLS, objtool adds __pfx prefix symbols
> to claim the compiler emitted call padding bytes. When
> CONFIG_X86_KERNEL_IBT is not selected, the symbols are added to
> individual object files and for Rust objects, they end up being
> exported, resulting in warnings with CONFIG_GENDWARFKSYMS as the
> symbols have no debugging information:
>
> warning: gendwarfksyms: symbol_print_versions: no information for symbol __pfx_rust_helper_put_task_struct
> warning: gendwarfksyms: symbol_print_versions: no information for symbol __pfx_rust_helper_task_euid
> warning: gendwarfksyms: symbol_print_versions: no information for symbol __pfx_rust_helper_readq_relaxed
> ...
>
> Filter out the __pfx prefix from exported symbols similarly to
> the existing __cfi and __odr_asan prefixes.
>
> Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>

Applied to `rust-fixes` -- thanks everyone!

It also gets rid of a lot of `modpost` warnings too at link time.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: ac61506bf2d1 ("rust: Use gendwarfksyms + extended
modversions for CONFIG_MODVERSIONS")

Thanks!

Cheers,
Miguel