diff options
author | Masami Hiramatsu <mhiramat@kernel.org> | 2016-05-14 23:19:40 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-05-16 22:11:48 -0400 |
commit | 0a77582f0407e7f9b5d775bebc31297a1b890be0 (patch) | |
tree | 1c9cc230efeab3ec137ec21eedc609a664d17030 /tools | |
parent | a1f3d56761df31f0ffeb215b974e26d5613e92a4 (diff) |
perf symbols: Introduce DSO__NAME_KALLSYMS and DSO__NAME_KCORE
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>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/builtin-buildid-cache.c | 8 | ||||
-rw-r--r-- | tools/perf/util/annotate.c | 2 | ||||
-rw-r--r-- | tools/perf/util/machine.c | 2 | ||||
-rw-r--r-- | tools/perf/util/symbol.c | 10 | ||||
-rw-r--r-- | tools/perf/util/symbol.h | 3 |
5 files changed, 14 insertions, 11 deletions
diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildid-cache.c index 632efc6b79a0..d75bded21fe0 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) | |||
119 | if (build_id_cache__kcore_buildid(from_dir, sbuildid) < 0) | 119 | if (build_id_cache__kcore_buildid(from_dir, sbuildid) < 0) |
120 | return -1; | 120 | return -1; |
121 | 121 | ||
122 | scnprintf(to_dir, sizeof(to_dir), "%s/[kernel.kcore]/%s", | 122 | scnprintf(to_dir, sizeof(to_dir), "%s/%s/%s", |
123 | buildid_dir, sbuildid); | 123 | buildid_dir, DSO__NAME_KCORE, sbuildid); |
124 | 124 | ||
125 | if (!force && | 125 | if (!force && |
126 | !build_id_cache__kcore_existing(from_dir, to_dir, sizeof(to_dir))) { | 126 | !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) | |||
131 | if (build_id_cache__kcore_dir(dir, sizeof(dir))) | 131 | if (build_id_cache__kcore_dir(dir, sizeof(dir))) |
132 | return -1; | 132 | return -1; |
133 | 133 | ||
134 | scnprintf(to_dir, sizeof(to_dir), "%s/[kernel.kcore]/%s/%s", | 134 | scnprintf(to_dir, sizeof(to_dir), "%s/%s/%s/%s", |
135 | buildid_dir, sbuildid, dir); | 135 | buildid_dir, DSO__NAME_KCORE, sbuildid, dir); |
136 | 136 | ||
137 | if (mkdir_p(to_dir, 0755)) | 137 | if (mkdir_p(to_dir, 0755)) |
138 | return -1; | 138 | return -1; |
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 4db73d5a0dbc..b811924e5e1b 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) | |||
1122 | } else if (dso__is_kcore(dso)) { | 1122 | } else if (dso__is_kcore(dso)) { |
1123 | goto fallback; | 1123 | goto fallback; |
1124 | } else if (readlink(symfs_filename, command, sizeof(command)) < 0 || | 1124 | } else if (readlink(symfs_filename, command, sizeof(command)) < 0 || |
1125 | strstr(command, "[kernel.kallsyms]") || | 1125 | strstr(command, DSO__NAME_KALLSYMS) || |
1126 | access(symfs_filename, R_OK)) { | 1126 | access(symfs_filename, R_OK)) { |
1127 | free(filename); | 1127 | free(filename); |
1128 | fallback: | 1128 | fallback: |
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index 639a2903065e..18dd96bdde05 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) | |||
709 | if (machine__is_host(machine)) { | 709 | if (machine__is_host(machine)) { |
710 | vmlinux_name = symbol_conf.vmlinux_name; | 710 | vmlinux_name = symbol_conf.vmlinux_name; |
711 | if (!vmlinux_name) | 711 | if (!vmlinux_name) |
712 | vmlinux_name = "[kernel.kallsyms]"; | 712 | vmlinux_name = DSO__NAME_KALLSYMS; |
713 | 713 | ||
714 | kernel = machine__findnew_kernel(machine, vmlinux_name, | 714 | kernel = machine__findnew_kernel(machine, vmlinux_name, |
715 | "[kernel]", DSO_TYPE_KERNEL); | 715 | "[kernel]", DSO_TYPE_KERNEL); |
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 7fb33304fb4e..2252b545ff43 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
@@ -1662,8 +1662,8 @@ static char *dso__find_kallsyms(struct dso *dso, struct map *map) | |||
1662 | 1662 | ||
1663 | build_id__sprintf(dso->build_id, sizeof(dso->build_id), sbuild_id); | 1663 | build_id__sprintf(dso->build_id, sizeof(dso->build_id), sbuild_id); |
1664 | 1664 | ||
1665 | scnprintf(path, sizeof(path), "%s/[kernel.kcore]/%s", buildid_dir, | 1665 | scnprintf(path, sizeof(path), "%s/%s/%s", buildid_dir, |
1666 | sbuild_id); | 1666 | DSO__NAME_KCORE, sbuild_id); |
1667 | 1667 | ||
1668 | /* Use /proc/kallsyms if possible */ | 1668 | /* Use /proc/kallsyms if possible */ |
1669 | if (is_host) { | 1669 | if (is_host) { |
@@ -1699,8 +1699,8 @@ static char *dso__find_kallsyms(struct dso *dso, struct map *map) | |||
1699 | if (!find_matching_kcore(map, path, sizeof(path))) | 1699 | if (!find_matching_kcore(map, path, sizeof(path))) |
1700 | return strdup(path); | 1700 | return strdup(path); |
1701 | 1701 | ||
1702 | scnprintf(path, sizeof(path), "%s/[kernel.kallsyms]/%s", | 1702 | scnprintf(path, sizeof(path), "%s/%s/%s", |
1703 | buildid_dir, sbuild_id); | 1703 | buildid_dir, DSO__NAME_KALLSYMS, sbuild_id); |
1704 | 1704 | ||
1705 | if (access(path, F_OK)) { | 1705 | if (access(path, F_OK)) { |
1706 | pr_err("No kallsyms or vmlinux with build-id %s was found\n", | 1706 | pr_err("No kallsyms or vmlinux with build-id %s was found\n", |
@@ -1769,7 +1769,7 @@ do_kallsyms: | |||
1769 | 1769 | ||
1770 | if (err > 0 && !dso__is_kcore(dso)) { | 1770 | if (err > 0 && !dso__is_kcore(dso)) { |
1771 | dso->binary_type = DSO_BINARY_TYPE__KALLSYMS; | 1771 | dso->binary_type = DSO_BINARY_TYPE__KALLSYMS; |
1772 | dso__set_long_name(dso, "[kernel.kallsyms]", false); | 1772 | dso__set_long_name(dso, DSO__NAME_KALLSYMS, false); |
1773 | map__fixup_start(map); | 1773 | map__fixup_start(map); |
1774 | map__fixup_end(map); | 1774 | map__fixup_end(map); |
1775 | } | 1775 | } |
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index 2b5e4ed76fcb..25f2fd672c2e 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, | |||
44 | #define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ | 44 | #define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ |
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | #define DSO__NAME_KALLSYMS "[kernel.kallsyms]" | ||
48 | #define DSO__NAME_KCORE "[kernel.kcore]" | ||
49 | |||
47 | /** struct symbol - symtab entry | 50 | /** struct symbol - symtab entry |
48 | * | 51 | * |
49 | * @ignore - resolvable but tools ignore it (e.g. idle routines) | 52 | * @ignore - resolvable but tools ignore it (e.g. idle routines) |