Commit | Line | Data |
---|---|---|
71ad0f5e JO |
1 | #ifndef __UNWIND_H |
2 | #define __UNWIND_H | |
3 | ||
4 | #include "types.h" | |
5 | #include "event.h" | |
6 | #include "symbol.h" | |
7 | ||
8 | struct unwind_entry { | |
9 | struct map *map; | |
10 | struct symbol *sym; | |
11 | u64 ip; | |
12 | }; | |
13 | ||
14 | typedef int (*unwind_entry_cb_t)(struct unwind_entry *entry, void *arg); | |
15 | ||
9ff125d1 | 16 | #ifdef HAVE_DWARF_UNWIND_SUPPORT |
71ad0f5e JO |
17 | int unwind__get_entries(unwind_entry_cb_t cb, void *arg, |
18 | struct machine *machine, | |
19 | struct thread *thread, | |
37676af1 | 20 | struct perf_sample *data, int max_stack); |
9ff125d1 JO |
21 | /* libunwind specific */ |
22 | #ifdef HAVE_LIBUNWIND_SUPPORT | |
ea3da69d | 23 | int libunwind__arch_reg_id(int regnum); |
9ff125d1 | 24 | #endif |
71ad0f5e JO |
25 | #else |
26 | static inline int | |
1d037ca1 IT |
27 | unwind__get_entries(unwind_entry_cb_t cb __maybe_unused, |
28 | void *arg __maybe_unused, | |
29 | struct machine *machine __maybe_unused, | |
30 | struct thread *thread __maybe_unused, | |
37676af1 ACM |
31 | struct perf_sample *data __maybe_unused, |
32 | int max_stack __maybe_unused) | |
71ad0f5e JO |
33 | { |
34 | return 0; | |
35 | } | |
9ff125d1 | 36 | #endif /* HAVE_DWARF_UNWIND_SUPPORT */ |
71ad0f5e | 37 | #endif /* __UNWIND_H */ |