Lines Matching refs:dso
124 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()
232 static struct dso *__machine__findnew_compat(struct machine *machine, in __machine__findnew_compat()
236 struct dso *dso; in __machine__findnew_compat() local
238 dso = __dsos__find(&machine->dsos, vdso_file->dso_name, true); in __machine__findnew_compat()
239 if (dso) in __machine__findnew_compat()
246 dso = __machine__addnew_vdso(machine, vdso_file->dso_name, file_name); in __machine__findnew_compat()
248 return dso; in __machine__findnew_compat()
254 struct dso **dso) in __machine__findnew_vdso_compat() argument
271 *dso = __machine__findnew_compat(machine, &vdso_info->vdso32); in __machine__findnew_vdso_compat()
274 *dso = __machine__findnew_compat(machine, &vdso_info->vdsox32); in __machine__findnew_vdso_compat()
285 static struct dso *machine__find_vdso(struct machine *machine, in machine__find_vdso()
288 struct dso *dso = NULL; in machine__find_vdso() local
294 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO32, true); in machine__find_vdso()
295 if (!dso) { in machine__find_vdso()
296 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, in machine__find_vdso()
298 if (dso && dso_type != dso__type(dso, machine)) in machine__find_vdso()
299 dso = NULL; in machine__find_vdso()
303 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true); in machine__find_vdso()
308 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__find_vdso()
312 return dso; in machine__find_vdso()
315 struct dso *machine__findnew_vdso(struct machine *machine, in machine__findnew_vdso()
319 struct dso *dso = NULL; in machine__findnew_vdso() local
329 dso = machine__find_vdso(machine, thread); in machine__findnew_vdso()
330 if (dso) in machine__findnew_vdso()
334 if (__machine__findnew_vdso_compat(machine, thread, vdso_info, &dso)) in machine__findnew_vdso()
338 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__findnew_vdso()
339 if (!dso) { in machine__findnew_vdso()
344 dso = __machine__addnew_vdso(machine, DSO__NAME_VDSO, file); in machine__findnew_vdso()
348 dso__get(dso); in machine__findnew_vdso()
350 return dso; in machine__findnew_vdso()
353 bool dso__is_vdso(struct dso *dso) in dso__is_vdso() argument
355 return !strcmp(dso->short_name, DSO__NAME_VDSO) || in dso__is_vdso()
356 !strcmp(dso->short_name, DSO__NAME_VDSO32) || in dso__is_vdso()
357 !strcmp(dso->short_name, DSO__NAME_VDSOX32); in dso__is_vdso()