Home
last modified time | relevance | path

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

1234

/Linux-v4.19/tools/perf/util/
Ddso.c30 char dso__symtab_origin(const struct dso *dso) in dso__symtab_origin() argument
52 if (dso == NULL || dso->symtab_type == DSO_BINARY_TYPE__NOT_FOUND) in dso__symtab_origin()
54 return origin[dso->symtab_type]; in dso__symtab_origin()
57 int dso__read_binary_type_filename(const struct dso *dso, in dso__read_binary_type_filename() argument
73 len = __symbol__join_symfs(filename, size, dso->long_name); in dso__read_binary_type_filename()
104 if (dso__build_id_filename(dso, filename, size, false) == NULL) in dso__read_binary_type_filename()
109 if (dso__build_id_filename(dso, filename, size, true) == NULL) in dso__read_binary_type_filename()
115 snprintf(filename + len, size - len, "%s.debug", dso->long_name); in dso__read_binary_type_filename()
120 snprintf(filename + len, size - len, "%s", dso->long_name); in dso__read_binary_type_filename()
128 last_slash = dso->long_name + dso->long_name_len; in dso__read_binary_type_filename()
[all …]
Ddso.h94 #define DSO__SWAP(dso, type, val) \ argument
97 BUG_ON(dso->needs_swap == DSO_SWAP__UNSET); \
98 if (dso->needs_swap == DSO_SWAP__YES) { \
138 struct dso { struct
207 #define dso__for_each_symbol(dso, pos, n) \ argument
208 symbols__for_each_entry(&(dso)->symbols, pos, n)
210 static inline void dso__set_loaded(struct dso *dso) in dso__set_loaded() argument
212 dso->loaded = true; in dso__set_loaded()
215 struct dso *dso__new(const char *name);
216 void dso__delete(struct dso *dso);
[all …]
Dvdso.c124 static struct dso *__machine__addnew_vdso(struct machine *machine, const char *short_name, in __machine__addnew_vdso()
127 struct dso *dso; in __machine__addnew_vdso() local
129 dso = dso__new(short_name); in __machine__addnew_vdso()
130 if (dso != NULL) { in __machine__addnew_vdso()
131 __dsos__add(&machine->dsos, dso); in __machine__addnew_vdso()
132 dso__set_long_name(dso, long_name, false); in __machine__addnew_vdso()
135 return dso; in __machine__addnew_vdso()
145 struct dso *dso = map->dso; in machine__thread_dso_type() local
146 if (!dso || dso->long_name[0] != '/') in machine__thread_dso_type()
148 dso_type = dso__type(dso, machine); in machine__thread_dso_type()
[all …]
Dsymbol.c33 static int dso__load_kernel_sym(struct dso *dso, struct map *map);
34 static int dso__load_guest_kernel_sym(struct dso *dso, struct map *map);
478 void dso__reset_find_symbol_cache(struct dso *dso) in dso__reset_find_symbol_cache() argument
480 dso->last_find_result.addr = 0; in dso__reset_find_symbol_cache()
481 dso->last_find_result.symbol = NULL; in dso__reset_find_symbol_cache()
484 void dso__insert_symbol(struct dso *dso, struct symbol *sym) in dso__insert_symbol() argument
486 __symbols__insert(&dso->symbols, sym, dso->kernel); in dso__insert_symbol()
489 if (dso->last_find_result.addr >= sym->start && in dso__insert_symbol()
490 (dso->last_find_result.addr < sym->end || in dso__insert_symbol()
492 dso->last_find_result.symbol = sym; in dso__insert_symbol()
[all …]
Dsrcline.c19 static const char *dso__name(struct dso *dso) in dso__name() argument
23 if (dso->symsrc_filename) in dso__name()
24 dso_name = dso->symsrc_filename; in dso__name()
26 dso_name = dso->long_name; in dso__name()
81 static struct symbol *new_inline_sym(struct dso *dso, in new_inline_sym() argument
91 if (dso) { in new_inline_sym()
92 demangled = dso__demangle_sym(dso, 0, funcname); in new_inline_sym()
262 static int inline_list__append_dso_a2l(struct dso *dso, in inline_list__append_dso_a2l() argument
266 struct a2l_data *a2l = dso->a2l; in inline_list__append_dso_a2l()
267 struct symbol *inline_sym = new_inline_sym(dso, sym, a2l->funcname); in inline_list__append_dso_a2l()
[all …]
Dsymbol.h247 int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
252 int dso__load(struct dso *dso, struct map *map);
253 int dso__load_vmlinux(struct dso *dso, struct map *map,
255 int dso__load_vmlinux_path(struct dso *dso, struct map *map);
256 int __dso__load_kallsyms(struct dso *dso, const char *filename, struct map *map,
258 int dso__load_kallsyms(struct dso *dso, const char *filename, struct map *map);
260 void dso__insert_symbol(struct dso *dso,
263 struct symbol *dso__find_symbol(struct dso *dso, u64 addr);
264 struct symbol *dso__find_symbol_by_name(struct dso *dso, const char *name);
268 struct symbol *dso__first_symbol(struct dso *dso);
[all …]
Dmap.c127 void map__init(struct map *map, u64 start, u64 end, u64 pgoff, struct dso *dso) in map__init() argument
133 map->dso = dso__get(dso); in map__init()
153 struct dso *dso; in map__new() local
192 dso = machine__findnew_vdso(machine, thread); in map__new()
194 dso = machine__findnew_dso(machine, filename); in map__new()
196 if (dso == NULL) in map__new()
199 map__init(map, start, start + len, pgoff, dso); in map__new()
210 dso__set_loaded(dso); in map__new()
212 dso->nsinfo = nsi; in map__new()
213 dso__put(dso); in map__new()
[all …]
Dunwind-libunwind-local.c248 static int unwind_spec_ehframe(struct dso *dso, struct machine *machine, in unwind_spec_ehframe() argument
257 r = dso__data_read_offset(dso, machine, offset, in unwind_spec_ehframe()
271 static int read_unwind_spec_eh_frame(struct dso *dso, struct machine *machine, in read_unwind_spec_eh_frame() argument
276 u64 offset = dso->data.eh_frame_hdr_offset; in read_unwind_spec_eh_frame()
279 fd = dso__data_get_fd(dso, machine); in read_unwind_spec_eh_frame()
285 dso->data.eh_frame_hdr_offset = offset; in read_unwind_spec_eh_frame()
286 dso__data_put_fd(dso); in read_unwind_spec_eh_frame()
290 ret = unwind_spec_ehframe(dso, machine, offset, in read_unwind_spec_eh_frame()
298 static int read_unwind_spec_debug_frame(struct dso *dso, in read_unwind_spec_debug_frame() argument
302 u64 ofs = dso->data.debug_frame_offset; in read_unwind_spec_debug_frame()
[all …]
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,
42 struct inline_node *dso__parse_addr_inlines(struct dso *dso, u64 addr,
Ddb-export.h26 struct dso;
58 int (*export_dso)(struct db_export *dbe, struct dso *dso,
61 struct dso *dso);
94 int db_export__dso(struct db_export *dbe, struct dso *dso,
97 struct dso *dso);
Dsymbol-elf.c202 static char *demangle_sym(struct dso *dso, int kmodule, const char *elf_name) in demangle_sym() argument
212 if (!want_demangle(dso->kernel || kmodule)) in demangle_sym()
245 int dso__synthesize_plt_symbols(struct dso *dso, struct symsrc *ss) in dso__synthesize_plt_symbols() argument
345 demangled = demangle_sym(dso, 0, elf_name); in dso__synthesize_plt_symbols()
358 symbols__insert(&dso->symbols, f); in dso__synthesize_plt_symbols()
371 demangled = demangle_sym(dso, 0, elf_name); in dso__synthesize_plt_symbols()
384 symbols__insert(&dso->symbols, f); in dso__synthesize_plt_symbols()
394 __func__, dso->long_name); in dso__synthesize_plt_symbols()
398 char *dso__demangle_sym(struct dso *dso, int kmodule, const char *elf_name) in dso__demangle_sym() argument
400 return demangle_sym(dso, kmodule, elf_name); in dso__demangle_sym()
[all …]
Dunwind-libdw.c30 struct dso *dso = NULL; in __report_module() local
38 dso = al->map->dso; in __report_module()
40 if (!dso) in __report_module()
53 mod = dwfl_report_elf(ui->dwfl, dso->short_name, in __report_module()
54 (dso->symsrc_filename ? dso->symsrc_filename : dso->long_name), -1, al->map->start, in __report_module()
112 if (!al.map->dso) in access_dso_mem()
115 size = dso__data_read_addr(al.map->dso, al.map, ui->machine, in access_dso_mem()
Dmachine.c154 struct dso *pos, *n; in dsos__purge()
636 static struct dso *machine__findnew_module_dso(struct machine *machine, in machine__findnew_module_dso()
640 struct dso *dso; in machine__findnew_module_dso() local
644 dso = __dsos__find(&machine->dsos, m->name, true); in machine__findnew_module_dso()
645 if (!dso) { in machine__findnew_module_dso()
646 dso = __dsos__addnew(&machine->dsos, m->name); in machine__findnew_module_dso()
647 if (dso == NULL) in machine__findnew_module_dso()
650 dso__set_module_info(dso, m, machine); in machine__findnew_module_dso()
651 dso__set_long_name(dso, strdup(filename), true); in machine__findnew_module_dso()
654 dso__get(dso); in machine__findnew_module_dso()
[all …]
Ddb-export.c206 int db_export__dso(struct db_export *dbe, struct dso *dso, in db_export__dso() argument
209 if (dso->db_id) in db_export__dso()
212 dso->db_id = ++dbe->dso_last_db_id; in db_export__dso()
215 return dbe->export_dso(dbe, dso, machine); in db_export__dso()
221 struct dso *dso) in db_export__symbol() argument
231 return dbe->export_symbol(dbe, sym, dso); in db_export__symbol()
242 struct dso *dso = al->map->dso; in db_ids_from_al() local
244 err = db_export__dso(dbe, dso, al->machine); in db_ids_from_al()
247 *dso_db_id = dso->db_id; in db_ids_from_al()
252 dso__insert_symbol(dso, al->sym); in db_ids_from_al()
[all …]
Dvdso.h20 struct dso;
22 bool dso__is_vdso(struct dso *dso);
27 struct dso *machine__findnew_vdso(struct machine *machine, struct thread *thread);
Dsymbol-minimal.c251 int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name, in symsrc__init() argument
269 dso->load_errno = errno; in symsrc__init()
290 int dso__synthesize_plt_symbols(struct dso *dso __maybe_unused, in dso__synthesize_plt_symbols()
334 int dso__load_sym(struct dso *dso, struct map *map __maybe_unused, in dso__load_sym() argument
344 dso->is_64_bit = ret; in dso__load_sym()
347 dso__set_build_id(dso, build_id); in dso__load_sym()
378 char *dso__demangle_sym(struct dso *dso __maybe_unused, in dso__demangle_sym()
Dbuild-id.c51 al.map->dso->hit = 1; in build_id__mark_dso_hit()
252 char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size, in dso__build_id_filename() argument
255 bool is_kallsyms = dso__is_kallsyms((struct dso *)dso); in dso__build_id_filename()
256 bool is_vdso = dso__is_vdso((struct dso *)dso); in dso__build_id_filename()
262 if (!dso->has_build_id) in dso__build_id_filename()
265 build_id__sprintf(dso->build_id, sizeof(dso->build_id), sbuild_id); in dso__build_id_filename()
317 struct dso *pos; in machine__write_buildid_table()
377 struct dso *pos; in __dsos__hit_all()
807 static int dso__cache_build_id(struct dso *dso, struct machine *machine) in dso__cache_build_id() argument
809 bool is_kallsyms = dso__is_kallsyms(dso); in dso__cache_build_id()
[all …]
Dmap.h16 struct dso;
45 struct dso *dso; member
123 dso__for_each_symbol(map->dso, pos, n)
143 u64 start, u64 end, u64 pgoff, struct dso *dso);
148 struct map *map__new2(u64 start, struct dso *dso);
/Linux-v4.19/tools/perf/tests/
Ddso-data.c106 static int dso__data_fd(struct dso *dso, struct machine *machine) in dso__data_fd() argument
108 int fd = dso__data_get_fd(dso, machine); in dso__data_fd()
111 dso__data_put_fd(dso); in dso__data_fd()
119 struct dso *dso; in test__dso_data() local
127 dso = dso__new((const char *)file); in test__dso_data()
130 dso__data_fd(dso, &machine) >= 0); in test__dso_data()
139 size = dso__data_read_offset(dso, &machine, data->offset, in test__dso_data()
158 size = dso__data_read_offset(dso, &machine, 10, in test__dso_data()
172 dso__put(dso); in test__dso_data()
202 static struct dso **dsos;
[all …]
Dhists_common.c127 struct dso *dso; in setup_fake_machine() local
129 dso = machine__findnew_dso(machine, fake_symbols[i].dso_name); in setup_fake_machine()
130 if (dso == NULL) in setup_fake_machine()
134 dso__set_loaded(dso); in setup_fake_machine()
143 dso__put(dso); in setup_fake_machine()
147 symbols__insert(&dso->symbols, sym); in setup_fake_machine()
150 dso__put(dso); in setup_fake_machine()
182 he->ms.map->dso->short_name, in print_hists_in()
209 he->ms.map->dso->short_name, in print_hists_out()
/Linux-v4.19/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/
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-v4.19/tools/perf/arch/powerpc/util/
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; in check_return_addr()
164 dwfl = dso->dwfl; in check_return_addr()
186 dso->dwfl = dwfl; in check_return_addr()
245 struct dso *dso = NULL; in arch_skip_callchain_idx() local
258 dso = al.map->dso; in arch_skip_callchain_idx()
260 if (!dso) { in arch_skip_callchain_idx()
265 rc = check_return_addr(dso, al.map->start, ip); in arch_skip_callchain_idx()
268 dso->long_name, al.sym->name, ip, rc); in arch_skip_callchain_idx()
/Linux-v4.19/tools/perf/scripts/python/
Dintel-pt-events.py83 def print_common_ip(sample, symbol, dso): argument
85 print "%16x %s (%s)" % (ip, symbol, dso)
96 dso = param_dict["dso"]
98 dso = "[unknown]"
108 print_common_ip(sample, symbol, dso)
112 print_common_ip(sample, symbol, dso)
116 print_common_ip(sample, symbol, dso)
120 print_common_ip(sample, symbol, dso)
124 print_common_ip(sample, symbol, dso)
128 print_common_ip(sample, symbol, dso)
Devent_analyzing_sample.py80 dso = param_dict["dso"]
82 dso = "Unknown_dso"
90 event = create_event(name, comm, dso, symbol, raw_buf)
96 (event.name, event.symbol, event.comm, event.dso))
101 (event.name, event.symbol, event.comm, event.dso, event.flags,
/Linux-v4.19/tools/perf/
Dbuiltin-inject.c389 static int dso__read_build_id(struct dso *dso) in dso__read_build_id() argument
391 if (dso->has_build_id) in dso__read_build_id()
394 if (filename__read_build_id(dso->long_name, dso->build_id, in dso__read_build_id()
395 sizeof(dso->build_id)) > 0) { in dso__read_build_id()
396 dso->has_build_id = true; in dso__read_build_id()
403 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool, in dso__inject_build_id() argument
409 if (dso__read_build_id(dso) < 0) { in dso__inject_build_id()
410 pr_debug("no build_id found for %s\n", dso->long_name); in dso__inject_build_id()
414 if (dso->kernel) in dso__inject_build_id()
417 err = perf_event__synthesize_build_id(tool, dso, misc, perf_event__repipe, in dso__inject_build_id()
[all …]

1234