diff options
Diffstat (limited to 'src/aarch64/Ginit.c')
-rw-r--r-- | src/aarch64/Ginit.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c index 17b8fcbc..e466467f 100644 --- a/src/aarch64/Ginit.c +++ b/src/aarch64/Ginit.c @@ -47,9 +47,17 @@ static inline void * uc_addr (unw_tdep_context_t *uc, int reg) { if (reg >= UNW_AARCH64_X0 && reg < UNW_AARCH64_V0) +#if defined(__FreeBSD__) + return &uc->uc_mcontext.mc_gpregs.gp_x[reg]; +#else return &uc->uc_mcontext.regs[reg]; +#endif else if (reg >= UNW_AARCH64_V0 && reg <= UNW_AARCH64_V31) +#if defined(__FreeBSD__) + return &GET_FPCTX(uc)->uc_mcontext.mc_fpregs.fp_q[reg - UNW_AARCH64_V0]; +#else return &GET_FPCTX(uc)->vregs[reg - UNW_AARCH64_V0]; +#endif else return NULL; } |