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.
This commit is contained in:
Yao Qi
2012-12-15 01:37:03 +00:00
parent 2a77e2ab18
commit 7ed2c99418
2 changed files with 23 additions and 16 deletions

View 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> 2012-12-14 Pierre Muller <muller@sourceware.org>
Pedro Alves <palves@redhat.com> Pedro Alves <palves@redhat.com>

View File

@ -12081,7 +12081,7 @@ bp_location_target_extensions_update (void)
static void static void
download_tracepoint_locations (void) download_tracepoint_locations (void)
{ {
struct bp_location *bl, **blp_tmp; struct breakpoint *b;
struct cleanup *old_chain; struct cleanup *old_chain;
if (!target_can_download_tracepoint ()) if (!target_can_download_tracepoint ())
@ -12089,31 +12089,32 @@ download_tracepoint_locations (void)
old_chain = save_current_space_and_thread (); old_chain = save_current_space_and_thread ();
ALL_BP_LOCATIONS (bl, blp_tmp) ALL_TRACEPOINTS (b)
{ {
struct bp_location *bl;
struct tracepoint *t; struct tracepoint *t;
if (!is_tracepoint (bl->owner)) if ((b->type == bp_fast_tracepoint
continue;
if ((bl->owner->type == bp_fast_tracepoint
? !may_insert_fast_tracepoints ? !may_insert_fast_tracepoints
: !may_insert_tracepoints)) : !may_insert_tracepoints))
continue; continue;
/* In tracepoint, locations are _never_ duplicated, so for (bl = b->loc; bl; bl = bl->next)
should_be_inserted is equivalent to {
unduplicated_should_be_inserted. */ /* In tracepoint, locations are _never_ duplicated, so
if (!should_be_inserted (bl) || bl->inserted) should_be_inserted is equivalent to
continue; 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; bl->inserted = 1;
t = (struct tracepoint *) bl->owner; }
t->number_on_target = bl->owner->number; t = (struct tracepoint *) b;
t->number_on_target = b->number;
} }
do_cleanups (old_chain); do_cleanups (old_chain);