perf symbols: perf_header__read_build_ids() offset'n'size should be u64
Arnaldo Carvalho de Melo [Wed, 9 Dec 2009 22:09:38 +0000 (20:09 -0200)]
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>

tools/perf/util/data_map.c
tools/perf/util/data_map.h

index ca0bedf..59b65d0 100644 (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;
        char filename[PATH_MAX];
-       off_t limit = offset + size;
+       u64 limit = offset + size;
        int err = -1;
 
        while (offset < limit) {
index 3180ff7..258a87b 100644 (file)
@@ -27,6 +27,6 @@ int mmap_dispatch_perf_file(struct perf_header **pheader,
                            int full_paths,
                            int *cwdlen,
                            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