Lines Matching refs:dso
12 #include "dso.h"
116 void map__init(struct map *map, u64 start, u64 end, u64 pgoff, struct dso *dso)
122 map->dso = dso__get(dso);
141 struct dso *dso;
175 dso = machine__findnew_vdso(machine, thread);
177 dso = machine__findnew_dso_id(machine, filename, id);
179 if (dso == NULL)
182 map__init(map, start, start + len, pgoff, dso);
193 dso__set_loaded(dso);
195 dso->nsinfo = nsi;
196 dso__put(dso);
210 struct map *map__new2(u64 start, struct dso *dso)
213 (dso->kernel ? sizeof(struct kmap) : 0)));
218 map__init(map, start, 0, 0, dso);
226 if (!map->dso->kernel)
242 if (map->dso->binary_type == DSO_BINARY_TYPE__BPF_PROG_INFO)
246 * If PERF_RECORD_BPF_EVENT is not included, the dso will not have
250 name = map->dso->short_name;
258 if (map->dso->binary_type == DSO_BINARY_TYPE__BPF_IMAGE)
262 * If PERF_RECORD_KSYMBOL is not included, the dso will not have
266 name = map->dso->short_name;
272 return map->dso && map->dso->binary_type == DSO_BINARY_TYPE__OOL;
277 return dso__has_symbols(map->dso);
283 dso__zput(map->dso);
300 struct rb_root_cached *symbols = &map->dso->symbols;
310 struct rb_root_cached *symbols = &map->dso->symbols;
322 const char *name = map->dso->long_name;
325 if (dso__loaded(map->dso))
328 nr = dso__load(map->dso, map);
330 if (map->dso->has_build_id) {
333 build_id__sprintf(&map->dso->bid, sbuild_id);
365 return dso__find_symbol(map->dso, addr);
373 if (!dso__sorted_by_name(map->dso))
374 dso__sort_by_name(map->dso);
376 return dso__find_symbol_by_name(map->dso, name);
384 if (from->dso && from->dso->kernel)
391 dso__get(map->dso);
400 map->start, map->end, map->pgoff, map->dso->name);
408 if (map && map->dso) {
409 if (symbol_conf.show_kernel_path && map->dso->long_name)
410 dsoname = map->dso->long_name;
412 dsoname = map->dso->name;
427 return get_srcline(map->dso, map__rip_2objdump(map, addr), sym, true, true, addr);
435 if (map && map->dso) {
456 * map->dso->adjust_symbols==1 for ET_EXEC-like cases except ET_REL which is
477 if (!map->dso->adjust_symbols)
480 if (map->dso->rel)
484 * kernel modules also have DSO_TYPE_USER in dso->kernel,
487 if (map->dso->kernel == DSO_SPACE__USER)
488 return rip + map->dso->text_offset;
507 if (!map->dso->adjust_symbols)
510 if (map->dso->rel)
514 * kernel modules also have DSO_TYPE_USER in dso->kernel,
517 if (map->dso->kernel == DSO_SPACE__USER)
518 return map->unmap_ip(map, ip - map->dso->text_offset);
549 if (map->dso && map->dso->kernel) {
555 pr_err("Internal error: kernel dso with non kernel map\n");
722 printed += dso__fprintf(pos->dso, fp);
776 map->dso->name);
936 if (!map->dso || !map->dso->kernel)