Usually we don't have a valid location for the SP but we keep calculating
the value of the CFA. The ARM backend should return this value instead.

Signed-off-by: Ken Werner <[email protected]>
---
 src/arm/Gregs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/arm/Gregs.c b/src/arm/Gregs.c
index 1546f58..03693a2 100644
--- a/src/arm/Gregs.c
+++ b/src/arm/Gregs.c
@@ -45,12 +45,12 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, 
unw_word_t *valp,
     case UNW_ARM_R10:
     case UNW_ARM_R11:
     case UNW_ARM_R12:
-    case UNW_ARM_R13:
     case UNW_ARM_R14:
     case UNW_ARM_R15:
       loc = c->dwarf.loc[reg - UNW_ARM_R0];
       break;
 
+    case UNW_ARM_R13:
     case UNW_ARM_CFA:
       if (write)
         return -UNW_EREADONLYREG;
-- 
1.7.4.1


_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to