diff options
author | Daniel Jacobowitz <drow@false.org> | 2003-07-24 19:03:50 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2003-07-24 19:03:50 +0000 |
commit | 3b2fc2ea683563693bf8f2c57e3b80322fceb332 (patch) | |
tree | 867afc9859d68f4fd63839a80c0d7eaed8a62717 /gdb/gdbserver/linux-arm-low.c | |
parent | a9f12a31acf648a8c5bb24d836ec19331d7fe535 (diff) | |
download | gdb-3b2fc2ea683563693bf8f2c57e3b80322fceb332.zip gdb-3b2fc2ea683563693bf8f2c57e3b80322fceb332.tar.gz gdb-3b2fc2ea683563693bf8f2c57e3b80322fceb332.tar.bz2 |
* linux-arm-low.c (arm_reinsert_addr): New function.
(the_low_target): Add arm_reinsert_addr.
Diffstat (limited to 'gdb/gdbserver/linux-arm-low.c')
-rw-r--r-- | gdb/gdbserver/linux-arm-low.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c index cd075b2..2e8bb98 100644 --- a/gdb/gdbserver/linux-arm-low.c +++ b/gdb/gdbserver/linux-arm-low.c @@ -80,6 +80,17 @@ arm_breakpoint_at (CORE_ADDR where) return 0; } +/* We only place breakpoints in empty marker functions, and thread locking + is outside of the function. So rather than importing software single-step, + we can just run until exit. */ +static CORE_ADDR +arm_reinsert_addr () +{ + unsigned long pc; + collect_register_by_name ("lr", &pc); + return pc; +} + struct linux_target_ops the_low_target = { arm_num_regs, arm_regmap, @@ -89,7 +100,7 @@ struct linux_target_ops the_low_target = { arm_set_pc, (const char *) &arm_breakpoint, arm_breakpoint_len, - NULL, + arm_reinsert_addr, 0, arm_breakpoint_at, }; |