Em Wed, May 11, 2016 at 10:51:49PM +0900, Masami Hiramatsu escreveu: > Instead of using raw string, use DSO__NAME_KALLSYMS and DSO__NAME_KCORE > macros for kallsyms and kcore.
Depends on the previous patch, - Arnaldo > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org> > --- > tools/perf/builtin-buildid-cache.c | 8 ++++---- > tools/perf/util/annotate.c | 2 +- > tools/perf/util/build-id.c | 2 +- > tools/perf/util/machine.c | 2 +- > tools/perf/util/symbol.c | 10 +++++----- > tools/perf/util/symbol.h | 3 +++ > 6 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/tools/perf/builtin-buildid-cache.c > b/tools/perf/builtin-buildid-cache.c > index 632efc6..d75bded 100644 > --- a/tools/perf/builtin-buildid-cache.c > +++ b/tools/perf/builtin-buildid-cache.c > @@ -119,8 +119,8 @@ static int build_id_cache__add_kcore(const char > *filename, bool force) > if (build_id_cache__kcore_buildid(from_dir, sbuildid) < 0) > return -1; > > - scnprintf(to_dir, sizeof(to_dir), "%s/[kernel.kcore]/%s", > - buildid_dir, sbuildid); > + scnprintf(to_dir, sizeof(to_dir), "%s/%s/%s", > + buildid_dir, DSO__NAME_KCORE, sbuildid); > > if (!force && > !build_id_cache__kcore_existing(from_dir, to_dir, sizeof(to_dir))) { > @@ -131,8 +131,8 @@ static int build_id_cache__add_kcore(const char > *filename, bool force) > if (build_id_cache__kcore_dir(dir, sizeof(dir))) > return -1; > > - scnprintf(to_dir, sizeof(to_dir), "%s/[kernel.kcore]/%s/%s", > - buildid_dir, sbuildid, dir); > + scnprintf(to_dir, sizeof(to_dir), "%s/%s/%s/%s", > + buildid_dir, DSO__NAME_KCORE, sbuildid, dir); > > if (mkdir_p(to_dir, 0755)) > return -1; > diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c > index d4b3d03..1168442 100644 > --- a/tools/perf/util/annotate.c > +++ b/tools/perf/util/annotate.c > @@ -1122,7 +1122,7 @@ int symbol__annotate(struct symbol *sym, struct map > *map, size_t privsize) > } else if (dso__is_kcore(dso)) { > goto fallback; > } else if (readlink(symfs_filename, command, sizeof(command)) < 0 || > - strstr(command, "[kernel.kallsyms]") || > + strstr(command, DSO__NAME_KALLSYMS) || > access(symfs_filename, R_OK)) { > free(filename); > fallback: > diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c > index 234d8a1..53df9aa 100644 > --- a/tools/perf/util/build-id.c > +++ b/tools/perf/util/build-id.c > @@ -354,7 +354,7 @@ static char *build_id_cache__dirname_from_path(const char > *name, > } else if (is_vdso) > realname = DSO__NAME_VDSO; > else > - realname = "[kernel.kallsyms]"; > + realname = DSO__NAME_KALLSYMS; > > if (asprintf(&filename, "%s%s%s", buildid_dir, slash ? "/" : "", > realname) < 0) > diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c > index 639a290..18dd96b 100644 > --- a/tools/perf/util/machine.c > +++ b/tools/perf/util/machine.c > @@ -709,7 +709,7 @@ static struct dso *machine__get_kernel(struct machine > *machine) > if (machine__is_host(machine)) { > vmlinux_name = symbol_conf.vmlinux_name; > if (!vmlinux_name) > - vmlinux_name = "[kernel.kallsyms]"; > + vmlinux_name = DSO__NAME_KALLSYMS; > > kernel = machine__findnew_kernel(machine, vmlinux_name, > "[kernel]", DSO_TYPE_KERNEL); > diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c > index 2946295..49caa91 100644 > --- a/tools/perf/util/symbol.c > +++ b/tools/perf/util/symbol.c > @@ -1648,8 +1648,8 @@ static char *dso__find_kallsyms(struct dso *dso, struct > map *map) > > build_id__sprintf(dso->build_id, sizeof(dso->build_id), sbuild_id); > > - scnprintf(path, sizeof(path), "%s/[kernel.kcore]/%s", buildid_dir, > - sbuild_id); > + scnprintf(path, sizeof(path), "%s/%s/%s", buildid_dir, > + DSO__NAME_KCORE, sbuild_id); > > /* Use /proc/kallsyms if possible */ > if (is_host) { > @@ -1685,8 +1685,8 @@ static char *dso__find_kallsyms(struct dso *dso, struct > map *map) > if (!find_matching_kcore(map, path, sizeof(path))) > return strdup(path); > > - scnprintf(path, sizeof(path), "%s/[kernel.kallsyms]/%s", > - buildid_dir, sbuild_id); > + scnprintf(path, sizeof(path), "%s/%s/%s", > + buildid_dir, DSO__NAME_KALLSYMS, sbuild_id); > > if (access(path, F_OK)) { > pr_err("No kallsyms or vmlinux with build-id %s was found\n", > @@ -1755,7 +1755,7 @@ do_kallsyms: > > if (err > 0 && !dso__is_kcore(dso)) { > dso->binary_type = DSO_BINARY_TYPE__KALLSYMS; > - dso__set_long_name(dso, "[kernel.kallsyms]", false); > + dso__set_long_name(dso, DSO__NAME_KALLSYMS, false); > map__fixup_start(map); > map__fixup_end(map); > } > diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h > index 07211c2..78e3bbf 100644 > --- a/tools/perf/util/symbol.h > +++ b/tools/perf/util/symbol.h > @@ -44,6 +44,9 @@ Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep, > #define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ > #endif > > +#define DSO__NAME_KALLSYMS "[kernel.kallsyms]" > +#define DSO__NAME_KCORE "[kernel.kcore]" > + > /** struct symbol - symtab entry > * > * @ignore - resolvable but tools ignore it (e.g. idle routines)