Re: [PATCH] perf_counter: tools: Define and use our own u64, s64etc. definitions

From: Ingo Molnar
Date: Fri Jun 19 2009 - 12:23:48 EST



* Paul Mackerras <paulus@xxxxxxxxx> wrote:

> On 64-bit powerpc, __u64 is defined to be unsigned long rather
> than unsigned long long. This causes compiler warnings every time
> we print a __u64 value with %Lx.
>
> Rather than changing __u64, we define our own u64 to be unsigned
> long long on all architectures, and similarly s64 as signed long
> long. For consistency we also define u32, s32, u16, s16, u8 and
> s8. These definitions are put in a new header, types.h, because
> these definitions are needed in util/string.h and util/symbol.h.
>
> The main change here is the mechanical change of
> __[us]{64,32,16,8} to remove the "__". The other changes are:
>
> * Create types.h
> * Include types.h in perf.h, util/string.h and util/symbol.h
> * Add types.h to the LIB_H definition in Makefile
> * Added (u64) casts in process_overflow_event() and print_sym_table()
> to kill two remaining warnings.
>
> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
> ---
> tools/perf/Makefile | 1 +
> tools/perf/builtin-annotate.c | 66 ++++++++++++++++----------------
> tools/perf/builtin-record.c | 20 +++++-----
> tools/perf/builtin-report.c | 80 ++++++++++++++++++++--------------------
> tools/perf/builtin-stat.c | 62 +++++++++++++++---------------
> tools/perf/builtin-top.c | 24 ++++++------
> tools/perf/perf.h | 1 +
> tools/perf/types.h | 17 ++++++++
> tools/perf/util/parse-events.c | 10 ++--
> tools/perf/util/string.c | 2 +-
> tools/perf/util/string.h | 4 +-
> tools/perf/util/symbol.c | 20 +++++-----
> tools/perf/util/symbol.h | 15 ++++---
> 13 files changed, 171 insertions(+), 151 deletions(-)
> create mode 100644 tools/perf/types.h

Very nice, thanks a lot Paul for going through this!

Ingo
--
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/