[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