perf symbols: perf_header__read_build_ids() offset'n'size should be u64

As off_t is a long, so breaking things on 32-bit land. Now
buildids work on 32-bit land.

[root@ana ~]# uname -a
Linux ana.ghostprotocols.net 2.6.31.6-162.fc12.i686 #1 SMP Fri
Dec 4 01:09:09 EST 2009 i686 i686 i386 GNU/Linux [root@ana ~]#
perf buildid-list | tail -5
136ee6792ba2ae57870ecd87369f4ae3194d5b27 /lib/libreadline.so.6.0
d202dcb1ad48d140065783657d37ae3f2d9ab83f /usr/bin/gdb
0a56c0c00dcc2e9e581ae9997f31957c9c4671df
/usr/lib/libdwarf.so.0.0
5f9e6ac95241cbb3227608e0ff2a2e0cbbe72439 /home/acme/bin/perf
925d19eccc2ddb1c9d74dd178a011426f1b124a8 /bin/sleep [root@ana ~]#

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1260396578-19116-2-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Arnaldo Carvalho de Melo 2009-12-09 20:09:38 -02:00 committed by Ingo Molnar
parent 8b4825bf8d
commit 716d69e4fd
2 changed files with 3 additions and 3 deletions

View File

@ -100,11 +100,11 @@ process_event(event_t *event, unsigned long offset, unsigned long head)
} }
} }
int perf_header__read_build_ids(int input, off_t offset, off_t size) int perf_header__read_build_ids(int input, u64 offset, u64 size)
{ {
struct build_id_event bev; struct build_id_event bev;
char filename[PATH_MAX]; char filename[PATH_MAX];
off_t limit = offset + size; u64 limit = offset + size;
int err = -1; int err = -1;
while (offset < limit) { while (offset < limit) {

View File

@ -27,6 +27,6 @@ int mmap_dispatch_perf_file(struct perf_header **pheader,
int full_paths, int full_paths,
int *cwdlen, int *cwdlen,
char **cwd); char **cwd);
int perf_header__read_build_ids(int input, off_t offset, off_t file_size); int perf_header__read_build_ids(int input, u64 offset, u64 file_size);
#endif #endif