tools/nolibc: riscv: Fix up load/store instructions for rv32
authorZhangjin Wu <falcon@tinylab.org>
Thu, 18 May 2023 17:02:12 +0000 (01:02 +0800)
committerPaul E. McKenney <paulmck@kernel.org>
Fri, 9 Jun 2023 18:46:07 +0000 (11:46 -0700)
commitc22c7c81af4d061e484e0833fbc3418d0f3008d4
tree75a884960dd2f143043008cd99eba880f20c436b
parent72ffbc6784a40b958ac9a4e68049dc14730a4024
tools/nolibc: riscv: Fix up load/store instructions for rv32

When compile nolibc application for rv32, we got such errors:
  nolibc/sysroot/riscv/include/arch.h:190: Error: unrecognized opcode `ld a4,0(a3)'
  nolibc/sysroot/riscv/include/arch.h:194: Error: unrecognized opcode `sd a3,%lo(_auxv)(a4)'
  nolibc/sysroot/riscv/include/arch.h:196: Error: unrecognized opcode `sd a2,%lo(environ)(a3)'

Refer to arch/riscv/include/asm/asm.h and add REG_L/REG_S macros here to let
rv32 uses its own lw/sw instructions.

Signed-off-by: Zhangjin Wu <falcon@tinylab.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/include/nolibc/arch-riscv.h