]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - tools/perf/builtin-buildid-list.c
perf probe: Split add_perf_probe_events()
[karo-tx-linux.git] / tools / perf / builtin-buildid-list.c
index b5ca988ebfbe29d305519bf58b0ae519e2f374e9..918b4de29de4ea86fc27cd40db49861618869d34 100644 (file)
 
 static int sysfs__fprintf_build_id(FILE *fp)
 {
-       u8 kallsyms_build_id[BUILD_ID_SIZE];
        char sbuild_id[SBUILD_ID_SIZE];
+       int ret;
 
-       if (sysfs__read_build_id("/sys/kernel/notes", kallsyms_build_id,
-                                sizeof(kallsyms_build_id)) != 0)
-               return -1;
+       ret = sysfs__sprintf_build_id("/", sbuild_id);
+       if (ret != sizeof(sbuild_id))
+               return ret < 0 ? ret : -EINVAL;
 
-       build_id__sprintf(kallsyms_build_id, sizeof(kallsyms_build_id),
-                         sbuild_id);
-       fprintf(fp, "%s\n", sbuild_id);
-       return 0;
+       return fprintf(fp, "%s\n", sbuild_id);
 }
 
 static int filename__fprintf_build_id(const char *name, FILE *fp)
 {
-       u8 build_id[BUILD_ID_SIZE];
        char sbuild_id[SBUILD_ID_SIZE];
+       int ret;
 
-       if (filename__read_build_id(name, build_id,
-                                   sizeof(build_id)) != sizeof(build_id))
-               return 0;
+       ret = filename__sprintf_build_id(name, sbuild_id);
+       if (ret != sizeof(sbuild_id))
+               return ret < 0 ? ret : -EINVAL;
 
-       build_id__sprintf(build_id, sizeof(build_id), sbuild_id);
        return fprintf(fp, "%s\n", sbuild_id);
 }
 
@@ -63,7 +59,7 @@ static int perf_session__list_build_ids(bool force, bool with_hits)
        /*
         * See if this is an ELF file first:
         */
-       if (filename__fprintf_build_id(input_name, stdout))
+       if (filename__fprintf_build_id(input_name, stdout) > 0)
                goto out;
 
        session = perf_session__new(&file, false, &build_id__mark_dso_hit_ops);