Re: [PATCH] Kbuild: add RUSTC_BOOTSTRAP to rustc-option

From: Miguel Ojeda
Date: Tue Oct 08 2024 - 10:30:00 EST


On Tue, Oct 8, 2024 at 3:49 PM Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote:
>
> When using unstable features with the Rust compiler, you must either use
> a nightly compiler release or set the RUSTC_BOOTSTRAP environment
> variable. Otherwise, the compiler will emit a compiler error. This
> environment variable is missing when rustc-option is executed, so add
> the environment variable.

Yeah, `$(shell ...` does not pass the environment, so we need it.

> This change is necessary to avoid two kinds of problems:
>
> 1. When using rustc-option to test whether a -Z flag is available, the
> check will always fail, even if the flag is available.
> 2. If KBUILD_RUSTFLAGS happens to contain any -Z flags from the
> environment, even if unrelated to the flag being tested, then all
> invocations of rustc-option everywhere will fail.
>
> I was not actually able to trigger the second kind of problem with the
> makefiles that exist today, but it seems like it could easily start
> being a problem due to complicated interactions between changes. It is
> better to fix this now so it doesn't surprise us later.
>
> I added the flag under try-run as this seemed like the easiest way to
> make sure that the fix applies to all variations of rustc-option,
> including new ones added in the future.
>
> Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>

I think we need an `export` there.

I am also rechecking this, and I didn't get a reply from:

https://lore.kernel.org/rust-for-linux/CANiq72mv5E0PvZRW5eAEvqvqj74PH01hcRhLWTouB4z32jTeSA@xxxxxxxxxxxxxx/

And I forgot about it, which is my mistake too -- I still think we
need it (and we should not use `-o` either together with it, I think).

I can take a look...

Cheers,
Miguel