diff options
author | Andi Kleen <ak@linux.intel.com> | 2011-09-15 17:31:41 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-09-29 16:10:00 -0400 |
commit | f69b64f73e1d7f47a9205c1cd46e0e1c3c65e1cd (patch) | |
tree | d524df90f8f78da2feebf63619101512d088a27c /tools/perf/util | |
parent | 33e49ea70df066651a17061c62118fc3f075d21f (diff) |
perf: Support setting the disassembler style
Add -M option to report/annotate to pass directly to objdump. This
allows to use -M intel for intel style disassembler syntax, which is
useful for people who are very used to the Intel syntax.
Link: http://lkml.kernel.org/r/1316122302-24306-2-git-send-email-andi@firstfloor.org
[committer note: Add missing Documentation bits, fixup conflicts with 3e6a2a7]
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Stephane Eranian <eranian@google.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util')
-rw-r--r-- | tools/perf/util/annotate.c | 6 | ||||
-rw-r--r-- | tools/perf/util/annotate.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 01d36ba54053..bc8f4773d4d8 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c | |||
@@ -16,6 +16,8 @@ | |||
16 | #include "annotate.h" | 16 | #include "annotate.h" |
17 | #include <pthread.h> | 17 | #include <pthread.h> |
18 | 18 | ||
19 | const char *disassembler_style; | ||
20 | |||
19 | int symbol__annotate_init(struct map *map __used, struct symbol *sym) | 21 | int symbol__annotate_init(struct map *map __used, struct symbol *sym) |
20 | { | 22 | { |
21 | struct annotation *notes = symbol__annotation(sym); | 23 | struct annotation *notes = symbol__annotation(sym); |
@@ -323,9 +325,11 @@ fallback: | |||
323 | dso, dso->long_name, sym, sym->name); | 325 | dso, dso->long_name, sym, sym->name); |
324 | 326 | ||
325 | snprintf(command, sizeof(command), | 327 | snprintf(command, sizeof(command), |
326 | "objdump --start-address=0x%016" PRIx64 | 328 | "objdump %s%s --start-address=0x%016" PRIx64 |
327 | " --stop-address=0x%016" PRIx64 | 329 | " --stop-address=0x%016" PRIx64 |
328 | " -d %s %s -C %s|grep -v %s|expand", | 330 | " -d %s %s -C %s|grep -v %s|expand", |
331 | disassembler_style ? "-M " : "", | ||
332 | disassembler_style ? disassembler_style : "", | ||
329 | map__rip_2objdump(map, sym->start), | 333 | map__rip_2objdump(map, sym->start), |
330 | map__rip_2objdump(map, sym->end), | 334 | map__rip_2objdump(map, sym->end), |
331 | symbol_conf.annotate_asm_raw ? "" : "--no-show-raw", | 335 | symbol_conf.annotate_asm_raw ? "" : "--no-show-raw", |
diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h index c2c286896801..6ede1286ee71 100644 --- a/tools/perf/util/annotate.h +++ b/tools/perf/util/annotate.h | |||
@@ -100,4 +100,6 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, int evidx, | |||
100 | int refresh); | 100 | int refresh); |
101 | #endif | 101 | #endif |
102 | 102 | ||
103 | extern const char *disassembler_style; | ||
104 | |||
103 | #endif /* __PERF_ANNOTATE_H */ | 105 | #endif /* __PERF_ANNOTATE_H */ |