Unified · Split
| @@ -664,6 +664,9 @@ static void rt_getcontext(ucontext_t *uc, rt_context *rc) · 663 unmodified lines | ||
| 664 | 664 | #elif defined(__arm__) && defined(__NetBSD__) |
| 665 | 665 | rc->ip = uc->uc_mcontext.__gregs[_REG_PC]; |
| 666 | 666 | rc->fp = uc->uc_mcontext.__gregs[_REG_FP]; |
| 667 | +#elif defined(__arm__) && defined(__OpenBSD__) | |
| 668 | + rc->ip = uc->sc_pc; | |
| 669 | + rc->fp = uc->sc_fpreg[29]; | |
| 667 | 670 | #elif defined(__arm__) |
| 668 | 671 | rc->ip = uc->uc_mcontext.arm_pc; |
| 669 | 672 | rc->fp = uc->uc_mcontext.arm_fp; |
| @@ -673,6 +676,9 @@ static void rt_getcontext(ucontext_t *uc, rt_context *rc) · 3 unmodified lines | ||
| 673 | 676 | #elif defined(__aarch64__) && defined(__NetBSD__) |
| 674 | 677 | rc->ip = uc->uc_mcontext.__gregs[_REG_PC]; |
| 675 | 678 | rc->fp = uc->uc_mcontext.__gregs[_REG_FP]; |
| 679 | +#elif defined(__aarch64__) && defined(__OpenBSD__) | |
| 680 | + rc->ip = uc->sc_elr; | |
| 681 | + rc->fp = uc->sc_x[29]; | |
| 676 | 682 | #elif defined(__aarch64__) |
| 677 | 683 | rc->ip = uc->uc_mcontext.pc; |
| 678 | 684 | rc->fp = uc->uc_mcontext.regs[29]; |