Browse Source

perf symbols: Check symbol_conf.allow_aliases for kallsyms loading too

We can allow aliases to be kept, but we were checking this just when
loading vmlinux files, be consistent, do it for any symbol table loading
code that calls symbol__fixup_duplicate() by making this function check
.allow_aliases instead.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: 680d926a8cb0 ("perf symbols: Allow symbol alias when loading map for symbol name")
Link: http://lkml.kernel.org/n/tip-z0avp0s6cfjckc4xj3pdfjdz@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Arnaldo Carvalho de Melo 9 years ago
parent
commit
c97b40e4d1
2 changed files with 4 additions and 2 deletions
  1. 1 2
      tools/perf/util/symbol-elf.c
  2. 3 0
      tools/perf/util/symbol.c

+ 1 - 2
tools/perf/util/symbol-elf.c

@@ -1136,8 +1136,7 @@ new_symbol:
 	 * For misannotated, zeroed, ASM function sizes.
 	 * For misannotated, zeroed, ASM function sizes.
 	 */
 	 */
 	if (nr > 0) {
 	if (nr > 0) {
-		if (!symbol_conf.allow_aliases)
-			symbols__fixup_duplicate(&dso->symbols[map->type]);
+		symbols__fixup_duplicate(&dso->symbols[map->type]);
 		symbols__fixup_end(&dso->symbols[map->type]);
 		symbols__fixup_end(&dso->symbols[map->type]);
 		if (kmap) {
 		if (kmap) {
 			/*
 			/*

+ 3 - 0
tools/perf/util/symbol.c

@@ -153,6 +153,9 @@ void symbols__fixup_duplicate(struct rb_root *symbols)
 	struct rb_node *nd;
 	struct rb_node *nd;
 	struct symbol *curr, *next;
 	struct symbol *curr, *next;
 
 
+	if (symbol_conf.allow_aliases)
+		return;
+
 	nd = rb_first(symbols);
 	nd = rb_first(symbols);
 
 
 	while (nd) {
 	while (nd) {