On Sat, Jan 27, 2024 at 01:00:54AM -0800, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > LLVM commit 8e01042da9d3 ("[RISCV] Add missing dependency check for Zvkb > (#79467)") broke the check used by the TOOLCHAIN_HAS_VECTOR_CRYPTO > kconfig symbol because it made zvkb start depending on v or zve*. Fix > this by specifying both v and zvkb when checking for support for zvkb. > > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> I also verified this does not regress GCC. > --- > arch/riscv/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index b49016bb5077b..912fff31492b9 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -581,21 +581,21 @@ config TOOLCHAIN_HAS_ZBB > default y > depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_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 > > # 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. > # binutils added all except Zvkb, then added Zvkb. So we just check for Zvkb. > config TOOLCHAIN_HAS_VECTOR_CRYPTO > - def_bool $(as-instr, .option arch$(comma) +zvkb) > + def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb) > depends on AS_HAS_OPTION_ARCH > > config RISCV_ISA_ZBB > bool "Zbb extension support for bit manipulation instructions" > depends on TOOLCHAIN_HAS_ZBB > depends on MMU > depends on RISCV_ALTERNATIVE > default y > help > Adds support to dynamically detect the presence of the ZBB > > base-commit: cb4ede926134a65bc3bf90ed58dace8451d7e759 > -- > 2.43.0 >