[PATCH 1/3] perf, tool: Fix various casting issues for 32 bits

From: Jiri Olsa
Date: Tue Mar 20 2012 - 14:16:39 EST


- 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@xxxxxxxxxx>
---
tools/perf/util/header.c | 2 +-
tools/perf/util/parse-events.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index fcd9cf3..4c7c2d7 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -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++) {
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 201b40f..f542a63 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -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;
--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/