aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGareth McMullin2011-02-23 18:14:44 +1300
committerGareth McMullin2011-02-23 18:14:44 +1300
commitc43e392f8c649cb5411261855cb53a7644b35243 (patch)
tree442a8e9382fbfc4167eac5cef667e1ea7dd7d443 /src
parentc9774944dedc2b1197ee3768b02a7fd81b67c926 (diff)
cm3_fault_unwind: Adjust stack pointer after reading registers.
Diffstat (limited to 'src')
-rw-r--r--src/cortexm3.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cortexm3.c b/src/cortexm3.c
index 7d0b4ae..d78094f 100644
--- a/src/cortexm3.c
+++ b/src/cortexm3.c
@@ -276,7 +276,8 @@ static int cm3_fault_unwind(struct target_s *target)
/* Read registers for post-exception stack pointer */
ap_regs_read(target, regs);
/* Read stack for pre-exception registers */
- target_mem_read_words(target, stack, regs[13], 8 << 2);
+ target_mem_read_words(target, stack, regs[13], sizeof(stack));
+ regs[13] += sizeof(stack); /* Adjust SP for pop */
regs[0] = stack[0];
regs[1] = stack[1];
regs[2] = stack[2];