* [PATCH v3] RISC-V: re-enable gcc + rust builds
@ 2025-09-14 7:16 Asuna Yang
2025-09-16 17:21 ` Conor Dooley
2025-09-19 5:20 ` Vivian Wang
0 siblings, 2 replies; 5+ messages in thread
From: Asuna Yang @ 2025-09-14 7:16 UTC (permalink / raw)
To: Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Jonathan Corbet, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, Han Gao,
Jason Montleon, Conor Dooley
Cc: rust-for-linux, linux-doc, linux-kernel, linux-riscv,
linux-kbuild, llvm, Asuna Yang
Commit 33549fcf37ec ("RISC-V: disallow gcc + rust builds") disabled GCC
+ Rust builds for RISC-V due to differences in extension handling
compared to LLVM.
Add a Kconfig symbol to indicate the version of libclang used by Rust
bindgen and add conditions for the availability of libclang to the
RISC-V extension Kconfig symbols that depend on the cc-option function.
For Zicsr/Zifencei special handling, since LLVM/Clang always enables
these two extensions, either don't pass them to -march, or pass them
explicitly and Rust bindgen libclang must recognize them.
Clang does not support -mno-riscv-attribute flag, filter it out to
resolve error: unknown argument: '-mno-riscv-attribute'.
Define BINDGEN_TARGET_riscv to pass the target triplet to Rust bindgen
libclang for RISC-V to resolve error: unsupported argument 'medany' to
option '-mcmodel=' for target 'unknown'. Improve to output a clearer
error message if the target triplet is undefined for Rust bindgen
libclang.
Update the documentation, GCC + Rust builds are now supported.
Signed-off-by: Asuna Yang <SpriteOvO@gmail.com>
---
Documentation/rust/arch-support.rst | 2 +-
arch/riscv/Kconfig | 30 +++++++++++++++++++++++++++++-
init/Kconfig | 6 ++++++
rust/Makefile | 7 ++++++-
scripts/Kconfig.include | 1 +
5 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/Documentation/rust/arch-support.rst b/Documentation/rust/arch-support.rst
index 6e6a515d08991a130a8e79dc4ad7ad09da244020..5282e0e174e8de66b4c6fec354cf329fd2aec873 100644
--- a/Documentation/rust/arch-support.rst
+++ b/Documentation/rust/arch-support.rst
@@ -18,7 +18,7 @@ Architecture Level of support Constraints
``arm`` Maintained ARMv7 Little Endian only.
``arm64`` Maintained Little Endian only.
``loongarch`` Maintained \-
-``riscv`` Maintained ``riscv64`` and LLVM/Clang only.
+``riscv`` Maintained ``riscv64`` only.
``um`` Maintained \-
``x86`` Maintained ``x86_64`` only.
============= ================ ==============================================
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 51dcd8eaa24356d947ebe0f1c4a701a3cfc6b757..3e892864f930778218073e8ee5980eb8f4e1594a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -191,7 +191,7 @@ config RISCV
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_RETHOOK if !XIP_KERNEL
select HAVE_RSEQ
- select HAVE_RUST if RUSTC_SUPPORTS_RISCV && CC_IS_CLANG
+ select HAVE_RUST if RUSTC_SUPPORTS_RISCV && TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
select HAVE_SAMPLE_FTRACE_DIRECT
select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
select HAVE_STACKPROTECTOR
@@ -629,6 +629,8 @@ config TOOLCHAIN_HAS_V
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
depends on LLD_VERSION >= 140000 || LD_VERSION >= 23800
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/e6de53b4de4aecca4ac892500a0907805896ed27
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 140000
config RISCV_ISA_V
bool "Vector extension support"
@@ -693,6 +695,8 @@ config TOOLCHAIN_HAS_ZABHA
depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zabha)
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zabha)
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/6b7444964a8d028989beee554a1f5c61d16a1cac
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 190100
config RISCV_ISA_ZABHA
bool "Zabha extension support for atomic byte/halfword operations"
@@ -711,6 +715,8 @@ config TOOLCHAIN_HAS_ZACAS
depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zacas)
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zacas)
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/614aeda93b2225c6eb42b00ba189ba7ca2585c60
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 200100
config RISCV_ISA_ZACAS
bool "Zacas extension support for atomic CAS"
@@ -730,6 +736,8 @@ config TOOLCHAIN_HAS_ZBB
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbb)
depends on LLD_VERSION >= 150000 || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/33d008b169f3c813a4a45da220d0952f795ac477
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 140000
# This symbol indicates that the toolchain supports all v1.0 vector crypto
# extensions, including Zvk*, Zvbb, and Zvbc. LLVM added all of these at once.
@@ -745,6 +753,8 @@ config TOOLCHAIN_HAS_ZBA
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zba)
depends on LLD_VERSION >= 150000 || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/33d008b169f3c813a4a45da220d0952f795ac477
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 140000
config RISCV_ISA_ZBA
bool "Zba extension support for bit manipulation instructions"
@@ -780,6 +790,8 @@ config TOOLCHAIN_HAS_ZBC
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
depends on LLD_VERSION >= 150000 || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/33d008b169f3c813a4a45da220d0952f795ac477
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 140000
config RISCV_ISA_ZBC
bool "Zbc extension support for carry-less multiplication instructions"
@@ -803,6 +815,8 @@ config TOOLCHAIN_HAS_ZBKB
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbkb)
depends on LLD_VERSION >= 150000 || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
+ # https://github.com/llvm/llvm-project/commit/7ee1c162cc53d37f717f9a138276ad64fa6863bc
+ depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 140000
config RISCV_ISA_ZBKB
bool "Zbkb extension support for bit manipulation instructions"
@@ -890,6 +904,20 @@ config TOOLCHAIN_NEEDS_OLD_ISA_SPEC
versions of clang and GCC to be passed to GAS, which has the same result
as passing zicsr and zifencei to -march.
+config TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
+ def_bool y
+ # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
+ depends on TOOLCHAIN_NEEDS_OLD_ISA_SPEC || !TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI || RUST_BINDGEN_LIBCLANG_VERSION >= 170000
+ help
+ LLVM/Clang >= 17.0.0 starts recognizing Zicsr/Zifencei in -march, passing
+ them to -march doesn't generate an error anymore, and passing them or not
+ doesn't have any real difference, it still follows ISA before version
+ 20190608 - Zicsr/Zifencei are included in base ISA.
+
+ The current latest version of LLVM/Clang still does not require explicit
+ Zicsr/Zifencei to enable these two extensions, Clang just accepts them in
+ -march and then silently ignores them.
+
config FPU
bool "FPU support"
default y
diff --git a/init/Kconfig b/init/Kconfig
index e3eb63eadc8757a10b091c74bbee8008278c0521..0859d308a48591df769c7dbaef6f035324892bd3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -82,6 +82,12 @@ config RUSTC_LLVM_VERSION
int
default $(rustc-llvm-version)
+config RUST_BINDGEN_LIBCLANG_VERSION
+ int
+ default $(rustc-bindgen-libclang-version)
+ help
+ This is the version of `libclang` used by the Rust bindings generator.
+
config CC_CAN_LINK
bool
default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAGS) $(m64-flag)) if 64BIT
diff --git a/rust/Makefile b/rust/Makefile
index bfa915b0e58854045b367557342727fee4fe2808..8c6f84487c41880816d1e55ba4c0df0e5af4e8fd 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -290,20 +290,25 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
-fno-inline-functions-called-once -fsanitize=bounds-strict \
-fstrict-flex-arrays=% -fmin-function-alignment=% \
-fzero-init-padding-bits=% -mno-fdpic \
- --param=% --param asan-%
+ --param=% --param asan-% -mno-riscv-attribute
# 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_riscv := riscv64-linux-gnu
BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))
BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH))
+ifeq ($(BINDGEN_TARGET),)
+$(error add '--target=' option to rust/Makefile)
+else
# 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.
bindgen_extra_c_flags = -w --target=$(BINDGEN_TARGET)
+endif
# Auto variable zero-initialization requires an additional special option with
# clang that is going to be removed sometime in the future (likely in
diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include
index 33193ca6e8030e659d6b321acaea1acd42c387a4..b893bbc130f774bdca831893fed9b76d42bf540a 100644
--- a/scripts/Kconfig.include
+++ b/scripts/Kconfig.include
@@ -67,6 +67,7 @@ m64-flag := $(cc-option-bit,-m64)
rustc-version := $(shell,$(srctree)/scripts/rustc-version.sh $(RUSTC))
rustc-llvm-version := $(shell,$(srctree)/scripts/rustc-llvm-version.sh $(RUSTC))
+rustc-bindgen-libclang-version := $(shell,trap 'echo 0' EXIT; $(BINDGEN) $(srctree)/scripts/rust_is_available_bindgen_libclang.h 2>&1 | sed -nE 's:.*clang version ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p' | awk -F'.' '{print $1 * 10000 + $2 * 100 + $3}')
# $(rustc-option,<flag>)
# Return y if the Rust compiler supports <flag>, n otherwise
---
base-commit: f777d1112ee597d7f7dd3ca232220873a34ad0c8
change-id: 20250914-gcc-rust-v3-a4154a826045
Best regards,
--
Asuna Yang <SpriteOvO@gmail.com>
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3] RISC-V: re-enable gcc + rust builds
2025-09-14 7:16 [PATCH v3] RISC-V: re-enable gcc + rust builds Asuna Yang
@ 2025-09-16 17:21 ` Conor Dooley
2025-09-19 5:20 ` Vivian Wang
1 sibling, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2025-09-16 17:21 UTC (permalink / raw)
To: Asuna Yang
Cc: Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Jonathan Corbet, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, Han Gao,
Jason Montleon, rust-for-linux, linux-doc, linux-kernel,
linux-riscv, linux-kbuild, llvm
[-- Attachment #1: Type: text/plain, Size: 1042 bytes --]
On Sun, Sep 14, 2025 at 03:16:40PM +0800, Asuna Yang wrote:
> +config TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
> + def_bool y
> + # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
> + depends on TOOLCHAIN_NEEDS_OLD_ISA_SPEC || !TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI || RUST_BINDGEN_LIBCLANG_VERSION >= 170000
> + help
> + LLVM/Clang >= 17.0.0 starts recognizing Zicsr/Zifencei in -march, passing
> + them to -march doesn't generate an error anymore, and passing them or not
> + doesn't have any real difference, it still follows ISA before version
> + 20190608 - Zicsr/Zifencei are included in base ISA.
> +
> + The current latest version of LLVM/Clang still does not require explicit
> + Zicsr/Zifencei to enable these two extensions, Clang just accepts them in
> + -march and then silently ignores them.
I still don't really like the name of this option, but I don't really
have any good suggestions for what to call this.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3] RISC-V: re-enable gcc + rust builds
2025-09-14 7:16 [PATCH v3] RISC-V: re-enable gcc + rust builds Asuna Yang
2025-09-16 17:21 ` Conor Dooley
@ 2025-09-19 5:20 ` Vivian Wang
2025-09-21 19:33 ` Miguel Ojeda
2025-10-04 3:39 ` Asuna
1 sibling, 2 replies; 5+ messages in thread
From: Vivian Wang @ 2025-09-19 5:20 UTC (permalink / raw)
To: Asuna Yang, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Jonathan Corbet, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, Han Gao,
Jason Montleon, Conor Dooley
Cc: rust-for-linux, linux-doc, linux-kernel, linux-riscv,
linux-kbuild, llvm
On 9/14/25 15:16, Asuna Yang wrote:
> [...]
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 51dcd8eaa24356d947ebe0f1c4a701a3cfc6b757..3e892864f930778218073e8ee5980eb8f4e1594a 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -191,7 +191,7 @@ config RISCV
> select HAVE_REGS_AND_STACK_ACCESS_API
> select HAVE_RETHOOK if !XIP_KERNEL
> select HAVE_RSEQ
> - select HAVE_RUST if RUSTC_SUPPORTS_RISCV && CC_IS_CLANG
> + select HAVE_RUST if RUSTC_SUPPORTS_RISCV && TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
> select HAVE_SAMPLE_FTRACE_DIRECT
> select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
> select HAVE_STACKPROTECTOR
> @@ -629,6 +629,8 @@ config TOOLCHAIN_HAS_V
> depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
> depends on LLD_VERSION >= 140000 || LD_VERSION >= 23800
> depends on AS_HAS_OPTION_ARCH
> + # https://github.com/llvm/llvm-project/commit/e6de53b4de4aecca4ac892500a0907805896ed27
> + depends on !RUST || RUST_BINDGEN_LIBCLANG_VERSION >= 140000
>
I think instead of testing libclang version, it would make more sense to
feature test if bindgen the binary supports these flags, like what we
already do with $(cc-option,...).
Same for all the other version tests.
> [...]
>
> +config TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
TOOLCHAIN_ACCEPTS_ZICSR_ZIFENCEI?
> + def_bool y
> + # https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
> + depends on TOOLCHAIN_NEEDS_OLD_ISA_SPEC || !TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI || RUST_BINDGEN_LIBCLANG_VERSION >= 170000
> + help
> + LLVM/Clang >= 17.0.0 starts recognizing Zicsr/Zifencei in -march, passing
> + them to -march doesn't generate an error anymore, and passing them or not
> + doesn't have any real difference, it still follows ISA before version
> + 20190608 - Zicsr/Zifencei are included in base ISA.
> +
> + The current latest version of LLVM/Clang still does not require explicit
> + Zicsr/Zifencei to enable these two extensions, Clang just accepts them in
> + -march and then silently ignores them.
> +
> config FPU
> bool "FPU support"
> default y
> diff --git a/init/Kconfig b/init/Kconfig
> index e3eb63eadc8757a10b091c74bbee8008278c0521..0859d308a48591df769c7dbaef6f035324892bd3 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -82,6 +82,12 @@ config RUSTC_LLVM_VERSION
> int
> default $(rustc-llvm-version)
>
> +config RUST_BINDGEN_LIBCLANG_VERSION
> + int
> + default $(rustc-bindgen-libclang-version)
> + help
> + This is the version of `libclang` used by the Rust bindings generator.
> +
This can go away if we don't test the version anymore.
> config CC_CAN_LINK
> bool
> default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAGS) $(m64-flag)) if 64BIT
> diff --git a/rust/Makefile b/rust/Makefile
> index bfa915b0e58854045b367557342727fee4fe2808..8c6f84487c41880816d1e55ba4c0df0e5af4e8fd 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -290,20 +290,25 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
> -fno-inline-functions-called-once -fsanitize=bounds-strict \
> -fstrict-flex-arrays=% -fmin-function-alignment=% \
> -fzero-init-padding-bits=% -mno-fdpic \
> - --param=% --param asan-%
> + --param=% --param asan-% -mno-riscv-attribute
>
> # 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_riscv := riscv64-linux-gnu
Do you know if this works for riscv32? Makefile.clang uses "-m32" for
32BIT, AFAICT, but i don't know if this is a good idea.
Maybe riscv32 Rust for Linux is broken anyway...
> BINDGEN_TARGET_um := $(BINDGEN_TARGET_$(SUBARCH))
> BINDGEN_TARGET := $(BINDGEN_TARGET_$(SRCARCH))
>
> +ifeq ($(BINDGEN_TARGET),)
> +$(error add '--target=' option to rust/Makefile)
> +else
Is this necessary? Maybe this can go in a separate patch, or even
submitted separately entirely - it's unrelated to "RISC-V: re-enable gcc
+ rust builds" and would be weird to see in git blame.
Vivian "dramforever" Wang
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3] RISC-V: re-enable gcc + rust builds
2025-09-19 5:20 ` Vivian Wang
@ 2025-09-21 19:33 ` Miguel Ojeda
2025-10-04 3:39 ` Asuna
1 sibling, 0 replies; 5+ messages in thread
From: Miguel Ojeda @ 2025-09-21 19:33 UTC (permalink / raw)
To: Vivian Wang
Cc: Asuna Yang, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Jonathan Corbet, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, Han Gao,
Jason Montleon, Conor Dooley, rust-for-linux, linux-doc,
linux-kernel, linux-riscv, linux-kbuild, llvm
On Fri, Sep 19, 2025 at 7:21 AM Vivian Wang <wangruikang@iscas.ac.cn> wrote:
>
> Is this necessary? Maybe this can go in a separate patch, or even
> submitted separately entirely - it's unrelated to "RISC-V: re-enable gcc
> + rust builds" and would be weird to see in git blame.
Agreed, I mentioned the same in a previous version of the patch.
Cheers,
Miguel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3] RISC-V: re-enable gcc + rust builds
2025-09-19 5:20 ` Vivian Wang
2025-09-21 19:33 ` Miguel Ojeda
@ 2025-10-04 3:39 ` Asuna
1 sibling, 0 replies; 5+ messages in thread
From: Asuna @ 2025-10-04 3:39 UTC (permalink / raw)
To: Vivian Wang, Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Jonathan Corbet, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, Han Gao,
Jason Montleon, Conor Dooley
Cc: rust-for-linux, linux-doc, linux-kernel, linux-riscv,
linux-kbuild, llvm
On 9/19/25 1:20 PM, Vivian Wang wrote:
> I think instead of testing libclang version, it would make more sense to
> feature test if bindgen the binary supports these flags, like what we
> already do with $(cc-option,...).
>
> Same for all the other version tests.
This is another direction worth trying, but unfortunately I probably
won't have time to refactor this patch towards that direction until the
end of the month. Sorry for that.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-10-04 3:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-14 7:16 [PATCH v3] RISC-V: re-enable gcc + rust builds Asuna Yang
2025-09-16 17:21 ` Conor Dooley
2025-09-19 5:20 ` Vivian Wang
2025-09-21 19:33 ` Miguel Ojeda
2025-10-04 3:39 ` Asuna
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).