perf tools: Fix various casting issues for 32 bits
Jiri Olsa [Tue, 20 Mar 2012 18:15:39 +0000 (19:15 +0100)]
- util/parse-events.c(parse_events_add_breakpoint)
  need to use unsigned long instead of u64, otherwise
  we get following gcc error on 32 bits:
     error: cast from pointer to integer of different size

- util/header.c(print_event_desc)
  cannot retype to signed type, otherwise we get following
  gcc error on 32 bits:
     error: comparison between signed and unsigned integer expressions

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1332267341-26338-2-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

tools/perf/util/header.c
tools/perf/util/parse-events.c

index fcd9cf3..4c7c2d7 100644 (file)
@@ -1177,7 +1177,7 @@ static void print_event_desc(struct perf_header *ph, int fd, FILE *fp)
                goto error;
 
        msz = sizeof(attr);
-       if (sz < (ssize_t)msz)
+       if (sz < msz)
                msz = sz;
 
        for (i = 0 ; i < nre; i++) {
index 201b40f..f542a63 100644 (file)
@@ -569,7 +569,7 @@ int parse_events_add_breakpoint(struct list_head *list, int *idx,
        char name[MAX_NAME_LEN];
 
        memset(&attr, 0, sizeof(attr));
-       attr.bp_addr = (u64) ptr;
+       attr.bp_addr = (unsigned long) ptr;
 
        if (parse_breakpoint_type(type, &attr))
                return -EINVAL;