]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* linux-arm-low.c (arm_reinsert_addr): New function.
authorDaniel Jacobowitz <drow@false.org>
Thu, 24 Jul 2003 19:04:21 +0000 (19:04 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 24 Jul 2003 19:04:21 +0000 (19:04 +0000)
(the_low_target): Add arm_reinsert_addr.

gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-arm-low.c

index 80a328b81b0e0e3ba396ee11ce0b7dcbacc64341..9b52bf4b7a3ab4e89a96cc79dcb6d76e52298c32 100644 (file)
@@ -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.
index cd075b2df8d3f8e213923e6dc434722652084c5f..2e8bb981b520a08b57fe718754778f64adca0736 100644 (file)
@@ -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,
 };