summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-02-21 17:09:25 +0800
committerTat-Chee Wan (USM)2011-02-21 17:09:25 +0800
commitdaae56959466e127231f3bf27c0d148b2a6ab907 (patch)
tree50048e0a0c3e5eca7a4e69fe74d2f499a3dc7e22
parentfade97cd406f8b6b437457a9bf288e73fb95c965 (diff)
return from dbg__bkpt_init using bx lr since we may have been called from thumb mode
-rw-r--r--Debugger/debug_stub.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/Debugger/debug_stub.S b/Debugger/debug_stub.S
index d187cb6..a7f3815 100644
--- a/Debugger/debug_stub.S
+++ b/Debugger/debug_stub.S
@@ -418,7 +418,7 @@ cCommHandleDebug:
* GDB set_debug_traps() routine
*/
dbg__bkpt_init:
- stmfd sp!, {lr}
+ push {lr}
bl _dbg__clear_breakpoints
mov r2, #0
ldr r1, =debug_curr_breakpoint
@@ -431,7 +431,8 @@ dbg__bkpt_init:
/* FIXME: Initialize other stuff here */
_dbg_setstate DBG_INIT
- ldmfd sp!, {pc}
+ pop {lr}
+ bx lr /* Must return via BX; may have been called from Thumb mode (NXT Firmware) */
/* _dbg__flush_icache