Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 277362
b: refs/heads/master
c: e20960c
h: refs/heads/master
v: v3
  • Loading branch information
Robert Richter authored and Arnaldo Carvalho de Melo committed Dec 23, 2011
1 parent 364a472 commit d5d6a0e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: efad14150a0b4429f37da7245001a8096ef7ee38
refs/heads/master: e20960c0271f91aead94746872fd976326a703b3
7 changes: 7 additions & 0 deletions trunk/tools/perf/builtin-record.c
Original file line number Diff line number Diff line change
Expand Up @@ -503,6 +503,13 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
return err;
}

if (!!rec->no_buildid
&& !perf_header__has_feat(&session->header, HEADER_BUILD_ID)) {
pr_err("Couldn't generating buildids. "
"Use --no-buildid to profile anyway.\n");
return -1;
}

rec->post_processing_offset = lseek(output, 0, SEEK_CUR);

machine = perf_session__find_host_machine(session);
Expand Down
14 changes: 5 additions & 9 deletions trunk/tools/perf/util/header.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,9 @@ static int write_build_id(int fd, struct perf_header *h,

session = container_of(h, struct perf_session, header);

if (!perf_session__read_build_ids(session, true))
return -1;

err = dsos__write_buildid_table(h, fd);
if (err < 0) {
pr_debug("failed to write buildid table\n");
Expand Down Expand Up @@ -1417,10 +1420,6 @@ static int perf_header__adds_write(struct perf_header *header,

session = container_of(header, struct perf_session, header);

if (perf_header__has_feat(header, HEADER_BUILD_ID &&
!perf_session__read_build_ids(session, true)))
perf_header__clear_feat(header, HEADER_BUILD_ID);

nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS);
if (!nr_sections)
return 0;
Expand All @@ -1436,13 +1435,11 @@ static int perf_header__adds_write(struct perf_header *header,

err = do_write_feat(fd, header, HEADER_TRACE_INFO, &p, evlist);
if (err)
goto out_free;
perf_header__clear_feat(header, HEADER_TRACE_INFO);

err = do_write_feat(fd, header, HEADER_BUILD_ID, &p, evlist);
if (err) {
if (err)
perf_header__clear_feat(header, HEADER_BUILD_ID);
goto out_free;
}

err = do_write_feat(fd, header, HEADER_HOSTNAME, &p, evlist);
if (err)
Expand Down Expand Up @@ -1500,7 +1497,6 @@ static int perf_header__adds_write(struct perf_header *header,
err = do_write(fd, feat_sec, sec_size);
if (err < 0)
pr_debug("failed to write feature section\n");
out_free:
free(feat_sec);
return err;
}
Expand Down

0 comments on commit d5d6a0e

Please sign in to comment.