diff options
Diffstat (limited to 'src/arm/Gex_tables.c')
-rw-r--r-- | src/arm/Gex_tables.c | 4 |
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; |