[PATCH v5] riscv: Handle zicsr/zifencei issue between gcc and binutils

Conor Dooley conor at kernel.org
Wed Aug 23 06:31:57 PDT 2023


On Wed, Aug 23, 2023 at 12:51:13PM +0100, Conor Dooley wrote:
> On Thu, Aug 17, 2023 at 03:20:24PM +0000, patchwork-bot+linux-riscv at kernel.org wrote:
> > Hello:
> > 
> > This patch was applied to riscv/linux.git (fixes)
> > by Palmer Dabbelt <palmer at rivosinc.com>:
> > 
> > On Thu, 10 Aug 2023 00:56:48 +0800 you wrote:
> > > Binutils-2.38 and GCC-12.1.0 bumped[0][1] the default ISA spec to the newer
> > > 20191213 version which moves some instructions from the I extension to the
> > > Zicsr and Zifencei extensions. So if one of the binutils and GCC exceeds
> > > that version, we should explicitly specifying Zicsr and Zifencei via -march
> > > to cope with the new changes. but this only occurs when binutils >= 2.36
> > > and GCC >= 11.1.0. It's a different story when binutils < 2.36.
> > > 
> > > [...]
> > 
> > Here is the summary with links:
> >   - [v5] riscv: Handle zicsr/zifencei issue between gcc and binutils
> >     https://git.kernel.org/riscv/c/ca09f772ccca
> 
> *sigh* so this breaks the build for gcc-11 & binutils 2.37 w/
> 	Assembler messages:
> 	Error: cannot find default versions of the ISA extension `zicsr'
> 	Error: cannot find default versions of the ISA extension `zifencei'
> 
> I'll have a poke later.

So uh, are we sure that this should not be:
-       depends on (CC_IS_CLANG && CLANG_VERSION < 170000) || (CC_IS_GCC && GCC_VERSION < 110100)
+       depends on (CC_IS_CLANG && CLANG_VERSION < 170000) || (CC_IS_GCC && GCC_VERSION <= 110100)

My gcc-11.1 + binutils 2.37 toolchain built from riscv-gnu-toolchain
doesn't have the default versions & the above diff fixes the build.

Thanks,
Conor.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20230823/a3753beb/attachment.sig>


More information about the linux-riscv mailing list