From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932277AbcEKPsE (ORCPT ); Wed, 11 May 2016 11:48:04 -0400 Received: from mail.kernel.org ([198.145.29.136]:58660 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932087AbcEKPsB (ORCPT ); Wed, 11 May 2016 11:48:01 -0400 Date: Wed, 11 May 2016 12:47:57 -0300 From: Arnaldo Carvalho de Melo To: Masami Hiramatsu Cc: linux-kernel@vger.kernel.org, Namhyung Kim , Peter Zijlstra , Ingo Molnar , Hemant Kumar , Ananth N Mavinakayanahalli , Brendan Gregg Subject: Re: [PATCH perf/core v7 03/21] perf buildid: Introduce DSO__NAME_KALLSYMS and DSO__NAME_KCORE Message-ID: <20160511154757.GA20258@kernel.org> References: <20160511135110.23943.38738.stgit@devbox> <20160511135149.23943.18885.stgit@devbox> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160511135149.23943.18885.stgit@devbox> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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)