perf top: Fix -z option behavior
[deliverable/linux.git] / tools / perf / util / vdso.c
index fdaccaf673712e90009c3c05f033742303dff783..adca69384fcc044eeea0a1a51580e8a29dea7058 100644 (file)
@@ -33,7 +33,7 @@ static struct vdso_info *vdso_info__new(void)
        static const struct vdso_info vdso_info_init = {
                .vdso    = {
                        .temp_file_name = VDSO__TEMP_FILE_NAME,
-                       .dso_name = VDSO__MAP_NAME,
+                       .dso_name = DSO__NAME_VDSO,
                },
        };
 
@@ -121,7 +121,22 @@ void vdso__exit(struct machine *machine)
        zfree(&machine->vdso_info);
 }
 
-struct dso *vdso__dso_findnew(struct machine *machine)
+static struct dso *vdso__new(struct machine *machine, const char *short_name,
+                            const char *long_name)
+{
+       struct dso *dso;
+
+       dso = dso__new(short_name);
+       if (dso != NULL) {
+               dsos__add(&machine->user_dsos, dso);
+               dso__set_long_name(dso, long_name, false);
+       }
+
+       return dso;
+}
+
+struct dso *vdso__dso_findnew(struct machine *machine,
+                             struct thread *thread __maybe_unused)
 {
        struct vdso_info *vdso_info;
        struct dso *dso;
@@ -133,7 +148,7 @@ struct dso *vdso__dso_findnew(struct machine *machine)
        if (!vdso_info)
                return NULL;
 
-       dso = dsos__find(&machine->user_dsos, VDSO__MAP_NAME, true);
+       dso = dsos__find(&machine->user_dsos, DSO__NAME_VDSO, true);
        if (!dso) {
                char *file;
 
@@ -141,12 +156,13 @@ struct dso *vdso__dso_findnew(struct machine *machine)
                if (!file)
                        return NULL;
 
-               dso = dso__new(VDSO__MAP_NAME);
-               if (dso != NULL) {
-                       dsos__add(&machine->user_dsos, dso);
-                       dso__set_long_name(dso, file, false);
-               }
+               dso = vdso__new(machine, DSO__NAME_VDSO, file);
        }
 
        return dso;
 }
+
+bool dso__is_vdso(struct dso *dso)
+{
+       return !strcmp(dso->short_name, DSO__NAME_VDSO);
+}
This page took 0.02922 seconds and 5 git commands to generate.