diff options
author | Daniel Jacobowitz <drow@false.org> | 2003-07-24 19:04:21 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2003-07-24 19:04:21 +0000 |
commit | 3e17c0eec7beb1a87bc2e6bc791e55865d566de9 (patch) | |
tree | 93e7e3317af3ed3e34cd66fcdf853a41ece1742d /gdb | |
parent | f5c8a159067b25d1ab07ce94962f2781a8386dc8 (diff) | |
download | gdb-3e17c0eec7beb1a87bc2e6bc791e55865d566de9.zip gdb-3e17c0eec7beb1a87bc2e6bc791e55865d566de9.tar.gz gdb-3e17c0eec7beb1a87bc2e6bc791e55865d566de9.tar.bz2 |
* linux-arm-low.c (arm_reinsert_addr): New function.
(the_low_target): Add arm_reinsert_addr.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/linux-arm-low.c | 13 |
2 files changed, 17 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 80a328b..9b52bf4 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2003-07-24 Daniel Jacobowitz <drow@mvista.com> + + * linux-arm-low.c (arm_reinsert_addr): New function. + (the_low_target): Add arm_reinsert_addr. + 2003-06-28 Daniel Jacobowitz <drow@mvista.com> * configure.in: Check whether we need to prototype strerror. 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, }; |