All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miguel Ojeda <ojeda@kernel.org>
To: Miguel Ojeda <ojeda@kernel.org>,
	Wedson Almeida Filho <wedsonaf@gmail.com>,
	Alex Gaynor <alex.gaynor@gmail.com>
Cc: "Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <benno.lossin@proton.me>,
	"Andreas Hindborg" <a.hindborg@samsung.com>,
	"Alice Ryhl" <aliceryhl@google.com>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	patches@lists.linux.dev
Subject: [PATCH 08/13] rust: work around `bindgen` 0.69.0 issue
Date: Mon,  1 Jul 2024 20:36:18 +0200	[thread overview]
Message-ID: <20240701183625.665574-9-ojeda@kernel.org> (raw)
In-Reply-To: <20240701183625.665574-1-ojeda@kernel.org>

`bindgen` 0.69.0 contains a bug: `--version` does not work without
providing a header [1]:

    error: the following required arguments were not provided:
      <HEADER>

    Usage: bindgen <FLAGS> <OPTIONS> <HEADER> -- <CLANG_ARGS>...

Thus, in preparation for supporting several `bindgen` versions, work
around the issue by passing a dummy argument.

Include a comment so that we can remove the workaround in the future.

Link: https://github.com/rust-lang/rust-bindgen/pull/2678 [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 init/Kconfig                 | 5 ++++-
 scripts/rust_is_available.sh | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index febdea2afc3b..94e20d3b99d4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1928,7 +1928,10 @@ config RUSTC_VERSION_TEXT
 config BINDGEN_VERSION_TEXT
 	string
 	depends on RUST
-	default $(shell,command -v $(BINDGEN) >/dev/null 2>&1 && $(BINDGEN) --version || echo n)
+	# The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0
+	# (https://github.com/rust-lang/rust-bindgen/pull/2678). It can be removed when
+	# the minimum version is upgraded past that (0.69.1 already fixed the issue).
+	default $(shell,command -v $(BINDGEN) >/dev/null 2>&1 && $(BINDGEN) --version workaround-for-0.69.0 || echo n)
 
 #
 # Place an empty function call at each tracepoint site. Can be
diff --git a/scripts/rust_is_available.sh b/scripts/rust_is_available.sh
index 33bbd01ffe51..cfda8157dce9 100755
--- a/scripts/rust_is_available.sh
+++ b/scripts/rust_is_available.sh
@@ -121,8 +121,12 @@ fi
 # Check that the Rust bindings generator is suitable.
 #
 # Non-stable and distributions' versions may have a version suffix, e.g. `-dev`.
+#
+# The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0
+# (https://github.com/rust-lang/rust-bindgen/pull/2678). It can be removed when
+# the minimum version is upgraded past that (0.69.1 already fixed the issue).
 rust_bindings_generator_output=$( \
-	LC_ALL=C "$BINDGEN" --version 2>/dev/null
+	LC_ALL=C "$BINDGEN" --version workaround-for-0.69.0 2>/dev/null
 ) || rust_bindings_generator_code=$?
 if [ -n "$rust_bindings_generator_code" ]; then
 	echo >&2 "***"
-- 
2.45.2


  parent reply	other threads:[~2024-07-01 18:37 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-01 18:36 [PATCH 00/13] Support several Rust toolchain versions Miguel Ojeda
2024-07-01 18:36 ` [PATCH 01/13] rust: macros: indent list item in `paste!`'s docs Miguel Ojeda
2024-07-01 19:59   ` Björn Roy Baron
2024-07-04 14:25   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 02/13] rust: init: simplify from `map_err` to `inspect_err` Miguel Ojeda
2024-07-01 20:05   ` Björn Roy Baron
2024-07-01 21:58     ` Miguel Ojeda
2024-07-02  6:28       ` Benno Lossin
2024-07-02 12:27       ` Alice Ryhl
2024-07-01 18:36 ` [PATCH 03/13] rust: allow `dead_code` for never constructed bindings Miguel Ojeda
2024-07-01 20:06   ` Björn Roy Baron
2024-07-04 14:30   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 04/13] rust: relax most deny-level lints to warnings Miguel Ojeda
2024-07-01 19:48   ` Björn Roy Baron
2024-07-01 21:58     ` Miguel Ojeda
2024-07-04 14:34   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 05/13] rust: simplify Clippy warning flags set Miguel Ojeda
2024-07-04 14:37   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 06/13] rust: start supporting several compiler versions Miguel Ojeda
     [not found]   ` <70F3F3DD-AAE6-445A-AC16-C71A06C4EA06@kloenk.dev>
2024-07-04 15:26     ` Miguel Ojeda
2024-07-01 18:36 ` [PATCH 07/13] rust: warn about `bindgen` versions 0.66.0 and 0.66.1 Miguel Ojeda
2024-07-04 14:47   ` Finn Behrens
2024-07-01 18:36 ` Miguel Ojeda [this message]
2024-07-04 14:51   ` [PATCH 08/13] rust: work around `bindgen` 0.69.0 issue Finn Behrens
2024-07-01 18:36 ` [PATCH 09/13] rust: avoid assuming a particular `bindgen` build Miguel Ojeda
2024-07-01 18:36 ` [PATCH 10/13] rust: start supporting several `bindgen` versions Miguel Ojeda
2024-07-01 18:36 ` [PATCH 11/13] kbuild: rust: add `rustc-version` support Miguel Ojeda
2024-07-04 15:05   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 12/13] rust: support the new `-Zub-checks` flag Miguel Ojeda
2024-07-04 15:07   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 13/13] docs: rust: quick-start: add section on Linux distributions Miguel Ojeda
2024-07-05  6:19   ` Andrea Righi
2024-07-05  6:46     ` Fabian Grünbichler
2024-07-05 12:52       ` Miguel Ojeda
2024-07-05 13:09         ` Fabian Grünbichler
2024-07-05 13:46           ` Miguel Ojeda
2024-07-05 10:50     ` Miguel Ojeda
2024-07-05 12:59       ` Andrea Righi
2024-07-02  6:25 ` [PATCH 00/13] Support several Rust toolchain versions Benno Lossin
2024-07-02  9:41   ` Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240701183625.665574-9-ojeda@kernel.org \
    --to=ojeda@kernel.org \
    --cc=a.hindborg@samsung.com \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=gary@garyguo.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=wedsonaf@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.