perf symbols: Remove map_type arg from dso__find_symbol()

One more step to ditch MAP__{VARIABLE,FUNCTION}

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-919d1k13ts62pjipnpibvgwd@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 dce0478b
...@@ -315,8 +315,7 @@ static struct call_path *call_path_from_sample(struct db_export *dbe, ...@@ -315,8 +315,7 @@ static struct call_path *call_path_from_sample(struct db_export *dbe,
al.addr = node->ip; al.addr = node->ip;
if (al.map && !al.sym) if (al.map && !al.sym)
al.sym = dso__find_symbol(al.map->dso, MAP__FUNCTION, al.sym = dso__find_symbol(al.map->dso, al.addr);
al.addr);
db_ids_from_al(dbe, &al, &dso_db_id, &sym_db_id, &offset); db_ids_from_al(dbe, &al, &dso_db_id, &sym_db_id, &offset);
......
...@@ -353,7 +353,7 @@ struct symbol *map__find_symbol(struct map *map, u64 addr) ...@@ -353,7 +353,7 @@ struct symbol *map__find_symbol(struct map *map, u64 addr)
if (map__load(map) < 0) if (map__load(map) < 0)
return NULL; return NULL;
return dso__find_symbol(map->dso, map->type, addr); return __dso__find_symbol(map->dso, map->type, addr);
} }
struct symbol *map__find_symbol_by_name(struct map *map, const char *name) struct symbol *map__find_symbol_by_name(struct map *map, const char *name)
...@@ -364,7 +364,7 @@ struct symbol *map__find_symbol_by_name(struct map *map, const char *name) ...@@ -364,7 +364,7 @@ struct symbol *map__find_symbol_by_name(struct map *map, const char *name)
if (!dso__sorted_by_name(map->dso, map->type)) if (!dso__sorted_by_name(map->dso, map->type))
dso__sort_by_name(map->dso, map->type); dso__sort_by_name(map->dso, map->type);
return dso__find_symbol_by_name(map->dso, map->type, name); return __dso__find_symbol_by_name(map->dso, map->type, name);
} }
struct map *map__clone(struct map *from) struct map *map__clone(struct map *from)
......
...@@ -504,8 +504,8 @@ void dso__insert_symbol(struct dso *dso, enum map_type type, struct symbol *sym) ...@@ -504,8 +504,8 @@ void dso__insert_symbol(struct dso *dso, enum map_type type, struct symbol *sym)
} }
} }
struct symbol *dso__find_symbol(struct dso *dso, struct symbol *__dso__find_symbol(struct dso *dso,
enum map_type type, u64 addr) enum map_type type, u64 addr)
{ {
if (dso->last_find_result[type].addr != addr || dso->last_find_result[type].symbol == NULL) { if (dso->last_find_result[type].addr != addr || dso->last_find_result[type].symbol == NULL) {
dso->last_find_result[type].addr = addr; dso->last_find_result[type].addr = addr;
...@@ -549,10 +549,10 @@ struct symbol *symbol__next_by_name(struct symbol *sym) ...@@ -549,10 +549,10 @@ struct symbol *symbol__next_by_name(struct symbol *sym)
} }
/* /*
* Teturns first symbol that matched with @name. * Returns first symbol that matched with @name.
*/ */
struct symbol *dso__find_symbol_by_name(struct dso *dso, enum map_type type, struct symbol *__dso__find_symbol_by_name(struct dso *dso, enum map_type type,
const char *name) const char *name)
{ {
struct symbol *s = symbols__find_by_name(&dso->symbol_names[type], name, struct symbol *s = symbols__find_by_name(&dso->symbol_names[type], name,
SYMBOL_TAG_INCLUDE__NONE); SYMBOL_TAG_INCLUDE__NONE);
......
...@@ -262,10 +262,14 @@ int dso__load_kallsyms(struct dso *dso, const char *filename, struct map *map); ...@@ -262,10 +262,14 @@ int dso__load_kallsyms(struct dso *dso, const char *filename, struct map *map);
void dso__insert_symbol(struct dso *dso, enum map_type type, void dso__insert_symbol(struct dso *dso, enum map_type type,
struct symbol *sym); struct symbol *sym);
struct symbol *dso__find_symbol(struct dso *dso, enum map_type type, struct symbol *__dso__find_symbol(struct dso *dso, enum map_type type, u64 addr);
u64 addr); struct symbol *__dso__find_symbol_by_name(struct dso *dso, enum map_type type, const char *name);
struct symbol *dso__find_symbol_by_name(struct dso *dso, enum map_type type,
const char *name); static inline struct symbol *dso__find_symbol(struct dso *dso, u64 addr)
{
return __dso__find_symbol(dso, MAP__FUNCTION, addr);
}
struct symbol *symbol__next_by_name(struct symbol *sym); struct symbol *symbol__next_by_name(struct symbol *sym);
struct symbol *dso__first_symbol(struct dso *dso); struct symbol *dso__first_symbol(struct dso *dso);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册