public inbox for linux-doc@vger.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Asuna Yang <xinrui.riscv@isrc.iscas.ac.cn>
Cc: "Nicolas Schier" <nsc@kernel.org>,
	"Miguel Ojeda" <ojeda@kernel.org>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <lossin@kernel.org>,
	"Andreas Hindborg" <a.hindborg@kernel.org>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Trevor Gross" <tmgross@umich.edu>,
	"Danilo Krummrich" <dakr@kernel.org>,
	"Nick Desaulniers" <nick.desaulniers+lkml@gmail.com>,
	"Bill Wendling" <morbo@google.com>,
	"Justin Stitt" <justinstitt@google.com>,
	"Paul Walmsley" <pjw@kernel.org>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Alexandre Ghiti" <alex@ghiti.fr>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Conor Dooley" <conor@kernel.org>,
	"Mingcong Bai" <jeffbai@aosc.io>,
	"Han Gao" <rabenda.cn@gmail.com>,
	"Vivian Wang" <wangruikang@iscas.ac.cn>,
	"Jason Montleon" <jmontleo@redhat.com>,
	linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
	rust-for-linux@vger.kernel.org, llvm@lists.linux.dev,
	linux-riscv@lists.infradead.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH v6 2/4] rust: generate a fatal error if BINDGEN_TARGET is undefined
Date: Thu, 29 Jan 2026 15:40:29 -0700	[thread overview]
Message-ID: <20260129224029.GB844102@ax162> (raw)
In-Reply-To: <20251230-gcc-rust-v5-v6-2-2ac86ba728c8@isrc.iscas.ac.cn>

On Tue, Dec 30, 2025 at 05:47:55PM +0100, Asuna Yang wrote:
> Generate a friendly fatal error if the target triplet is undefined for
> bindgen, rather than having the compiler generate obscure error messages
> during the build stage.
> 
> `BINDGEN_TARGET` is actually defined in `scripts/Makefile.rust`, but the
> file is included regardless of whether Rust is enabled, so perform this
> check in `rust/Makefile` to avoid breaking targets that do not yet
> support Rust builds.
> 
> This piece of code is copied from `scripts/Makefile.clang`.
> 
> Before this commit, error messages might look like:
> 
> error: unknown argument: '-mno-riscv-attribute'
> error: unsupported argument 'medany' to option '-mcmodel=' for target
> 'unknown'
> error: unsupported option '-march=' for target ''
> error: unsupported option '-mno-save-restore' for target ''
> error: unknown target triple 'unknown'
> panicked at bindgen/ir/context.rs:562:15:
> libclang error; possible causes include:
> - Invalid flag syntax
> - Unrecognized flags
> - Invalid flag arguments
> - File I/O errors
> - Host vs. target architecture mismatch
> 
> Acked-by: Miguel Ojeda <ojeda@kernel.org>
> Signed-off-by: Asuna Yang <xinrui.riscv@isrc.iscas.ac.cn>
> ---
>  rust/Makefile | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/rust/Makefile b/rust/Makefile
> index 2603b34f9833..37b4205afb70 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -385,6 +385,12 @@ 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
>  
> +# Because scripts/Makefile.rust is included regardless of whether Rust is enabled,
> +# we perform this check here to avoid breaking targets that do not yet support Rust builds.

This might read a little better if it were

  scripts/Makefile.rust is included ..., so we perform ...

instead of

  Because ..., we perform ...

or at the very least reversing the phrases

  We perform ... because ...

But that could just be personal preference.

> +ifeq ($(BINDGEN_TARGET),)
> +$(error add '--target=' option to scripts/Makefile.rust)
> +endif
> +
>  # 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.
> 
> -- 
> 2.51.1
> 

  reply	other threads:[~2026-01-29 22:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-30 16:47 [PATCH v6 0/4] RISC-V: re-enable gcc + rust builds Asuna Yang
2025-12-30 16:47 ` [PATCH v6 1/4] rust: export BINDGEN_TARGET from a separate Makefile Asuna Yang
2026-01-29 22:35   ` Nathan Chancellor
2025-12-30 16:47 ` [PATCH v6 2/4] rust: generate a fatal error if BINDGEN_TARGET is undefined Asuna Yang
2026-01-29 22:40   ` Nathan Chancellor [this message]
2026-02-06 12:41     ` Asuna Yang
2025-12-30 16:47 ` [PATCH v6 3/4] rust: add a Kconfig function to test for support of bindgen options Asuna Yang
2026-01-29 22:41   ` Nathan Chancellor
2025-12-30 16:47 ` [PATCH v6 4/4] RISC-V: handle extension configs for bindgen, re-enable gcc + rust builds Asuna Yang
2026-01-29 13:49   ` Charalampos Mitrodimas
2026-01-29 23:25     ` Nathan Chancellor
2026-02-06 12:13     ` Asuna Yang
2026-02-06 12:24       ` Charalampos Mitrodimas
2025-12-30 16:58 ` [PATCH v6 0/4] RISC-V: " Asuna Yang
2026-01-22  7:20 ` Asuna Yang
2026-01-24  7:47   ` Paul Walmsley
2026-01-29  9:30     ` Conor Dooley

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=20260129224029.GB844102@ax162 \
    --to=nathan@kernel.org \
    --cc=a.hindborg@kernel.org \
    --cc=alex@ghiti.fr \
    --cc=aliceryhl@google.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=conor@kernel.org \
    --cc=corbet@lwn.net \
    --cc=dakr@kernel.org \
    --cc=gary@garyguo.net \
    --cc=jeffbai@aosc.io \
    --cc=jmontleo@redhat.com \
    --cc=justinstitt@google.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=llvm@lists.linux.dev \
    --cc=lossin@kernel.org \
    --cc=morbo@google.com \
    --cc=nick.desaulniers+lkml@gmail.com \
    --cc=nsc@kernel.org \
    --cc=ojeda@kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=pjw@kernel.org \
    --cc=rabenda.cn@gmail.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tmgross@umich.edu \
    --cc=wangruikang@iscas.ac.cn \
    --cc=xinrui.riscv@isrc.iscas.ac.cn \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox