perf evsel: Fall back to global 'perf_env' in perf_evsel__env()

I.e. if evsel->evlist or evsel->evlist->env isn't set, return the
environment for the running machine, as that would be set if reading
from a perf.data file.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-uqq4grmhbi12rwb0lfpo6lfu@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent f67001a4
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "counts.h" #include "counts.h"
#include "event.h" #include "event.h"
#include "evsel.h" #include "evsel.h"
#include "util/env.h"
#include "util/evsel_config.h" #include "util/evsel_config.h"
#include "util/evsel_fprintf.h" #include "util/evsel_fprintf.h"
#include "evlist.h" #include "evlist.h"
...@@ -2512,7 +2513,7 @@ struct perf_env *perf_evsel__env(struct evsel *evsel) ...@@ -2512,7 +2513,7 @@ struct perf_env *perf_evsel__env(struct evsel *evsel)
{ {
if (evsel && evsel->evlist) if (evsel && evsel->evlist)
return evsel->evlist->env; return evsel->evlist->env;
return NULL; return &perf_env;
} }
static int store_evsel_ids(struct evsel *evsel, struct evlist *evlist) static int store_evsel_ids(struct evsel *evsel, struct evlist *evlist)
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "thread_map.h" #include "thread_map.h"
#include "trace-event.h" #include "trace-event.h"
#include "mmap.h" #include "mmap.h"
#include "util/env.h"
#include <internal/lib.h> #include <internal/lib.h>
#include "../perf-sys.h" #include "../perf-sys.h"
...@@ -53,6 +54,11 @@ int parse_callchain_record(const char *arg __maybe_unused, ...@@ -53,6 +54,11 @@ int parse_callchain_record(const char *arg __maybe_unused,
return 0; return 0;
} }
/*
* Add this one here not to drag util/env.c
*/
struct perf_env perf_env;
/* /*
* Support debug printing even though util/debug.c is not linked. That means * Support debug printing even though util/debug.c is not linked. That means
* implementing 'verbose' and 'eprintf'. * implementing 'verbose' and 'eprintf'.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment