diff --git a/tccrun.c b/tccrun.c index 792e6be2..9c9f4e07 100644 --- a/tccrun.c +++ b/tccrun.c @@ -733,6 +733,9 @@ static void rt_getcontext(ucontext_t *uc, rt_context *rc) #elif defined(__aarch64__) rc->ip = uc->uc_mcontext.pc; rc->fp = uc->uc_mcontext.regs[29]; +#elif defined(__riscv) && defined(__OpenBSD__) + rc->ip = uc->sc_sepc; + rc->fp = uc->sc_s[0]; #elif defined(__riscv) rc->ip = uc->uc_mcontext.__gregs[REG_PC]; rc->fp = uc->uc_mcontext.__gregs[REG_S0];