summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-07-20 10:32:49 +0800
committerTat-Chee Wan (USM)2011-07-20 10:32:49 +0800
commit0c0b43214104217fe4616a7600e2165d192202df (patch)
tree215a0ba80e656adca1d678fdf751ebe0ba6b4a89
parent720aa337c19691c3dc3edbf816ca8141516b8ac2 (diff)
fix register corruption when using setstate macro
We must preserve R0 and R1 which are destroyed by the setstate macro.
-rw-r--r--Debugger/debug_stub.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/Debugger/debug_stub.S b/Debugger/debug_stub.S
index eacdd5d..1b0ef8c 100644
--- a/Debugger/debug_stub.S
+++ b/Debugger/debug_stub.S
@@ -739,8 +739,9 @@ _exit_dmg__cmd_Status:
* r0, r1, r2, r3: destroyed
*/
_dbg__cmd_Query:
- stmfd sp!, {lr}
+ stmfd sp!, {r0,r1, lr}
_dbg_setstate DBG_CONFIGURED /* We have exchanged query messages with the GDB server */
+ ldmfd sp!, {r0, r1} /* Restore parameters needed for subsequent processing */
bl __dbg__cmdParamLen
cmp r1, #CMD_QUERY_CURRTID_PARAMLEN
bne _dbg__cmd_Query_default