.. | .. |
---|
4 | 4 | |
---|
5 | 5 | #include <stdbool.h> |
---|
6 | 6 | #include "intlist.h" |
---|
| 7 | +#include "build-id.h" |
---|
7 | 8 | #include "probe-event.h" |
---|
8 | | -#include "sane_ctype.h" |
---|
| 9 | +#include <linux/ctype.h> |
---|
9 | 10 | |
---|
10 | 11 | #define MAX_PROBE_BUFFER 1024 |
---|
11 | 12 | #define MAX_PROBES 128 |
---|
.. | .. |
---|
32 | 33 | Dwfl_Module *mod; |
---|
33 | 34 | Dwfl *dwfl; |
---|
34 | 35 | Dwarf_Addr bias; |
---|
| 36 | + const unsigned char *build_id; |
---|
35 | 37 | }; |
---|
36 | 38 | |
---|
37 | 39 | /* This also tries to open distro debuginfo */ |
---|
.. | .. |
---|
59 | 61 | struct variable_list **vls); |
---|
60 | 62 | |
---|
61 | 63 | /* Find a src file from a DWARF tag path */ |
---|
62 | | -int get_real_path(const char *raw_path, const char *comp_dir, |
---|
63 | | - char **new_path); |
---|
| 64 | +int find_source_path(const char *raw_path, const char *sbuild_id, |
---|
| 65 | + const char *comp_dir, char **new_path); |
---|
64 | 66 | |
---|
65 | 67 | struct probe_finder { |
---|
66 | 68 | struct perf_probe_event *pev; /* Target probe event */ |
---|
| 69 | + struct debuginfo *dbg; |
---|
67 | 70 | |
---|
68 | 71 | /* Callback when a probe point is found */ |
---|
69 | 72 | int (*callback)(Dwarf_Die *sc_die, struct probe_finder *pf); |
---|
.. | .. |
---|
87 | 90 | unsigned int machine; /* Target machine arch */ |
---|
88 | 91 | struct perf_probe_arg *pvar; /* Current target variable */ |
---|
89 | 92 | struct probe_trace_arg *tvar; /* Current result variable */ |
---|
| 93 | + bool skip_empty_arg; /* Skip non-exist args */ |
---|
90 | 94 | }; |
---|
91 | 95 | |
---|
92 | 96 | struct trace_event_finder { |
---|