GNU Binutils 2.38 has been released

Waldemar Brodkorb wbx@openadk.org
Wed Feb 23 17:31:27 GMT 2022


Hi Jan,
Jan Beulich wrote,

> On 23.02.2022 14:48, Waldemar Brodkorb wrote:
> > Jan Beulich wrote,
> >> On 14.02.2022 11:58, Waldemar Brodkorb wrote:
> >>> I am having problems with following commit
> >>> aed44286efa8ae8717a77d94b51ac3614e2ca6dc. 
> >>>
> >>> When trying to build the Linux kernel I get a lot of:
> >>> ./arch/riscv/include/asm/irqflags.h:34: Error: unrecognized opcode
> >>> `csrrc s2,0x100,2'
> >>> ./arch/riscv/include/asm/irqflags.h:52: Error: unrecognized opcode
> >>> `csrs 0x100,s2'
> >>>
> >>> The kernel is compiled with gcc 11.2 and  -mabi=lp64 -march=rv64ima.
> >>
> >> Isn't "ima" too little? I don't think that includes CSR accesses, that's
> >> its own extension (Zicsr).
> > 
> > Before this commit it was enough to build the Linux kernel.
> 
> Which is an apparently valid observation, but not an excuse.

At least some comment in the commit log would have been nice for
stupid people like me.

> > What letter needs to be added to get Zicsr extensions, though?
> 
> That's not a single letter iirc, and I'm afraid I can't tell you
> the right spelling off the top of my head. I'm pretty sure gas
> doc has it. Might be something like rv64ima_zicsr.
 
I have not found it in the gas docs. GCC complains about it while
trying to use it:

Traceback (most recent call last):
File
 "/home/wbx/openadk/toolchain_build_qemu-riscv64_uclibc-ng/w-gcc-11.2.0-1/gcc-11.2.0/gcc/config/riscv/arch-canonicalize",
 line 114, in <module>
 print (arch_canonicalize(arg))
 File
 "/home/wbx/openadk/toolchain_build_qemu-riscv64_uclibc-ng/w-gcc-11.2.0-1/gcc-11.2.0/gcc/config/riscv/arch-canonicalize",
 line 89, in arch_canonicalize
 long_exts = list(sorted(filter(lambda x:len(x) != 1,
 long_exts),
 File
 "/home/wbx/openadk/toolchain_build_qemu-riscv64_uclibc-ng/w-gcc-11.2.0-1/gcc-11.2.0/gcc/config/riscv/arch-canonicalize",
 line 81, in longext_sort
 raise Exception("Unsupported extension `%s`" % exts)
 Exception: Unsupported extension `zicsr`
 --with-abi=lp64 is not supported for ISA 
 gmake[6]: *** [Makefile:4353: configure-gcc] Error 1

Any other idea where to find this information. There is no
mentioning of zicsr here:
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/riscv/t-linux-multilib;h=298547fee38b2b4062e7854c539aabd292927857;hb=39c0b8f1ac4be2fdaa309733bbae11fedc6b8b3d

best regards
 Waldemar
 


More information about the Binutils mailing list