summaryrefslogtreecommitdiff
path: root/src/arm/Gex_tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arm/Gex_tables.c')
-rw-r--r--src/arm/Gex_tables.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arm/Gex_tables.c b/src/arm/Gex_tables.c
index 083d2b2f..40cd1534 100644
--- a/src/arm/Gex_tables.c
+++ b/src/arm/Gex_tables.c
@@ -119,10 +119,12 @@ arm_exidx_apply_cmd (struct arm_exbuf_data *edata, struct dwarf_cursor *c)
dwarf_get (c, c->loc[UNW_ARM_R13], &c->cfa);
break;
case ARM_EXIDX_CMD_VFP_POP:
- /* Skip VFP registers, but be sure to adjust stack */
for (i = ARM_EXBUF_START (edata->data); i <= ARM_EXBUF_END (edata->data);
i++)
+ {
+ c->loc[UNW_ARM_S0 + i] = DWARF_LOC (c->cfa, 0);
c->cfa += 8;
+ }
if (!(edata->data & ARM_EXIDX_VFP_DOUBLE))
c->cfa += 4;
break;