Commit 5cf88a63 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf symbols: Shorten dso__(first|last)_symbol()

All users want MAP__FUNCTION, and this split is going away.

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-sm72zwt1f03ma5uw78l6zze0@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent b0867f0c
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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",
+1 −1
Original line number Diff line number Diff line
@@ -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 &&
+13 −3
Original line number Diff line number Diff line
@@ -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) {
+2 −2
Original line number Diff line number Diff line
@@ -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);