{
        int ret;
 
-       ret = auxtrace_mmap__read(map, rec->itr, &rec->tool,
+       ret = auxtrace_mmap__read(map, rec->itr,
+                                 perf_session__env(rec->session),
+                                 &rec->tool,
                                  record__process_auxtrace);
        if (ret < 0)
                return ret;
 {
        int ret;
 
-       ret = auxtrace_mmap__read_snapshot(map, rec->itr, &rec->tool,
+       ret = auxtrace_mmap__read_snapshot(map, rec->itr,
+                                          perf_session__env(rec->session),
+                                          &rec->tool,
                                           record__process_auxtrace,
                                           rec->opts.auxtrace_snapshot_size);
        if (ret < 0)
 
 }
 
 static int __auxtrace_mmap__read(struct mmap *map,
-                                struct auxtrace_record *itr,
+                                struct auxtrace_record *itr, struct perf_env *env,
                                 const struct perf_tool *tool, process_auxtrace_t fn,
                                 bool snapshot, size_t snapshot_size)
 {
        size_t size, head_off, old_off, len1, len2, padding;
        union perf_event ev;
        void *data1, *data2;
-       int kernel_is_64_bit = perf_env__kernel_is_64_bit(evsel__env(NULL));
+       int kernel_is_64_bit = perf_env__kernel_is_64_bit(env);
 
        head = auxtrace_mmap__read_head(mm, kernel_is_64_bit);
 
 }
 
 int auxtrace_mmap__read(struct mmap *map, struct auxtrace_record *itr,
-                       const struct perf_tool *tool, process_auxtrace_t fn)
+                       struct perf_env *env, const struct perf_tool *tool,
+                       process_auxtrace_t fn)
 {
-       return __auxtrace_mmap__read(map, itr, tool, fn, false, 0);
+       return __auxtrace_mmap__read(map, itr, env, tool, fn, false, 0);
 }
 
 int auxtrace_mmap__read_snapshot(struct mmap *map,
-                                struct auxtrace_record *itr,
+                                struct auxtrace_record *itr, struct perf_env *env,
                                 const struct perf_tool *tool, process_auxtrace_t fn,
                                 size_t snapshot_size)
 {
-       return __auxtrace_mmap__read(map, itr, tool, fn, true, snapshot_size);
+       return __auxtrace_mmap__read(map, itr, env, tool, fn, true, snapshot_size);
 }
 
 /**
 
 struct perf_session;
 struct evlist;
 struct evsel;
+struct perf_env;
 struct perf_tool;
 struct mmap;
 struct perf_sample;
                                  size_t len1, void *data2, size_t len2);
 
 int auxtrace_mmap__read(struct mmap *map, struct auxtrace_record *itr,
-                       const struct perf_tool *tool, process_auxtrace_t fn);
+                       struct perf_env *env, const struct perf_tool *tool,
+                       process_auxtrace_t fn);
 
 int auxtrace_mmap__read_snapshot(struct mmap *map,
-                                struct auxtrace_record *itr,
+                                struct auxtrace_record *itr, struct perf_env *env,
                                 const struct perf_tool *tool, process_auxtrace_t fn,
                                 size_t snapshot_size);