diff --git a/[refs] b/[refs] index b5fda4fa59e3..41e30b0867ec 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 97ea1a7fa62af0d8d49a0fc12796b0073537c9d8 +refs/heads/master: 26dd2cb074d9dc41c9e3cddd7bf175fd0a41febc diff --git a/trunk/tools/perf/util/header.c b/trunk/tools/perf/util/header.c index 212fade7ee74..9aae360c0f28 100644 --- a/trunk/tools/perf/util/header.c +++ b/trunk/tools/perf/util/header.c @@ -287,10 +287,16 @@ struct perf_header *perf_header__read(int fd) do_read(fd, &f_header, sizeof(f_header)); if (f_header.magic != PERF_MAGIC || - f_header.size != sizeof(f_header) || f_header.attr_size != sizeof(f_attr)) die("incompatible file format"); + if (f_header.size != sizeof(f_header)) { + /* Support the previous format */ + if (f_header.size == offsetof(typeof(f_header), trace_info)) + f_header.trace_info.size = 0; + else + die("incompatible file format"); + } nr_attrs = f_header.attrs.size / sizeof(f_attr); lseek(fd, f_header.attrs.offset, SEEK_SET);