qemu/common-user
Icenowy Zheng 22b448ccc6 common-user/host/riscv: use tail pseudoinstruction for calling tail
The j pseudoinstruction maps to a JAL instruction, which can only handle
a jump to somewhere with a signed 20-bit destination. In case of static
linking and LTO'ing this easily leads to "relocation truncated to fit"
error.

Switch to use tail pseudoinstruction, which is the standard way to
tail-call a function in medium code model (emits AUIPC+JALR).

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250417072206.364008-1-uwu@icenowy.me>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Cc: qemu-stable@nongnu.org
2025-05-19 13:38:04 +10:00
..
host common-user/host/riscv: use tail pseudoinstruction for calling tail 2025-05-19 13:38:04 +10:00
meson.build common-user: Only compile the common user code if have_user is set 2022-06-28 11:12:05 +02:00
plugin-api.c.inc plugins/api: split out binary path/start/end/entry code 2025-03-10 10:30:01 +00:00
safe-syscall-error.c common-user: Move safe-syscall.* from linux-user 2021-12-20 10:12:24 -08:00
safe-syscall.S common-user: Move safe-syscall.* from linux-user 2021-12-20 10:12:24 -08:00