Lines Matching refs:dso

11 #include "dso.h"
105 void map__init(struct map *map, u64 start, u64 end, u64 pgoff, struct dso *dso)
111 map__set_dso(map, dso__get(dso));
131 struct dso *dso, *header_bid_dso;
165 dso = machine__findnew_vdso(machine, thread);
167 dso = machine__findnew_dso_id(machine, filename, id);
169 if (dso == NULL)
172 map__init(result, start, start + len, pgoff, dso);
183 dso__set_loaded(dso);
185 mutex_lock(&dso->lock);
186 nsinfo__put(dso->nsinfo);
187 dso->nsinfo = nsi;
188 mutex_unlock(&dso->lock);
191 dso__set_build_id(dso, bid);
194 * If the mmap event had no build ID, search for an existing dso from the
195 * build ID header by name. Otherwise only the dso loaded at the time of
203 dso__set_build_id(dso, &header_bid_dso->bid);
204 dso->header_build_id = 1;
207 dso__put(dso);
221 struct map *map__new2(u64 start, struct dso *dso)
226 map = calloc(1, sizeof(*map) + (dso->kernel ? sizeof(struct kmap) : 0));
231 map__init(result, start, 0, 0, dso);
254 struct dso *dso = map__dso(map);
256 if (dso->binary_type == DSO_BINARY_TYPE__BPF_PROG_INFO)
260 * If PERF_RECORD_BPF_EVENT is not included, the dso will not have
264 name = dso->short_name;
271 struct dso *dso = map__dso(map);
273 if (dso->binary_type == DSO_BINARY_TYPE__BPF_IMAGE)
277 * If PERF_RECORD_KSYMBOL is not included, the dso will not have
281 name = dso->short_name;
287 const struct dso *dso = map__dso(map);
289 return dso && dso->binary_type == DSO_BINARY_TYPE__OOL;
300 dso__zput(RC_CHK_ACCESS(map)->dso);
319 struct dso *dso = map__dso(map);
320 struct rb_root_cached *symbols = &dso->symbols;
332 struct dso *dso = map__dso(map);
333 struct rb_root_cached *symbols = &dso->symbols;
346 struct dso *dso = map__dso(map);
347 const char *name = dso->long_name;
350 if (dso__loaded(dso))
353 nr = dso__load(dso, map);
355 if (dso->has_build_id) {
358 build_id__sprintf(&dso->bid, sbuild_id);
395 struct dso *dso;
400 dso = map__dso(map);
401 dso__sort_by_name(dso);
403 return dso__find_symbol_by_name(dso, name, idx);
418 struct dso *dso = map__dso(from);
420 if (dso && dso->kernel)
426 map->dso = dso__get(dso);
434 const struct dso *dso = map__dso(map);
437 map__start(map), map__end(map), map__pgoff(map), dso->name);
440 static bool prefer_dso_long_name(const struct dso *dso, bool print_off)
442 return dso->long_name &&
444 (print_off && (dso->name[0] == '[' || dso__is_kcore(dso))));
451 const struct dso *dso = map ? map__dso(map) : NULL;
453 if (dso) {
454 if (prefer_dso_long_name(dso, print_off))
455 dsoname = dso->long_name;
457 dsoname = dso->name;
475 const struct dso *dso = map ? map__dso(map) : NULL;
478 if (print_off && (!dso || !dso__is_object_file(dso)))
500 const struct dso *dso = map ? map__dso(map) : NULL;
503 if (dso) {
524 * map->dso->adjust_symbols==1 for ET_EXEC-like cases except ET_REL which is
532 const struct dso *dso = map__dso(map);
550 if (!dso->adjust_symbols)
553 if (dso->rel)
557 * kernel modules also have DSO_TYPE_USER in dso->kernel,
560 if (dso->kernel == DSO_SPACE__USER)
561 return rip + dso->text_offset;
580 const struct dso *dso = map__dso(map);
582 if (!dso->adjust_symbols)
585 if (dso->rel)
589 * kernel modules also have DSO_TYPE_USER in dso->kernel,
592 if (dso->kernel == DSO_SPACE__USER)
593 return map__unmap_ip(map, ip - dso->text_offset);
607 const struct dso *dso = map__dso(map);
609 if (!dso || !dso->kernel)