libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libunwind-devel] [PATCH] ARM: fix off-by-one in exidx VFP pop


From: Tommi Rantala
Subject: [Libunwind-devel] [PATCH] ARM: fix off-by-one in exidx VFP pop
Date: Tue, 24 Jan 2012 12:45:48 +0200

The range of VFP registers we need to pop is inclusive.
---
 src/arm/Gex_tables.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/arm/Gex_tables.c b/src/arm/Gex_tables.c
index 4352b0b..1fc3ea2 100644
--- a/src/arm/Gex_tables.c
+++ b/src/arm/Gex_tables.c
@@ -120,14 +120,14 @@ arm_exidx_apply_cmd (struct arm_exbuf_data *edata, struct 
dwarf_cursor *c)
       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);
+      for (i = ARM_EXBUF_START (edata->data); i <= ARM_EXBUF_END (edata->data);
           i++)
        c->cfa += 8;
       if (!(edata->data & ARM_EXIDX_VFP_DOUBLE))
        c->cfa += 4;
       break;
     case ARM_EXIDX_CMD_WREG_POP:
-      for (i = ARM_EXBUF_START (edata->data); i < ARM_EXBUF_END (edata->data);
+      for (i = ARM_EXBUF_START (edata->data); i <= ARM_EXBUF_END (edata->data);
           i++)
        c->cfa += 8;
       break;
-- 
1.7.2.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]