lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240902165535.1101978-1-ojeda@kernel.org>
Date: Mon,  2 Sep 2024 18:55:27 +0200
From: Miguel Ojeda <ojeda@...nel.org>
To: Miguel Ojeda <ojeda@...nel.org>,
	Alex Gaynor <alex.gaynor@...il.com>,
	Wedson Almeida Filho <wedsonaf@...il.com>,
	Masahiro Yamada <masahiroy@...nel.org>
Cc: Boqun Feng <boqun.feng@...il.com>,
	Gary Guo <gary@...yguo.net>,
	Björn Roy Baron <bjorn3_gh@...tonmail.com>,
	Benno Lossin <benno.lossin@...ton.me>,
	Andreas Hindborg <a.hindborg@...sung.com>,
	Alice Ryhl <aliceryhl@...gle.com>,
	rust-for-linux@...r.kernel.org,
	Nathan Chancellor <nathan@...nel.org>,
	Nicolas Schier <nicolas@...sle.eu>,
	linux-kbuild@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	patches@...ts.linux.dev
Subject: [PATCH v2 0/6] `RUSTC_VERSION` and re-config/re-build support on compiler change

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@kernel.org/
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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ