From b69c2ea2cfcee9fe09a8b43f72c51c60964fbee0 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 15 Jul 2019 23:36:36 +0200 Subject: [PATCH] riscv: fix 90_struct-init indirect calls were broken. --- riscv64-gen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/riscv64-gen.c b/riscv64-gen.c index c2a71191..6216aaf8 100644 --- a/riscv64-gen.c +++ b/riscv64-gen.c @@ -359,8 +359,8 @@ static void gcall(void) R_RISCV_CALL_PLT, (int)vtop->c.i); o(0x17 | (1 << 7)); // auipc ra, 0 %call(func) o(0x80e7); // jalr ra, 0 %call(func) - } else if ((vtop->r & VT_VALMASK) < VT_CONST) { - int r = ireg(vtop->r & VT_VALMASK); + } else if (vtop->r < VT_CONST) { + int r = ireg(vtop->r); EI(0x67, 0, 1, r, 0); // jalr ra, 0(R) } else { int r = TREG_RA;