Skip to content

Commit

Permalink
perf script: Fix symbol insertion behavior in db-export
Browse files Browse the repository at this point in the history
Use the dso__insert_symbol function instead of symbols__insert() in
order to properly update the dso symbol cache.

If the cache is not updated, then duplicate symbols can be
unintentionally created, inserted, and exported.

This change prevents duplicate symbols from being exported due to
dso__find_symbol() using a stale symbol cache.

Signed-off-by: Chris Phlipot <cphlipot0@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1462937209-6032-3-git-send-email-cphlipot0@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
cphlipot authored and acmel committed May 11, 2016
1 parent ae93a6c commit bd0a51d
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions tools/perf/util/db-export.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,7 @@ static int db_ids_from_al(struct db_export *dbe, struct addr_location *al,
if (!al->sym) {
al->sym = symbol__new(al->addr, 0, 0, "unknown");
if (al->sym)
symbols__insert(&dso->symbols[al->map->type],
al->sym);
dso__insert_symbol(dso, al->map->type, al->sym);
}

if (al->sym) {
Expand Down

0 comments on commit bd0a51d

Please sign in to comment.