perf annotate: Use dso__decompress_kmodule_path()
Convert open-coded decompress routine to use the function. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Jiri 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-5-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
42b3fa6708
commit
3c84fd5304
@ -1431,31 +1431,10 @@ int symbol__disassemble(struct symbol *sym, struct map *map, const char *arch_na
|
|||||||
sizeof(symfs_filename));
|
sizeof(symfs_filename));
|
||||||
}
|
}
|
||||||
} else if (dso__needs_decompress(dso)) {
|
} else if (dso__needs_decompress(dso)) {
|
||||||
char tmp[PATH_MAX];
|
char tmp[KMOD_DECOMP_LEN];
|
||||||
struct kmod_path m;
|
|
||||||
int fd;
|
|
||||||
bool ret;
|
|
||||||
|
|
||||||
if (kmod_path__parse_ext(&m, symfs_filename))
|
if (dso__decompress_kmodule_path(dso, symfs_filename,
|
||||||
goto out;
|
tmp, sizeof(tmp)) < 0)
|
||||||
|
|
||||||
snprintf(tmp, PATH_MAX, "/tmp/perf-kmod-XXXXXX");
|
|
||||||
|
|
||||||
fd = mkstemp(tmp);
|
|
||||||
if (fd < 0) {
|
|
||||||
free(m.ext);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = decompress_to_file(m.ext, symfs_filename, fd);
|
|
||||||
|
|
||||||
if (ret)
|
|
||||||
pr_err("Cannot decompress %s %s\n", m.ext, symfs_filename);
|
|
||||||
|
|
||||||
free(m.ext);
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
if (!ret)
|
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
strcpy(symfs_filename, tmp);
|
strcpy(symfs_filename, tmp);
|
||||||
|
Loading…
Reference in New Issue
Block a user