Unified · Split
| @@ -733,6 +733,9 @@ static void rt_getcontext(ucontext_t *uc, rt_context *rc) · 732 unmodified lines | |||
| 733 | #elif defined(__aarch64__) | 733 | #elif defined(__aarch64__) |
| 734 | rc->ip = uc->uc_mcontext.pc; | 734 | rc->ip = uc->uc_mcontext.pc; |
| 735 | rc->fp = uc->uc_mcontext.regs[29]; | 735 | rc->fp = uc->uc_mcontext.regs[29]; |
| 736 | #elif defined(__riscv) && defined(__OpenBSD__) | ||
| 737 | rc->ip = uc->sc_sepc; | ||
| 738 | rc->fp = uc->sc_s[0]; | ||
| 736 | #elif defined(__riscv) | 739 | #elif defined(__riscv) |
| 737 | rc->ip = uc->uc_mcontext.__gregs[REG_PC]; | 740 | rc->ip = uc->uc_mcontext.__gregs[REG_PC]; |
| 738 | rc->fp = uc->uc_mcontext.__gregs[REG_S0]; | 741 | rc->fp = uc->uc_mcontext.__gregs[REG_S0]; |