summaryrefslogtreecommitdiff
path: root/src/aarch64/init.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/aarch64/init.h')
-rw-r--r--src/aarch64/init.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/aarch64/init.h b/src/aarch64/init.h
index 5dab60bb..e7613296 100644
--- a/src/aarch64/init.h
+++ b/src/aarch64/init.h
@@ -30,6 +30,9 @@ common_init (struct cursor *c, unsigned use_prev_instr)
{
int ret, i;
+ for (i = UNW_AARCH64_PSTATE + 1; i < UNW_AARCH64_V0; ++i)
+ c->dwarf.loc[i] = DWARF_NULL_LOC;
+
c->dwarf.loc[UNW_AARCH64_X0] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X0);
c->dwarf.loc[UNW_AARCH64_X1] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X1);
c->dwarf.loc[UNW_AARCH64_X2] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X2);
@@ -65,6 +68,7 @@ common_init (struct cursor *c, unsigned use_prev_instr)
c->dwarf.loc[UNW_AARCH64_PC] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_PC);
c->dwarf.loc[UNW_AARCH64_PSTATE] = DWARF_REG_LOC (&c->dwarf,
UNW_AARCH64_PSTATE);
+ c->dwarf.loc[UNW_AARCH64_VG] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_VG);
c->dwarf.loc[UNW_AARCH64_V0] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V0);
c->dwarf.loc[UNW_AARCH64_V1] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V1);
c->dwarf.loc[UNW_AARCH64_V2] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V2);
@@ -98,9 +102,6 @@ common_init (struct cursor *c, unsigned use_prev_instr)
c->dwarf.loc[UNW_AARCH64_V30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V30);
c->dwarf.loc[UNW_AARCH64_V31] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V31);
- for (i = UNW_AARCH64_PSTATE + 1; i < UNW_AARCH64_V0; ++i)
- c->dwarf.loc[i] = DWARF_NULL_LOC;
-
ret = dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_PC], &c->dwarf.ip);
if (ret < 0)
return ret;