summaryrefslogtreecommitdiff
path: root/src/aarch64/Ginit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aarch64/Ginit.c')
-rw-r--r--src/aarch64/Ginit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
index 1aa68b22..15fc3b9d 100644
--- a/src/aarch64/Ginit.c
+++ b/src/aarch64/Ginit.c
@@ -49,6 +49,8 @@ uc_addr (unw_tdep_context_t *uc, int reg)
#ifdef __FreeBSD__
if (reg >= UNW_AARCH64_X0 && reg < UNW_AARCH64_X30)
return &uc->uc_mcontext.mc_gpregs.gp_x[reg];
+ else if (reg == UNW_AARCH64_X30)
+ return &uc->uc_mcontext.mc_gpregs.gp_lr;
else if (reg == UNW_AARCH64_SP)
return &uc->uc_mcontext.sp;
else if (reg == UNW_AARCH64_PC)
@@ -58,7 +60,7 @@ uc_addr (unw_tdep_context_t *uc, int reg)
else
return NULL;
#else /* __FreeBSD__ */
- if (reg >= UNW_AARCH64_X0 && reg < UNW_AARCH64_X30)
+ if (reg >= UNW_AARCH64_X0 && reg <= UNW_AARCH64_X30)
return &uc->uc_mcontext.regs[reg];
else if (reg == UNW_AARCH64_SP)
return &uc->uc_mcontext.sp;