Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c25ec42f authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf symbols: Keep DSO->symtab_type after decompress



The symsrc__init() overwrites dso->symtab_type as symsrc->type in
dso__load_sym().  But for compressed kernel modules in the build-id
cache, it should have original symtab type to be decompressed as needed.

This fixes perf annotate to show disassembly of the function properly.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20170608073109.30699-9-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 94df1040
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -671,6 +671,8 @@ int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
		fd = dso__decompress_kmodule_fd(dso, name);
		fd = dso__decompress_kmodule_fd(dso, name);
		if (fd < 0)
		if (fd < 0)
			return -1;
			return -1;

		type = dso->symtab_type;
	} else {
	} else {
		fd = open(name, O_RDONLY);
		fd = open(name, O_RDONLY);
		if (fd < 0) {
		if (fd < 0) {