perf symbols: Shorten dso__(first|last)_symbol()
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 5cf88a6325ad75efe4f01204086d216b5d7f1ea8 Gitweb: https://git.kernel.org/tip/5cf88a6325ad75efe4f01204086d216b5d7f1ea8 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Wed, 25 Apr 2018 17:01:46 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Thu, 26 Apr 2018 13:47:13 -0300
perf symbols: Shorten dso__(first|last)_symbol()
All users want MAP__FUNCTION, and this split is going away.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/auxtrace.c | 8 ++++---- tools/perf/util/intel-pt.c | 2 +- tools/perf/util/symbol.c | 16 +++++++++++++--- tools/perf/util/symbol.h | 4 ++-- 4 files changed, 20 insertions(+), 10 deletions(-)
tools/perf/util/auxtrace.c +4 -4
@@ -1915,7 +1915,7 @@ static void print_duplicate_syms(struct dso *dso, const char *sym_name)pr_err ("Multiple symbols with name '%s'\n" , sym_name); - sym =dso__first_symbol (dso,MAP__FUNCTION ); + sym =dso__first_symbol (dso);while (sym) {if (dso_sym_match (sym, sym_name, &cnt,-1 )) { pr_err("#%d\t0x%"PRIx64"\t%c\t%s\n",
@@ -1945,7 +1945,7 @@ static int find_dso_sym(struct dso *dso, const char *sym_name, u64 *start, *start =0 ; *size =0 ; - sym =dso__first_symbol (dso,MAP__FUNCTION ); + sym =dso__first_symbol (dso);while (sym) {if (*start) {if (!*size)
@@ -1972,8 +1972,8 @@ static int find_dso_sym(struct dso *dso, const char *sym_name, u64 *start,static int addr_filter__entire_dso (struct addr_filter *filt,struct dso *dso) { -struct symbol *first_sym =dso__first_symbol (dso,MAP__FUNCTION ); -struct symbol *last_sym =dso__last_symbol (dso,MAP__FUNCTION ); +struct symbol *first_sym =dso__first_symbol (dso); +struct symbol *last_sym =dso__last_symbol (dso);if (!first_sym || !last_sym) { pr_err("Failed to determine filter for %s\nNo symbols found.\n",
tools/perf/util/intel-pt.c +1 -1
@@ -1563,7 +1563,7 @@ static u64 intel_pt_switch_ip(struct intel_pt *pt, u64 *ptss_ip)if (map__load (map))return 0 ; - start =dso__first_symbol (map->dso,MAP__FUNCTION ); + start =dso__first_symbol (map->dso);for (sym = start; sym; sym =dso__next_symbol (sym)) { if (sym->binding == STB_GLOBAL &&
tools/perf/util/symbol.c +13 -3
@@ -515,16 +515,26 @@ struct symbol *dso__find_symbol(struct dso *dso,return dso->last_find_result[type].symbol; } -struct symbol *dso__first_symbol (struct dso *dso,enum map_type type) +static struct symbol *__dso__first_symbol (struct dso *dso,enum map_type type) {return symbols__first (&dso->symbols[type]); } -struct symbol *dso__last_symbol (struct dso *dso,enum map_type type) +struct symbol *dso__first_symbol (struct dso *dso) +{ +return __dso__first_symbol (dso,MAP__FUNCTION ); +} + +static struct symbol *__dso__last_symbol (struct dso *dso,enum map_type type) {return symbols__last (&dso->symbols[type]); } +struct symbol *dso__last_symbol (struct dso *dso) +{ +return __dso__last_symbol (dso,MAP__FUNCTION ); +} +struct symbol *dso__next_symbol (struct symbol *sym) {return symbols__next (sym);
@@ -1218,7 +1228,7 @@ static int dso__load_kcore(struct dso *dso, struct map *map, }/* Find the kernel map using the first symbol */ - sym =dso__first_symbol (dso, map->type); + sym =__dso__first_symbol (dso, map->type);list_for_each_entry (new_map, &md.maps, node) {if (sym && sym->start >= new_map->start && sym->start < new_map->end) {
tools/perf/util/symbol.h +2 -2
@@ -268,8 +268,8 @@ struct symbol *dso__find_symbol_by_name(struct dso *dso, enum map_type type, const char *name);struct symbol *symbol__next_by_name (struct symbol *sym); -struct symbol *dso__first_symbol (struct dso *dso,enum map_type type); -struct symbol *dso__last_symbol (struct dso *dso,enum map_type type); +struct symbol *dso__first_symbol (struct dso *dso); +struct symbol *dso__last_symbol (struct dso *dso);struct symbol *dso__next_symbol (struct symbol *sym);enum dso_type dso__type_fd (int fd);