Unified · Split
| @@ -664,6 +664,9 @@ static void rt_getcontext(ucontext_t *uc, rt_context *rc) · 663 unmodified lines | |||
| 664 | #elif defined(__arm__) && defined(__NetBSD__) | 664 | #elif defined(__arm__) && defined(__NetBSD__) |
| 665 | rc->ip = uc->uc_mcontext.__gregs[_REG_PC]; | 665 | rc->ip = uc->uc_mcontext.__gregs[_REG_PC]; |
| 666 | rc->fp = uc->uc_mcontext.__gregs[_REG_FP]; | 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 | #elif defined(__arm__) | 670 | #elif defined(__arm__) |
| 668 | rc->ip = uc->uc_mcontext.arm_pc; | 671 | rc->ip = uc->uc_mcontext.arm_pc; |
| 669 | rc->fp = uc->uc_mcontext.arm_fp; | 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 | #elif defined(__aarch64__) && defined(__NetBSD__) | 676 | #elif defined(__aarch64__) && defined(__NetBSD__) |
| 674 | rc->ip = uc->uc_mcontext.__gregs[_REG_PC]; | 677 | rc->ip = uc->uc_mcontext.__gregs[_REG_PC]; |
| 675 | rc->fp = uc->uc_mcontext.__gregs[_REG_FP]; | 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 | #elif defined(__aarch64__) | 682 | #elif defined(__aarch64__) |
| 677 | rc->ip = uc->uc_mcontext.pc; | 683 | rc->ip = uc->uc_mcontext.pc; |
| 678 | rc->fp = uc->uc_mcontext.regs[29]; | 684 | rc->fp = uc->uc_mcontext.regs[29]; |