[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260129223528.GA844102@ax162>
Date: Thu, 29 Jan 2026 15:35:28 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Asuna Yang <xinrui.riscv@...c.iscas.ac.cn>
Cc: Nicolas Schier <nsc@...nel.org>, Miguel Ojeda <ojeda@...nel.org>,
Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>,
Danilo Krummrich <dakr@...nel.org>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>,
Paul Walmsley <pjw@...nel.org>, Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>,
Jonathan Corbet <corbet@....net>, Conor Dooley <conor@...nel.org>,
Mingcong Bai <jeffbai@...c.io>, Han Gao <rabenda.cn@...il.com>,
Vivian Wang <wangruikang@...as.ac.cn>,
Jason Montleon <jmontleo@...hat.com>, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org, rust-for-linux@...r.kernel.org,
llvm@...ts.linux.dev, linux-riscv@...ts.infradead.org,
linux-doc@...r.kernel.org
Subject: Re: [PATCH v6 1/4] rust: export BINDGEN_TARGET from a separate
Makefile
On Tue, Dec 30, 2025 at 05:47:54PM +0100, Asuna Yang wrote:
> A subsequent commit will add a new function `bindgen-option` to
> `scripts/Kconfig.include`. The bindgen backend requires the `--target`
> option for cross compiling, but variable `BINDGEN_TARGET` in
> `rust/Makefile` cannot be exported to `scripts/Kconfig.include`.
>
> Therefore, move this variable to a separate new `Makefile.rust` file and
> include it from `scripts/Makefile` to make the exported variable
> available for use in Kconfig. Place the include in the `need-compiler`
> branch to avoid including it in irrelevant make targets.
>
> Since the new file name is `Makefile.rust`, it matches an existing
> MAINTAINERS rule `scripts/*rust*`, so no modification to the MAINTAINERS
> file is needed.
>
> Signed-off-by: Asuna Yang <xinrui.riscv@...c.iscas.ac.cn>
Acked-by: Nathan Chancellor <nathan@...nel.org>
> ---
> Makefile | 3 ++-
> rust/Makefile | 8 --------
> scripts/Makefile.rust | 9 +++++++++
> 3 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 27ce077520fe..9754d7add947 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -718,9 +718,10 @@ ifneq ($(findstring clang,$(CC_VERSION_TEXT)),)
> include $(srctree)/scripts/Makefile.clang
> endif
>
> +ifdef need-compiler
> +include $(srctree)/scripts/Makefile.rust
> # Include this also for config targets because some architectures need
> # cc-cross-prefix to determine CROSS_COMPILE.
> -ifdef need-compiler
> include $(srctree)/scripts/Makefile.compiler
Not that it is a big deal but it would make the diff simpler if the Rust
makefile was added after the compiler one, both for alphabetical reasons
and it would not necessitate moving the comment (even if it mostly
applies just to the compiler include).
> endif
>
> diff --git a/rust/Makefile b/rust/Makefile
> index 5d357dce1704..2603b34f9833 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -385,14 +385,6 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
> -fzero-init-padding-bits=% -mno-fdpic \
> --param=% --param asan-% -fno-isolate-erroneous-paths-dereference
>
> -# Derived from `scripts/Makefile.clang`.
> -BINDGEN_TARGET_x86 := x86_64-linux-gnu
> -BINDGEN_TARGET_arm64 := aarch64-linux-gnu
> -BINDGEN_TARGET_arm := arm-linux-gnueabi
> -BINDGEN_TARGET_loongarch := loongarch64-linux-gnusf
> -BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))
> -BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH))
> -
> # All warnings are inhibited since GCC builds are very experimental,
> # many GCC warnings are not supported by Clang, they may only appear in
> # some configurations, with new GCC versions, etc.
> diff --git a/scripts/Makefile.rust b/scripts/Makefile.rust
> new file mode 100644
> index 000000000000..5c12b4b8c8b6
> --- /dev/null
> +++ b/scripts/Makefile.rust
> @@ -0,0 +1,9 @@
> +# Derived from `scripts/Makefile.clang`.
> +BINDGEN_TARGET_x86 := x86_64-linux-gnu
> +BINDGEN_TARGET_arm64 := aarch64-linux-gnu
> +BINDGEN_TARGET_arm := arm-linux-gnueabi
> +BINDGEN_TARGET_loongarch := loongarch64-linux-gnusf
> +BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))
> +BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH))
> +
> +export BINDGEN_TARGET
>
> --
> 2.51.1
>
Powered by blists - more mailing lists