mbox series

[v1,0/2] RISC-V: avoid build issues for clang/llvm-17 with binutils 2.35

Message ID 20230223220546.52879-1-conor@kernel.org (mailing list archive)
Headers show
Series RISC-V: avoid build issues for clang/llvm-17 with binutils 2.35 | expand

Message

Conor Dooley Feb. 23, 2023, 10:05 p.m. UTC
From: Conor Dooley <conor.dooley@microchip.com>

Hey,
Here's an attempted (interim?) fix for issues on v5.10 due to the
presence of zifencei & zicsr in object files. I'm seeing another issue
that only appears with ld from binutils-2.35 & not with ld from
binutils-2.37 on riscv/for-next:
/stuff/toolchains/binutils-2.35/bin/riscv64-linux-gnu-ld: .init.data has both ordered [`__patchable_function_entries' in init/main.o] and unordered [`.meminit.data' in mm/sparse.o] sections
/stuff/toolchains/binutils-2.35/bin/riscv64-linux-gnu-ld: final link failed: bad value
But that's far far further on in the build than we were getting before
these patches.

Even if we end up dealing with the emitted strings a different way [1],
I think the first patch here has some value in moving the check to
Kconfig so that it's far easier to tell if the toolchain does need/use
these extensions from someone's build artifacts.

Cheers,
Conor.

1 - https://lore.kernel.org/linux-riscv/20230223195112.10489-1-palmer@rivosinc.com/

cc: nathan@kernel.org
cc: palmer@dabbelt.com
cc: naresh.kamboju@linaro.org
cc: linux-riscv@lists.infradead.org
cc: llvm@lists.linux.dev

Conor Dooley (2):
  RISC-V: move zicsr/zifencei spec version check to Kconfig
  RISC-V: make TOOLCHAIN_NEEDS_SPEC_20191213 gas only

 arch/riscv/Kconfig  | 9 +++++++++
 arch/riscv/Makefile | 5 +----
 2 files changed, 10 insertions(+), 4 deletions(-)