|
@@ -49,18 +49,16 @@ static int perf_session__list_build_ids(bool force, bool with_hits)
|
|
|
struct perf_session *session;
|
|
|
|
|
|
symbol__elf_init();
|
|
|
-
|
|
|
- session = perf_session__new(input_name, O_RDONLY, force, false,
|
|
|
- &build_id__mark_dso_hit_ops);
|
|
|
- if (session == NULL)
|
|
|
- return -1;
|
|
|
-
|
|
|
/*
|
|
|
* See if this is an ELF file first:
|
|
|
*/
|
|
|
- if (filename__fprintf_build_id(session->filename, stdout))
|
|
|
+ if (filename__fprintf_build_id(input_name, stdout))
|
|
|
goto out;
|
|
|
|
|
|
+ session = perf_session__new(input_name, O_RDONLY, force, false,
|
|
|
+ &build_id__mark_dso_hit_ops);
|
|
|
+ if (session == NULL)
|
|
|
+ return -1;
|
|
|
/*
|
|
|
* in pipe-mode, the only way to get the buildids is to parse
|
|
|
* the record stream. Buildids are stored as RECORD_HEADER_BUILD_ID
|
|
@@ -69,8 +67,8 @@ static int perf_session__list_build_ids(bool force, bool with_hits)
|
|
|
perf_session__process_events(session, &build_id__mark_dso_hit_ops);
|
|
|
|
|
|
perf_session__fprintf_dsos_buildid(session, stdout, with_hits);
|
|
|
-out:
|
|
|
perf_session__delete(session);
|
|
|
+out:
|
|
|
return 0;
|
|
|
}
|
|
|
|