Unverified Commit 33549fcf authored by Conor Dooley's avatar Conor Dooley Committed by Palmer Dabbelt
Browse files

RISC-V: disallow gcc + rust builds

During the discussion before supporting rust on riscv, it was decided
not to support gcc yet, due to differences in extension handling
compared to llvm (only the version of libclang matching the c compiler
is supported). Recently Jason Montleon reported [1] that building with
gcc caused build issues, due to unsupported arguments being passed to
libclang. After some discussion between myself and Miguel, it is better
to disable gcc + rust builds to match the original intent, and
subsequently support it when an appropriate set of extensions can be
deduced from the version of libclang.

Closes: https://lore.kernel.org/all/20240917000848.720765-2-jmontleo@redhat.com/ [1]
Link: https://lore.kernel.org/all/20240926-battering-revolt-6c6a7827413e@spud/

 [2]
Fixes: 70a57b24 ("RISC-V: enable building 64-bit kernels with rust support")
Cc: stable@vger.kernel.org
Reported-by: default avatarJason Montleon <jmontleo@redhat.com>
Signed-off-by: default avatarConor Dooley <conor.dooley@microchip.com>
Acked-by: default avatarMiguel Ojeda <ojeda@kernel.org>
Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20241001-playlist-deceiving-16ece2f440f5@spud


Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent afedc312
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ Architecture Level of support Constraints
=============  ================  ==============================================
``arm64``      Maintained        Little Endian only.
``loongarch``  Maintained        \-
``riscv``      Maintained        ``riscv64`` only.
``riscv``      Maintained        ``riscv64`` and LLVM/Clang only.
``um``         Maintained        \-
``x86``        Maintained        ``x86_64`` only.
=============  ================  ==============================================
+1 −1
Original line number Diff line number Diff line
@@ -177,7 +177,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
	select HAVE_RUST if RUSTC_SUPPORTS_RISCV && CC_IS_CLANG
	select HAVE_SAMPLE_FTRACE_DIRECT
	select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
	select HAVE_STACKPROTECTOR