perf record: Store data mmaps for dwarf unwind
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 <noelgrandin@gmail.com> Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20160107133022.GA32115@krava.brq.redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
0ba98149f8
commit
5c0cf22477
|
@ -815,8 +815,12 @@ int record_parse_callchain_opt(const struct option *opt,
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = parse_callchain_record_opt(arg, &callchain_param);
|
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();
|
callchain_debug();
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue