Re: [PATCH v3] kbuild: rust: add PROCMACROLDFLAGS

From: Alice Ryhl
Date: Wed Nov 13 2024 - 08:34:55 EST


On Tue, Nov 12, 2024 at 7:45 PM Miguel Ojeda <ojeda@xxxxxxxxxx> wrote:
>
> From: HONG Yifan <elsk@xxxxxxxxxx>
>
> These are flags to be passed when linking proc macros for the Rust
> toolchain. If unset, it defaults to $(KBUILD_HOSTLDFLAGS).
>
> This is needed because the list of flags to link hostprogs is not
> necessarily the same as the list of flags used to link libmacros.so.
> When we build proc macros, we need the latter, not the former (e.g. when
> using a Rust compiler binary linked to a different C library than host
> programs).
>
> To distinguish between the two, introduce this new variable to stand
> out from KBUILD_HOSTLDFLAGS used to link other host progs.
>
> Signed-off-by: HONG Yifan <elsk@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20241017210430.2401398-2-elsk@xxxxxxxxxx
> [ v3:
>
> - `export`ed the variable. Otherwise it would not be visible in
> `rust/Makefile`.

Despite the missing export, the previous version worked for us too.
I'm not sure why that is.

> - Removed "additional" from the documentation and commit message,
> since this actually replaces the other flags, unlike other cases.
>
> - Added example of use case to documentation and commit message.
> Thanks Alice for the details on what Google needs!
>
> - Instead of `HOSTLDFLAGS`, used `KBUILD_HOSTLDFLAGS` as the fallback
> to preserve the previous behavior as much as possible, as discussed
> with Alice/Yifan. Thus moved the variable down too (currently we
> do not modify `KBUILD_HOSTLDFLAGS` elsewhere) and avoided
> mentioning `HOSTLDFLAGS` directly in the documentation.
>
> - Fixed documentation header formatting.
>
> - Reworded slightly.
>
> - Miguel ]
> Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>

Tested-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>