]> Git Repo - linux.git/commitdiff
perf record: Store data mmaps for dwarf unwind
authorJiri Olsa <[email protected]>
Thu, 7 Jan 2016 13:30:22 +0000 (14:30 +0100)
committerArnaldo Carvalho de Melo <[email protected]>
Fri, 8 Jan 2016 17:17:45 +0000 (14:17 -0300)
Currently we don't synthesize data mmap by default. It depends on -d
option, that enables data address sampling.

But we've seen cases (softice) where DWARF unwinder went through non
executable mmaps, which we need to lookup in MAP__VARIABLE tree.

Making data mmaps to be synthesized for dwarf unwind as well.

Reported-by: Noel Grandin <[email protected]>
Signed-off-by: Jiri Olsa <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/builtin-record.c

index 9c5cdc2c44714a937cb04e09a523373773b3a4e8..dc4e0adf5c5b5c60cf96cb22120918c575f2b113 100644 (file)
@@ -815,8 +815,12 @@ int record_parse_callchain_opt(const struct option *opt,
        }
 
        ret = parse_callchain_record_opt(arg, &callchain_param);
-       if (!ret)
+       if (!ret) {
+               /* Enable data address sampling for DWARF unwind. */
+               if (callchain_param.record_mode == CALLCHAIN_DWARF)
+                       record->sample_address = true;
                callchain_debug();
+       }
 
        return ret;
 }
This page took 0.055747 seconds and 4 git commands to generate.