Re: [PATCH v2 0/6] `RUSTC_VERSION` and re-config/re-build support on compiler change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 02, 2024 at 06:55:27PM +0200, Miguel Ojeda wrote:
> This series mainly adds support for `CONFIG_RUSTC_VERSION` (which is needed for
> other upcoming series) as well as support for rebuilding the kernel when the
> Rust compiler version text changes, plus other secondary improvements.
> 
> v1: https://lore.kernel.org/rust-for-linux/20240808221138.873750-1-ojeda@xxxxxxxxxx/
> v2:
> 
>   - Dropped patch #2 "kbuild: rust: make command for `RUSTC_VERSION_TEXT` closer
>     to the `CC` one" (Masahiro, Björn).
> 
>     In other words, now the `RUSTC_VERSION_TEXT` command is kept as it
>     was, without `LC_ALL=1` nor `| head -n1`.
> 
>   - Replaced `macros` crate dependency with a comment in the code that `fixdep`
>     will find, since we can do it for that one, unlike `core` (Masahiro,
>     Nicolas).
> 
>   - Added patch (here #5) to add a warning when the Rust compiler used to build
>     the kernel differs from the one used to build an out-of-tree module, like
>     the C side does (Nicolas).
> 
>     If the patch is not wanted, then it can be skipped without much loss, since
>     anyway Rust will fail to compile in that case. However, it would be nice to
>     have to prevent potentially unexpected situations and to clarify the errors
>     that `rustc` would emit later. See the commit message for more details.
> 
>   - Rewrapped comment to stay under 80 lines (Nicolas).
> 
>   - Picked up a couple tags that could more or less be reasonably taken given
>     the changes to v2. Re-runs of tests welcome!
> 
> Miguel Ojeda (6):
>   kbuild: rust: add `CONFIG_RUSTC_VERSION`
>   kbuild: rust: re-run Kconfig if the version text changes
>   kbuild: rust: rebuild if the version text changes
>   kbuild: rust: replace proc macros dependency on `core.o` with the
>     version text
>   kbuild: rust: warn if the out-of-tree compiler differs from the kernel
>     one
>   docs: rust: include other expressions in conditional compilation
>     section
> 
>  Documentation/rust/general-information.rst |  8 +++++++
>  Makefile                                   | 18 ++++++++++-----
>  init/Kconfig                               | 11 ++++++++-
>  rust/Makefile                              |  7 +++---
>  rust/macros/lib.rs                         |  4 ++++
>  scripts/rustc-version.sh                   | 26 ++++++++++++++++++++++
>  6 files changed, 64 insertions(+), 10 deletions(-)
>  create mode 100755 scripts/rustc-version.sh
> 
> 
> base-commit: a335e95914046c6bed45c0d17cabcd483682cf5e
> --
> 2.46.0
> 

the whole series looks good to me.  Thanks for the good explanations.

Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>

Kind regards,
Nicolas





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux