perf annotate: Use perf_env when obtaining the arch name
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 3285debaf5992f9729ba33e3f31eff5253d29dc4 Gitweb: https://git.kernel.org/tip/3285debaf5992f9729ba33e3f31eff5253d29dc4 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 11 Dec 2017 12:52:17 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 27 Dec 2017 12:15:51 -0300
perf annotate: Use perf_env when obtaining the arch name
Paving the way to reuse these routines in other areas, like when generating errno tables.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Hendrik Brueckner <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Michael Petlan <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Thomas Richter <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/annotate.c | 17 ++++++++--------- tools/perf/util/evsel.c | 7 ------- tools/perf/util/evsel.h | 1 - 3 files changed, 8 insertions(+), 17 deletions(-)
tools/perf/util/annotate.c +8 -9
@@ -1420,16 +1420,19 @@ fallback:return 0 ; } -static const char *annotate__norm_arch (const char *arch_name) +static const char *perf_env__arch (struct perf_env *env) {struct utsname uts; +char *arch_name; -if (!arch_name) {/* Assume we are annotating locally. */ +if (!env) {/* Assume local operation */ if (uname (&uts) <0 )return NULL ; arch_name = uts.machine; - } -return normalize_arch ((char *)arch_name); + }else + arch_name = env->arch; + +return normalize_arch (arch_name); }static int symbol__disassemble (struct symbol *sym,struct annotate_args *args)
@@ -1630,14 +1633,10 @@ int symbol__annotate(struct symbol *sym, struct map *map, .evsel = evsel, };struct perf_env *env =perf_evsel__env (evsel); -const char *arch_name =NULL ; +const char *arch_name =perf_env__arch (env);struct arch *arch;int err; -if (evsel) - arch_name =perf_evsel__env_arch (evsel); - - arch_name =annotate__norm_arch (arch_name);if (!arch_name)return -1 ;
tools/perf/util/evsel.c +0 -7
@@ -2835,13 +2835,6 @@ int perf_evsel__open_strerror(struct perf_evsel *evsel, struct target *target, perf_evsel__name(evsel)); } -char *perf_evsel__env_arch (struct perf_evsel *evsel) -{ -if (evsel && evsel->evlist && evsel->evlist->env) -return evsel->evlist->env->arch; -return NULL ; -} -struct perf_env *perf_evsel__env (struct perf_evsel *evsel) {if (evsel && evsel->evlist)
tools/perf/util/evsel.h +0 -1
@@ -446,7 +446,6 @@ typedef int (*attr__fprintf_f)(FILE *, const char *, const char *, void *);int perf_event_attr__fprintf (FILE *fp,struct perf_event_attr *attr,attr__fprintf_f attr__fprintf,void *priv); -char *perf_evsel__env_arch (struct perf_evsel *evsel);struct perf_env *perf_evsel__env (struct perf_evsel *evsel);#endif /* __PERF_EVSEL_H */