On Thu, Jan 25, 2024 at 10:32:10AM -0700, Nathan Chancellor wrote:
Hi all,
Eric reported that builds of LLVM with [1] (close to tip of tree) have CONFIG_AS_HAS_OPTION_ARCH=n because the test for expected failure on invalid input has started succeeding.
This Kconfig test was added because '.option arch' only causes an assembler warning when it is unsupported, rather than a hard error, which is what users of as-instr expect when something is unsupported.
This can be resolved by turning assembler warnings into errors with '-Wa,--fatal-warnings' like we do with the compiler with '-Werror', which is what the first patch does. The second patch removes the invalid test, as the valid test is good enough with fatal warnings.
I have diffed several configurations for the different architectures that use as-instr and I have found no issues.
I think this could go in through either the kbuild or RISC-V tree with sufficient acks but I will let them fight over who takes it :)
Nathan Chancellor (2): kbuild: Add -Wa,--fatal-warnings to as-instr invocation RISC-V: Drop invalid test from CONFIG_AS_HAS_OPTION_ARCH
arch/riscv/Kconfig | 1 - scripts/Kconfig.include | 2 +- scripts/Makefile.compiler | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-)
Looks good,
Tested-by: Eric Biggers ebiggers@google.com
Unfortunately another LLVM commit just broke TOOLCHAIN_HAS_VECTOR_CRYPTO, so I've sent out a patch to fix that too...
But with all the fixes applied it works again.
- Eric