gdb/
authorYao Qi <yao@codesourcery.com>
Sat, 15 Dec 2012 01:37:03 +0000 (01:37 +0000)
committerYao Qi <yao@codesourcery.com>
Sat, 15 Dec 2012 01:37:03 +0000 (01:37 +0000)
2012-12-15  Yao Qi  <yao@codesourcery.com>

* breakpoint.c (download_tracepoint_locations): Iterate over
ALL_TRACEPOINTS first and then iterate over locations of
each tracepoint.

gdb/ChangeLog
gdb/breakpoint.c

index 07119af621041ff4f2d980c971f3c4b329c7abfa..b2013f4e00e0a2306eb4ee7ded31b8a35184728c 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-15  Yao Qi  <yao@codesourcery.com>
+
+       * breakpoint.c (download_tracepoint_locations): Iterate over
+       ALL_TRACEPOINTS first and then iterate over locations of
+       each tracepoint.
+
 2012-12-14  Pierre Muller  <muller@sourceware.org>
            Pedro Alves  <palves@redhat.com>
 
index 2fe8f14665021f2f69cb1952491e49dc8d6f45e8..59aac72661fd89d68ead1dbf81797c0a0f47516b 100644 (file)
@@ -12081,7 +12081,7 @@ bp_location_target_extensions_update (void)
 static void
 download_tracepoint_locations (void)
 {
-  struct bp_location *bl, **blp_tmp;
+  struct breakpoint *b;
   struct cleanup *old_chain;
 
   if (!target_can_download_tracepoint ())
@@ -12089,31 +12089,32 @@ download_tracepoint_locations (void)
 
   old_chain = save_current_space_and_thread ();
 
-  ALL_BP_LOCATIONS (bl, blp_tmp)
+  ALL_TRACEPOINTS (b)
     {
+      struct bp_location *bl;
       struct tracepoint *t;
 
-      if (!is_tracepoint (bl->owner))
-       continue;
-
-      if ((bl->owner->type == bp_fast_tracepoint
+      if ((b->type == bp_fast_tracepoint
           ? !may_insert_fast_tracepoints
           : !may_insert_tracepoints))
        continue;
 
-      /* In tracepoint, locations are _never_ duplicated, so
-        should_be_inserted is equivalent to
-        unduplicated_should_be_inserted.  */
-      if (!should_be_inserted (bl) || bl->inserted)
-       continue;
+      for (bl = b->loc; bl; bl = bl->next)
+       {
+         /* In tracepoint, locations are _never_ duplicated, so
+            should_be_inserted is equivalent to
+            unduplicated_should_be_inserted.  */
+         if (!should_be_inserted (bl) || bl->inserted)
+           continue;
 
-      switch_to_program_space_and_thread (bl->pspace);
+         switch_to_program_space_and_thread (bl->pspace);
 
-      target_download_tracepoint (bl);
+         target_download_tracepoint (bl);
 
-      bl->inserted = 1;
-      t = (struct tracepoint *) bl->owner;
-      t->number_on_target = bl->owner->number;
+         bl->inserted = 1;
+       }
+      t = (struct tracepoint *) b;
+      t->number_on_target = b->number;
     }
 
   do_cleanups (old_chain);
This page took 0.043228 seconds and 4 git commands to generate.