Lines Matching defs:dso

13 #include "dso.h"
127 static struct dso *__machine__addnew_vdso(struct machine *machine, const char *short_name,
130 struct dso *dso;
132 dso = dso__new(short_name);
133 if (dso != NULL) {
134 __dsos__add(&machine->dsos, dso);
135 dso__set_long_name(dso, long_name, false);
136 /* Put dso here because __dsos_add already got it */
137 dso__put(dso);
140 return dso;
151 struct dso *dso = map__dso(map);
153 if (!dso || dso->long_name[0] != '/')
156 args->dso_type = dso__type(dso, args->machine);
249 static struct dso *__machine__findnew_compat(struct machine *machine,
253 struct dso *dso;
255 dso = __dsos__find(&machine->dsos, vdso_file->dso_name, true);
256 if (dso)
263 dso = __machine__addnew_vdso(machine, vdso_file->dso_name, file_name);
265 return dso;
271 struct dso **dso)
288 *dso = __machine__findnew_compat(machine, &vdso_info->vdso32);
291 *dso = __machine__findnew_compat(machine, &vdso_info->vdsox32);
302 static struct dso *machine__find_vdso(struct machine *machine,
305 struct dso *dso = NULL;
311 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO32, true);
312 if (!dso) {
313 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO,
315 if (dso && dso_type != dso__type(dso, machine))
316 dso = NULL;
320 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true);
325 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true);
329 return dso;
332 struct dso *machine__findnew_vdso(struct machine *machine,
336 struct dso *dso = NULL;
346 dso = machine__find_vdso(machine, thread);
347 if (dso)
351 if (__machine__findnew_vdso_compat(machine, thread, vdso_info, &dso))
355 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true);
356 if (!dso) {
361 dso = __machine__addnew_vdso(machine, DSO__NAME_VDSO, file);
365 dso__get(dso);
367 return dso;
370 bool dso__is_vdso(struct dso *dso)
372 return !strcmp(dso->short_name, DSO__NAME_VDSO) ||
373 !strcmp(dso->short_name, DSO__NAME_VDSO32) ||
374 !strcmp(dso->short_name, DSO__NAME_VDSOX32);