diff options
author | Jiri Olsa <jolsa@redhat.com> | 2014-02-19 16:52:57 +0100 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-02-24 09:29:36 -0300 |
commit | 5ea8415407a76c4a85ac971ec82d110161cd77f1 (patch) | |
tree | b9fc3f0b4c9b37d8a35407d953a06910b1c79d56 /tools/perf/util/unwind-libdw.h | |
parent | 45757895c785e0a4c10afd5670cdc26cea2bbc97 (diff) | |
download | linux-5ea8415407a76c4a85ac971ec82d110161cd77f1.tar.gz linux-5ea8415407a76c4a85ac971ec82d110161cd77f1.tar.bz2 linux-5ea8415407a76c4a85ac971ec82d110161cd77f1.zip |
perf tools: Add libdw DWARF post unwind support
Adding libdw DWARF post unwind support, which is part of
elfutils-devel/libdw-dev package from version 0.158.
The new code is contained in unwin-libdw.c object, and implements
unwind__get_entries unwind interface function.
New Makefile variable NO_LIBDW_DWARF_UNWIND was added to control its
compilation, and is marked as disabled now. It's factored with the rest
of the Makefile unwind build code in the next patch.
Arch specific code was added for x86.
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1392825179-5228-5-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/unwind-libdw.h')
-rw-r--r-- | tools/perf/util/unwind-libdw.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/perf/util/unwind-libdw.h b/tools/perf/util/unwind-libdw.h new file mode 100644 index 000000000000..417a1426f3ad --- /dev/null +++ b/tools/perf/util/unwind-libdw.h @@ -0,0 +1,21 @@ +#ifndef __PERF_UNWIND_LIBDW_H +#define __PERF_UNWIND_LIBDW_H + +#include <elfutils/libdwfl.h> +#include "event.h" +#include "thread.h" +#include "unwind.h" + +bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg); + +struct unwind_info { + Dwfl *dwfl; + struct perf_sample *sample; + struct machine *machine; + struct thread *thread; + unwind_entry_cb_t cb; + void *arg; + int max_stack; +}; + +#endif /* __PERF_UNWIND_LIBDW_H */ |