Lines Matching refs:dso

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()
137 dso__put(dso); in __machine__addnew_vdso()
140 return dso; in __machine__addnew_vdso()
150 struct dso *dso = map__dso(rb_node->map); in machine__thread_dso_type() local
152 if (!dso || dso->long_name[0] != '/') in machine__thread_dso_type()
154 dso_type = dso__type(dso, machine); in machine__thread_dso_type()
238 static struct dso *__machine__findnew_compat(struct machine *machine, in __machine__findnew_compat()
242 struct dso *dso; in __machine__findnew_compat() local
244 dso = __dsos__find(&machine->dsos, vdso_file->dso_name, true); in __machine__findnew_compat()
245 if (dso) in __machine__findnew_compat()
252 dso = __machine__addnew_vdso(machine, vdso_file->dso_name, file_name); in __machine__findnew_compat()
254 return dso; in __machine__findnew_compat()
260 struct dso **dso) in __machine__findnew_vdso_compat() argument
277 *dso = __machine__findnew_compat(machine, &vdso_info->vdso32); in __machine__findnew_vdso_compat()
280 *dso = __machine__findnew_compat(machine, &vdso_info->vdsox32); in __machine__findnew_vdso_compat()
291 static struct dso *machine__find_vdso(struct machine *machine, in machine__find_vdso()
294 struct dso *dso = NULL; in machine__find_vdso() local
300 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO32, true); in machine__find_vdso()
301 if (!dso) { in machine__find_vdso()
302 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, in machine__find_vdso()
304 if (dso && dso_type != dso__type(dso, machine)) in machine__find_vdso()
305 dso = NULL; in machine__find_vdso()
309 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSOX32, true); in machine__find_vdso()
314 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__find_vdso()
318 return dso; in machine__find_vdso()
321 struct dso *machine__findnew_vdso(struct machine *machine, in machine__findnew_vdso()
325 struct dso *dso = NULL; in machine__findnew_vdso() local
335 dso = machine__find_vdso(machine, thread); in machine__findnew_vdso()
336 if (dso) in machine__findnew_vdso()
340 if (__machine__findnew_vdso_compat(machine, thread, vdso_info, &dso)) in machine__findnew_vdso()
344 dso = __dsos__find(&machine->dsos, DSO__NAME_VDSO, true); in machine__findnew_vdso()
345 if (!dso) { in machine__findnew_vdso()
350 dso = __machine__addnew_vdso(machine, DSO__NAME_VDSO, file); in machine__findnew_vdso()
354 dso__get(dso); in machine__findnew_vdso()
356 return dso; in machine__findnew_vdso()
359 bool dso__is_vdso(struct dso *dso) in dso__is_vdso() argument
361 return !strcmp(dso->short_name, DSO__NAME_VDSO) || in dso__is_vdso()
362 !strcmp(dso->short_name, DSO__NAME_VDSO32) || in dso__is_vdso()
363 !strcmp(dso->short_name, DSO__NAME_VDSOX32); in dso__is_vdso()