mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-28 10:10:29 -07:00
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
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| aarch64 | ||
| arm | ||
| i386 | ||
| loongarch64 | ||
| mips | ||
| ppc | ||
| ppc64 | ||
| riscv | ||
| s390x | ||
| sparc64 | ||
| x86_64 | ||