perf symbols: Introduce DSO__NAME_KALLSYMS and DSO__NAME_KCORE
authorMasami Hiramatsu <mhiramat@kernel.org>
Sun, 15 May 2016 03:19:40 +0000 (12:19 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 17 May 2016 02:11:48 +0000 (23:11 -0300)
Instead of using a raw string, use DSO__NAME_KALLSYMS and
DSO__NAME_KCORE macros for kallsyms and kcore.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20160515031935.4017.50971.stgit@devbox
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-buildid-cache.c
tools/perf/util/annotate.c
tools/perf/util/machine.c
tools/perf/util/symbol.c
tools/perf/util/symbol.h

index 632efc6b79a07e20c4b25f9757bcd9c089050270..d75bded21fe0ce73ef9aea745ff565c9ba61a204 100644 (file)
@@ -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;
index 4db73d5a0dbc6bf421c57d50ff0db7560caff03f..b811924e5e1b4d009558c4d8de8c8e3a2428ba4b 100644 (file)
@@ -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:
index 639a2903065eec287bce323a08c59a30594cee36..18dd96bdde05d1a50523bb5a50610cff47e82141 100644 (file)
@@ -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);
index 7fb33304fb4ea66f1103c351b696a1e2b5e8bae8..2252b545ff434bc07423a15ef4f5731b3d02a86f 100644 (file)
@@ -1662,8 +1662,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) {
@@ -1699,8 +1699,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",
@@ -1769,7 +1769,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);
        }
index 2b5e4ed76fcb4b53c38ac74269e03317734bd699..25f2fd672c2e8080ea7417f0b62a12b1f27bdeee 100644 (file)
@@ -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)