From: Daniel Jacobowitz Date: Thu, 24 Jul 2003 19:03:50 +0000 (+0000) Subject: * linux-arm-low.c (arm_reinsert_addr): New function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3b2fc2ea683563693bf8f2c57e3b80322fceb332;p=binutils-gdb.git * linux-arm-low.c (arm_reinsert_addr): New function. (the_low_target): Add arm_reinsert_addr. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 1f488bca348..1a3a7dc27fc 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2003-07-24 Daniel Jacobowitz + + * linux-arm-low.c (arm_reinsert_addr): New function. + (the_low_target): Add arm_reinsert_addr. + 2003-07-08 Mark Kettenis * mem-break.c: Remove whitespace at end of file. diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c index cd075b2df8d..2e8bb981b52 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, };