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

Conor Dooley conor at kernel.org
Thu Feb 23 14:05:44 PST 2023


From: Conor Dooley <conor.dooley at 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 at kernel.org
cc: palmer at dabbelt.com
cc: naresh.kamboju at linaro.org
cc: linux-riscv at lists.infradead.org
cc: llvm at 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(-)

-- 
2.39.1




More information about the linux-riscv mailing list