Home
last modified time | relevance | path

Searched refs:dso (Results 1 – 25 of 109) sorted by relevance

12345

/linux/tools/perf/util/
H A Ddso.h163 #define DSO__SWAP(dso, type, val) \ argument
166 enum dso_swap_type ___dst = dso__needs_swap(dso); \
229 struct dso *dso; member
251 DECLARE_RC_STRUCT(dso) { in DECLARE_RC_STRUCT() argument
324 #define dso__for_each_symbol(dso, pos, n) \ argument
325 symbols__for_each_entry(dso__symbols(dso), pos, n)
327 static inline void *dso__a2l(const struct dso *dso) in dso__a2l() argument
329 return RC_CHK_ACCESS(dso)->a2l; in dso__a2l()
332 static inline void dso__set_a2l(struct dso *dso, void *val) in dso__set_a2l() argument
334 RC_CHK_ACCESS(dso)->a2l = val; in dso__set_a2l()
[all …]
H A Ddso.c43 void dso__set_nsinfo(struct dso *dso, struct nsinfo *nsi) in dso__set_nsinfo() argument
45 nsinfo__put(RC_CHK_ACCESS(dso)->nsinfo); in dso__set_nsinfo()
46 RC_CHK_ACCESS(dso)->nsinfo = nsi; in dso__set_nsinfo()
49 char dso__symtab_origin(const struct dso *dso) in dso__symtab_origin() argument
73 if (dso == NULL || dso__symtab_type(dso) == DSO_BINARY_TYPE__NOT_FOUND) in dso__symtab_origin()
75 return origin[dso__symtab_type(dso)]; in dso__symtab_origin()
78 bool dso__is_object_file(const struct dso *dso) in dso__is_object_file() argument
80 switch (dso__binary_type(dso)) { in dso__is_object_file()
112 int dso__read_binary_type_filename(const struct dso *dso, in dso__read_binary_type_filename() argument
128 len = __symbol__join_symfs(filename, size, dso__long_name(dso)); in dso__read_binary_type_filename()
[all …]
H A Ddsos.c30 struct dso *dso = dsos->dsos[i]; in dsos__purge() local
32 dso__set_dsos(dso, NULL); in dsos__purge()
33 dso__put(dso); in dsos__purge()
52 int (*cb)(struct dso *dso, void *data), in __dsos__for_each_dso() argument
56 struct dso *dso = dsos->dsos[i]; in __dsos__for_each_dso() local
59 err = cb(dso, data); in __dsos__for_each_dso()
71 static int dsos__read_build_ids_cb(struct dso *dso, void *data) in dsos__read_build_ids_cb() argument
77 if (args->with_hits && !dso__hit(dso) && !dso__is_vdso(dso)) in dsos__read_build_ids_cb()
79 if (dso__has_build_id(dso)) { in dsos__read_build_ids_cb()
83 nsinfo__mountns_enter(dso__nsinfo(dso), &nsc); in dsos__read_build_ids_cb()
[all …]
H A Dmap.c106 struct dso *dso, u32 prot, u32 flags) in map__init() argument
112 map__set_dso(map, dso__get(dso)); in map__init()
135 struct dso *dso; in map__new() local
167 dso = machine__findnew_vdso(machine, thread); in map__new()
169 dso = machine__findnew_dso_id(machine, filename, id); in map__new()
171 if (dso == NULL) in map__new()
174 assert(!dso__kernel(dso)); in map__new()
175 map__init(result, start, start + len, pgoff, dso, prot, flags); in map__new()
186 dso__set_loaded(dso); in map__new()
188 mutex_lock(dso__lock(dso)); in map__new()
[all …]
H A Dvdso.c127 static struct dso *__machine__addnew_vdso(struct machine *machine, const char *short_name, in __machine__addnew_vdso()
130 struct dso *dso; in __machine__addnew_vdso() local
132 dso = dso__new(short_name); in __machine__addnew_vdso()
133 if (dso != NULL) { in __machine__addnew_vdso()
134 __dsos__add(&machine->dsos, dso); in __machine__addnew_vdso()
135 dso__set_long_name(dso, long_name, false); in __machine__addnew_vdso()
138 return dso; in __machine__addnew_vdso()
149 struct dso *dso = map__dso(map); in machine__thread_dso_type_maps_cb() local
151 if (!dso || dso__long_name(dso)[0] != '/') in machine__thread_dso_type_maps_cb()
154 args->dso_type = dso__type(dso, args->machine); in machine__thread_dso_type_maps_cb()
[all …]
H A Dsrcline.c17 static const char *srcline_dso_name(struct dso *dso) in srcline_dso_name() argument
21 if (dso__symsrc_filename(dso)) in srcline_dso_name()
22 dso_name = dso__symsrc_filename(dso); in srcline_dso_name()
24 dso_name = dso__long_name(dso); in srcline_dso_name()
78 struct symbol *new_inline_sym(struct dso *dso, in new_inline_sym() argument
88 if (dso) { in new_inline_sym()
89 demangled = dso__demangle_sym(dso, 0, funcname); in new_inline_sym()
118 struct dso *dso, bool unwind_inlines, struct inline_node *node, in addr2line() argument
123 ret = llvm__addr2line(dso_name, addr, file, line_nr, dso, unwind_inlines, node, sym); in addr2line()
127 ret = libbfd__addr2line(dso_name, addr, file, line_nr, dso, unwind_inlines, node, sym); in addr2line()
[all …]
H A Dsymbol.c52 static int dso__load_kernel_sym(struct dso *dso, struct map *map);
53 static int dso__load_guest_kernel_sym(struct dso *dso, struct map *map);
560 void dso__reset_find_symbol_cache(struct dso *dso) in dso__reset_find_symbol_cache() argument
562 dso__set_last_find_result_addr(dso, 0); in dso__reset_find_symbol_cache()
563 dso__set_last_find_result_symbol(dso, NULL); in dso__reset_find_symbol_cache()
566 void dso__insert_symbol(struct dso *dso, struct symbol *sym) in dso__insert_symbol() argument
568 __symbols__insert(dso__symbols(dso), sym, dso__kernel(dso)); in dso__insert_symbol()
571 if (dso__last_find_result_addr(dso) >= sym->start && in dso__insert_symbol()
572 (dso__last_find_result_addr(dso) < sym->end || in dso__insert_symbol()
574 dso__set_last_find_result_symbol(dso, sym); in dso__insert_symbol()
[all …]
H A Dsymbol.h23 struct dso;
118 int dso__load(struct dso *dso, struct map *map);
119 int dso__load_vmlinux(struct dso *dso, struct map *map,
121 int dso__load_vmlinux_path(struct dso *dso, struct map *map);
122 int __dso__load_kallsyms(struct dso *dso, const char *filename, struct map *map,
124 int dso__load_kallsyms(struct dso *dso, const char *filename, struct map *map);
126 void dso__insert_symbol(struct dso *dso,
128 void dso__delete_symbol(struct dso *dso,
131 struct symbol *dso__find_symbol(struct dso *dso, u64 addr);
132 struct symbol *dso__find_symbol_nocache(struct dso *dso, u64 addr);
[all …]
H A Ddsos.h11 struct dso;
22 struct dso **dsos;
31 int __dsos__add(struct dsos *dsos, struct dso *dso);
32 int dsos__add(struct dsos *dsos, struct dso *dso);
33 struct dso *dsos__find(struct dsos *dsos, const char *name, bool cmp_short);
35 struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, const struct dso_id *id);
40 bool (skip)(struct dso *dso, int parm), int parm);
45 struct dso *dsos__findnew_module_dso(struct dsos *dsos, struct machine *machine,
48 struct dso *dsos__find_kernel_dso(struct dsos *dsos);
50 int dsos__for_each_dso(struct dsos *dsos, int (*cb)(struct dso *dso, void *data), void *data);
H A Dunwind-libunwind-local.c284 static int unwind_spec_ehframe(struct dso *dso, struct machine *machine, in unwind_spec_ehframe() argument
292 r = dso__data_read_offset(dso, machine, offset, in unwind_spec_ehframe()
306 struct dso *dso; member
315 if (map__dso(map) == args->dso && map__start(map) - map__pgoff(map) < args->base_addr) in read_unwind_spec_eh_frame_maps_cb()
322 static int read_unwind_spec_eh_frame(struct dso *dso, struct unwind_info *ui, in read_unwind_spec_eh_frame() argument
327 .dso = dso, in read_unwind_spec_eh_frame()
332 if (dso__data(dso)->eh_frame_hdr_offset == 0) { in read_unwind_spec_eh_frame()
333 if (!dso__data_get_fd(dso, ui->machine, &fd)) in read_unwind_spec_eh_frame()
338 &dso__data(dso)->eh_frame_hdr_addr, in read_unwind_spec_eh_frame()
339 &dso__data(dso)->eh_frame_hdr_offset); in read_unwind_spec_eh_frame()
[all …]
H A Dsrcline.h9 struct dso;
13 char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
15 char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
19 char *get_srcline_split(struct dso *dso, u64 addr, unsigned *line);
46 struct inline_node *dso__parse_addr_inlines(struct dso *dso, u64 addr,
61 struct symbol *new_inline_sym(struct dso *dso,
H A Dlibbfd.c208 static int inline_list__append_dso_a2l(struct dso *dso, in inline_list__append_dso_a2l() argument
212 struct a2l_data *a2l = dso__a2l(dso); in inline_list__append_dso_a2l()
213 struct symbol *inline_sym = new_inline_sym(dso, sym, a2l->funcname); in inline_list__append_dso_a2l()
223 char **file, unsigned int *line, struct dso *dso, in libbfd__addr2line() argument
228 struct a2l_data *a2l = dso__a2l(dso); in libbfd__addr2line()
232 dso__set_a2l(dso, a2l); in libbfd__addr2line()
252 if (node && inline_list__append_dso_a2l(dso, node, sym)) in libbfd__addr2line()
263 if (inline_list__append_dso_a2l(dso, node, sym)) in libbfd__addr2line()
282 void dso__free_a2l_libbfd(struct dso *dso) in dso__free_a2l_libbfd() argument
284 struct a2l_data *a2l = dso__a2l(dso); in dso__free_a2l_libbfd()
[all …]
H A Dunwind-libdw.c29 const struct dso *dso = *userdata; in __find_debuginfo() local
31 assert(dso); in __find_debuginfo()
32 if (dso__symsrc_filename(dso) && strcmp(file_name, dso__symsrc_filename(dso))) in __find_debuginfo()
33 *debuginfo_file_name = strdup(dso__symsrc_filename(dso)); in __find_debuginfo()
48 struct dso *dso = NULL; in __report_module() local
57 dso = map__dso(al->map); in __report_module()
59 if (!dso) in __report_module()
69 if (!strncmp(dso__long_name(dso), "/tmp/jitted-", 12)) in __report_module()
86 __symbol__join_symfs(filename, sizeof(filename), dso__long_name(dso)); in __report_module()
89 mod = dwfl_report_elf(ui->dwfl, dso__short_name(dso), filename, -1, in __report_module()
[all …]
H A Dbuild-id.c249 char *__dso__build_id_filename(const struct dso *dso, char *bf, size_t size, in __dso__build_id_filename() argument
252 bool is_vdso = dso__is_vdso((struct dso *)dso); in __dso__build_id_filename()
258 if (!dso__has_build_id(dso)) in __dso__build_id_filename()
261 build_id__snprintf(dso__bid(dso), sbuild_id, sizeof(sbuild_id)); in __dso__build_id_filename()
280 char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size, in dso__build_id_filename() argument
283 bool is_kallsyms = dso__is_kallsyms((struct dso *)dso); in dso__build_id_filename()
285 return __dso__build_id_filename(dso, bf, size, is_debug, is_kallsyms); in dso__build_id_filename()
319 static int machine__write_buildid_table_cb(struct dso *dso, void *data) in machine__write_buildid_table_cb() argument
326 if (!dso__has_build_id(dso)) in machine__write_buildid_table_cb()
329 if (!dso__hit(dso) && !dso__is_vdso(dso)) in machine__write_buildid_table_cb()
[all …]
H A Dlibbfd.h12 struct dso;
18 char **file, unsigned int *line, struct dso *dso,
23 void dso__free_a2l_libbfd(struct dso *dso);
41 struct dso *dso __always_unused, in libbfd__addr2line()
50 static inline void dso__free_a2l_libbfd(struct dso *dso __always_unused) in dso__free_a2l_libbfd()
H A Dsymbol-elf.c335 static bool get_ifunc_name(Elf *elf, struct dso *dso, GElf_Ehdr *ehdr, in get_ifunc_name() argument
350 sym = dso__find_symbol_nocache(dso, addr); in get_ifunc_name()
366 static bool get_plt_sizes(struct dso *dso, GElf_Ehdr *ehdr, GElf_Shdr *shdr_plt, in get_plt_sizes() argument
405 pr_debug("Missing PLT entry size for %s\n", dso__long_name(dso)); in get_plt_sizes()
420 struct dso *dso; member
552 demangled = dso__demangle_sym(di->dso, /*kmodule=*/0, sym_name); in get_plt_got_name()
565 static int dso__synthesize_plt_got_symbols(struct dso *dso, Elf *elf, in dso__synthesize_plt_got_symbols() argument
569 struct rela_dyn_info di = { .dso = dso }; in dso__synthesize_plt_got_symbols()
589 symbols__insert(dso__symbols(dso), sym); in dso__synthesize_plt_got_symbols()
604 int dso__synthesize_plt_symbols(struct dso *dso, struct symsrc *ss) in dso__synthesize_plt_symbols() argument
[all …]
H A Daddr2line.c271 static int inline_list__append_record(struct dso *dso, in inline_list__append_record() argument
278 struct symbol *inline_sym = new_inline_sym(dso, sym, function); in inline_list__append_record()
285 struct dso *dso, in cmd__addr2line() argument
290 struct child_process *a2l = dso__a2l(dso); in cmd__addr2line()
307 dso__set_a2l(dso, in cmd__addr2line()
309 a2l = dso__a2l(dso); in cmd__addr2line()
385 if (node && inline_list__append_record(dso, node, sym, in cmd__addr2line()
408 if (inline_list__append_record(dso, node, sym, in cmd__addr2line()
423 dso__set_a2l(dso, NULL); in cmd__addr2line()
429 void dso__free_a2l(struct dso *dso) in dso__free_a2l() argument
[all …]
/linux/tools/perf/tests/
H A Dsymbols.c51 struct dso *dso; member
59 if (map__dso(map) != data->dso) in find_map_cb()
65 static struct map *find_module_map(struct machine *machine, struct dso *dso) in find_module_map() argument
67 struct dso_map data = { .dso = dso }; in find_module_map()
84 struct dso *dso = machine__findnew_dso(ti->machine, filename); in create_map() local
90 if (dso && dso__kernel(dso) != DSO_SPACE__USER) { in create_map()
91 *map_p = find_module_map(ti->machine, dso); in create_map()
92 dso__put(dso); in create_map()
102 dso__put(dso); in create_map()
115 static int test_dso(struct dso *dso) in test_dso() argument
[all …]
H A Ddso-data.c12 #include "dso.h"
106 /* move it from util/dso.c for compatibility */ in dso__data_fd() argument
107 static int dso__data_fd(struct dso *dso, struct machine *machine) in dso__data_fd()
111 if (dso__data_get_fd(dso, machine, &fd)) in dso__data_fd()
112 dso__data_put_fd(dso); in dso__data_fd()
120 struct dso *dso = dsos->dsos[i]; in test__dso_data()
122 dso__data_close(dso); in test__dso_data()
123 unlink(dso__name(dso)); in test__dso_data()
119 struct dso *dso; test__dso_data() local
229 struct dso *dso = dsos[i]; dsos__delete() local
272 struct dso *dso = dsos[i]; test__dso_data_cache() local
[all...]
H A Dhists_common.c4 #include "util/dso.h"
129 struct dso *dso; in setup_fake_machine() local
131 dso = machine__findnew_dso(machine, fake_symbols[i].dso_name); in setup_fake_machine()
132 if (dso == NULL) in setup_fake_machine()
136 dso__set_loaded(dso); in setup_fake_machine()
145 dso__put(dso); in setup_fake_machine()
149 symbols__insert(dso__symbols(dso), sym); in setup_fake_machine()
152 dso__put(dso); in setup_fake_machine()
182 struct dso *ds in print_hists_in() local
211 struct dso *dso = map__dso(he->ms.map); print_hists_out() local
[all...]
H A Dpe-file-parsing.c34 struct dso *dso; in run_dir() local
58 dso = dso__new(filename); in run_dir()
59 TEST_ASSERT_VAL("Failed to get dso", dso); in run_dir()
61 ret = dso__load_bfd_symbols(dso, debugfile); in run_dir()
64 dso__sort_by_name(dso); in run_dir()
65 sym = dso__find_symbol_by_name(dso, "main", &idx); in run_dir()
67 dso__delete(dso); in run_dir()
/linux/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/
H A DEventClass.py26 def create_event(name, comm, dso, symbol, raw_buf): argument
28 event = PebsEvent(name, comm, dso, symbol, raw_buf)
30 event = PebsNHM(name, comm, dso, symbol, raw_buf)
32 event = PerfEvent(name, comm, dso, symbol, raw_buf)
38 def __init__(self, name, comm, dso, symbol, raw_buf, ev_type=EVTYPE_GENERIC): argument
41 self.dso = dso
49 (self.name, self.symbol, self.comm, self.dso))
58 def __init__(self, name, comm, dso, symbol, raw_buf, ev_type=EVTYPE_PEBS): argument
72 PerfEvent.__init__(self, name, comm, dso, symbol, raw_buf, ev_type)
87 def __init__(self, name, comm, dso, symbol, raw_buf, ev_type=EVTYPE_PEBS_LL): argument
[all …]
/linux/tools/perf/arch/powerpc/util/
H A Dskip-callchain-idx.c152 static int check_return_addr(struct dso *dso, u64 map_start, Dwarf_Addr pc) in check_return_addr() argument
162 const char *exec_file = dso__long_name(dso); in check_return_addr()
164 dwfl = RC_CHK_ACCESS(dso)->dwfl; in check_return_addr()
186 RC_CHK_ACCESS(dso)->dwfl = dwfl; in check_return_addr()
245 struct dso *dso = NULL; in arch_skip_callchain_idx() local
259 dso = map__dso(al.map); in arch_skip_callchain_idx()
261 if (!dso) { in arch_skip_callchain_idx()
267 rc = check_return_addr(dso, map__start(al.map), ip); in arch_skip_callchain_idx()
270 dso__long_name(dso), al.sym->name, ip, rc); in arch_skip_callchain_idx()
/linux/tools/perf/scripts/python/
H A Dintel-pt-events.py266 def print_common_ip(param_dict, sample, symbol, dso): argument
287 print("%s%s (%s)" % (symbol, offs, dso), end=' ')
289 print("%16x %s%s (%s)" % (ip, symbol, offs, dso), end=' ')
292 dso = get_optional(sample, "addr_dso")
295 print("=> %x %s%s (%s)%s" % (addr, symbol, offs, dso, ipc_str))
299 def print_srccode(comm, param_dict, sample, symbol, dso, with_insn): argument
331 elif dso == glb_dso:
334 src_str = dso
335 glb_dso = dso
354 dso = get_optional(param_dict, "dso")
[all …]
/linux/tools/perf/bench/
H A Dinject-buildid.c82 struct bench_dso *dso = &dsos[nr_dsos]; in add_dso() local
91 dso->name = realpath(fpath, NULL); in add_dso()
92 if (dso->name == NULL) in add_dso()
95 dso->ino = nr_dsos++; in add_dso()
124 struct bench_dso *dso = &dsos[i]; in release_dso() local
126 zfree(&dso->name); in release_dso()
132 static u64 dso_map_addr(struct bench_dso *dso) in dso_map_addr() argument
134 return 0x400000ULL + dso->ino * 8192ULL; in dso_map_addr()
173 static ssize_t synthesize_mmap(struct bench_data *data, struct bench_dso *dso, u64 timestamp) in synthesize_mmap() argument
180 len += roundup(strlen(dso->name) + 1, 8) + bench_id_hdr_size; in synthesize_mmap()
[all …]

12345