* breakpoint.c (install_breakpoint): Add one more parameter so that
authorYao Qi <yao@codesourcery.com>
Fri, 18 Nov 2011 01:03:51 +0000 (01:03 +0000)
committerYao Qi <yao@codesourcery.com>
Fri, 18 Nov 2011 01:03:51 +0000 (01:03 +0000)
update_global_location_list is called conditionally.
(create_fork_vfork_event_catchpoint): Update.
(create_syscall_event_catchpoint): Update.
(create_breakpoint_sal): Update.
(create_breakpoint_sal): Update. Call do_cleanups before
install_breakpoint.
* ada-lang.c (create_ada_exception_catchpoint): Update.
* breakpoint.h (install_breakpoint): Update declaration.

gdb/ChangeLog
gdb/ada-lang.c
gdb/breakpoint.c
gdb/breakpoint.h

index cfc14d3..722eb20 100644 (file)
@@ -1,3 +1,15 @@
+2011-11-18  Yao Qi  <yao@codesourcery.com>
+
+       * breakpoint.c (install_breakpoint):  Add one more parameter so that
+       update_global_location_list is called conditionally.
+       (create_fork_vfork_event_catchpoint): Update.
+       (create_syscall_event_catchpoint): Update.
+       (create_breakpoint_sal): Update.
+       (create_breakpoint_sal): Update. Call do_cleanups before
+       install_breakpoint.
+       * ada-lang.c (create_ada_exception_catchpoint): Update.
+       * breakpoint.h (install_breakpoint): Update declaration.
+
 2011-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * spu-tdep.c (spu_return_value): Fix handling of
index 1dabd0f..2edbe7f 100644 (file)
@@ -11705,7 +11705,7 @@ create_ada_exception_catchpoint (struct gdbarch *gdbarch,
                                 ops, tempflag, from_tty);
   c->excep_string = excep_string;
   create_excep_cond_exprs (c);
-  install_breakpoint (0, &c->base);
+  install_breakpoint (0, &c->base, 1);
 }
 
 /* Implement the "catch exception" command.  */
index 8f09296..2554337 100644 (file)
@@ -6680,14 +6680,16 @@ init_catchpoint (struct breakpoint *b,
 }
 
 void
-install_breakpoint (int internal, struct breakpoint *b)
+install_breakpoint (int internal, struct breakpoint *b, int update_gll)
 {
   add_to_breakpoint_chain (b);
   set_breakpoint_number (internal, b);
   if (!internal)
     mention (b);
   observer_notify_breakpoint_created (b);
-  update_global_location_list (1);
+
+  if (update_gll)
+    update_global_location_list (1);
 }
 
 static void
@@ -6701,7 +6703,7 @@ create_fork_vfork_event_catchpoint (struct gdbarch *gdbarch,
 
   c->forked_inferior_pid = null_ptid;
 
-  install_breakpoint (0, &c->base);
+  install_breakpoint (0, &c->base, 1);
 }
 
 /* Exec catchpoints.  */
@@ -6822,7 +6824,7 @@ create_syscall_event_catchpoint (int tempflag, VEC(int) *filter,
   init_catchpoint (&c->base, gdbarch, tempflag, NULL, ops);
   c->syscalls_to_be_caught = filter;
 
-  install_breakpoint (0, &c->base);
+  install_breakpoint (0, &c->base, 1);
 }
 
 static int
@@ -7331,7 +7333,7 @@ create_breakpoint_sal (struct gdbarch *gdbarch,
                       enabled, internal, display_canonical);
   discard_cleanups (old_chain);
 
-  install_breakpoint (internal, b);
+  install_breakpoint (internal, b, 0);
 }
 
 /* Remove element at INDEX_TO_REMOVE from SAL, shifting other
@@ -7961,7 +7963,7 @@ create_breakpoint (struct gdbarch *gdbarch,
                 corresponds to this one  */
              tp->static_trace_marker_id_idx = i;
 
-             install_breakpoint (internal, &tp->base);
+             install_breakpoint (internal, &tp->base, 0);
 
              do_cleanups (old_chain);
            }
@@ -9397,7 +9399,7 @@ watch_command_1 (char *arg, int accessflag, int from_tty,
       throw_exception (e);
     }
 
-  install_breakpoint (internal, b);
+  install_breakpoint (internal, b, 1);
 }
 
 /* Return count of debug registers needed to watch the given expression.
@@ -9795,7 +9797,7 @@ catch_exec_command_1 (char *arg, int from_tty,
                   &catch_exec_breakpoint_ops);
   c->exec_pathname = NULL;
 
-  install_breakpoint (0, &c->base);
+  install_breakpoint (0, &c->base, 1);
 }
 
 static enum print_stop_action
index 506ae80..8e03264 100644 (file)
@@ -1098,9 +1098,11 @@ extern void
 /* Add breakpoint B on the breakpoint list, and notify the user, the
    target and breakpoint_created observers of its existence.  If
    INTERNAL is non-zero, the breakpoint number will be allocated from
-   the internal breakpoint count.  */
+   the internal breakpoint count.  If UPDATE_GLL is non-zero,
+   update_global_location_list will be called.  */
 
-extern void install_breakpoint (int internal, struct breakpoint *b);
+extern void install_breakpoint (int internal, struct breakpoint *b,
+                               int update_gll);
 
 extern int create_breakpoint (struct gdbarch *gdbarch, char *arg,
                              char *cond_string, int thread,