* breakpoint.c (reattach_breakpoints): Do not use remove_breakpoint.
authorDaniel Jacobowitz <drow@false.org>
Mon, 2 Jul 2007 16:14:01 +0000 (16:14 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 2 Jul 2007 16:14:01 +0000 (16:14 +0000)
Call insert_bp_location.

gdb/ChangeLog
gdb/breakpoint.c

index 9e42a99d61642bb8c34f62ba4e02e9a61a94fcd1..d16ca15eee7bb3dce71a16baca1fb4be70ed9c56 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * breakpoint.c (reattach_breakpoints): Do not use remove_breakpoint.
+       Call insert_bp_location.
+
 2007-07-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        * core-regset.c (fetch_core_registers): Work around gcc 3.4
index 5e36d93acd69788f28ffbc212411905d45955f6a..e294315bf6f3669905393e799dcb566db5dca817 100644 (file)
@@ -1338,23 +1338,19 @@ reattach_breakpoints (int pid)
   struct bp_location *b;
   int val;
   struct cleanup *old_chain = save_inferior_ptid ();
+  struct ui_file *tmp_error_stream = mem_fileopen ();
+  int dummy1 = 0, dummy2 = 0, dummy3 = 0;
+
+  make_cleanup_ui_file_delete (tmp_error_stream);
 
-  /* Set inferior_ptid; remove_breakpoint uses this global.  */
   inferior_ptid = pid_to_ptid (pid);
   ALL_BP_LOCATIONS (b)
   {
     if (b->inserted)
       {
-       remove_breakpoint (b, mark_inserted);
-       /* Note: since we insert a breakpoint right after removing,
-          any decisions about automatically using hardware breakpoints
-          made in insert_bp_location are preserved.  */
-       if (b->loc_type == bp_loc_hardware_breakpoint)
-         val = target_insert_hw_breakpoint (&b->target_info);
-       else
-         val = target_insert_breakpoint (&b->target_info);
-       /* FIXME drow/2003-10-07: This doesn't handle any other kinds of
-          breakpoints.  It's wrong for watchpoints, for example.  */
+       b->inserted = 0;
+       val = insert_bp_location (b, tmp_error_stream,
+                                 &dummy1, &dummy2, &dummy3);
        if (val != 0)
          {
            do_cleanups (old_chain);