| /linux/tools/perf/util/ |
| H A D | dso.h | 163 #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 D | dso.c | 43 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 D | dsos.c | 30 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 D | map.c | 106 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 D | vdso.c | 127 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 D | srcline.c | 17 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 D | symbol.c | 52 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 D | symbol.h | 23 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 D | dsos.h | 11 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 D | unwind-libunwind-local.c | 284 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 D | srcline.h | 9 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 D | libbfd.c | 208 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 D | unwind-libdw.c | 29 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 D | build-id.c | 249 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 D | libbfd.h | 12 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 D | symbol-elf.c | 335 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 D | addr2line.c | 271 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 D | symbols.c | 51 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 D | dso-data.c | 12 #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 D | hists_common.c | 4 #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 D | pe-file-parsing.c | 34 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 D | EventClass.py | 26 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 D | skip-callchain-idx.c | 152 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 D | intel-pt-events.py | 266 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 D | inject-buildid.c | 82 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 …]
|