aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/data_map.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/data_map.c')
-rw-r--r--tools/perf/util/data_map.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/tools/perf/util/data_map.c b/tools/perf/util/data_map.c
index 66e58aaecce3..aacb814a4eff 100644
--- a/tools/perf/util/data_map.c
+++ b/tools/perf/util/data_map.c
@@ -70,18 +70,15 @@ process_event(event_t *event, unsigned long offset, unsigned long head)
70 } 70 }
71} 71}
72 72
73int perf_header__read_build_ids(const struct perf_header *self, 73int perf_header__read_build_ids(int input, off_t size)
74 int input, off_t file_size)
75{ 74{
76 off_t offset = self->data_offset + self->data_size;
77 struct build_id_event bev; 75 struct build_id_event bev;
78 char filename[PATH_MAX]; 76 char filename[PATH_MAX];
77 off_t offset = lseek(input, 0, SEEK_CUR);
78 off_t limit = offset + size;
79 int err = -1; 79 int err = -1;
80 80
81 if (lseek(input, offset, SEEK_SET) < 0) 81 while (offset < limit) {
82 return -1;
83
84 while (offset < file_size) {
85 struct dso *dso; 82 struct dso *dso;
86 ssize_t len; 83 ssize_t len;
87 84