mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-20 16:46:23 +08:00
9cffa8d533
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@samba.org> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: benh@kernel.crashing.org LKML-Reference: <19003.33494.495844.956580@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 lines
440 B
C
18 lines
440 B
C
#ifndef _PERF_TYPES_H
|
|
#define _PERF_TYPES_H
|
|
|
|
/*
|
|
* We define u64 as unsigned long long for every architecture
|
|
* so that we can print it with %Lx without getting warnings.
|
|
*/
|
|
typedef unsigned long long u64;
|
|
typedef signed long long s64;
|
|
typedef unsigned int u32;
|
|
typedef signed int s32;
|
|
typedef unsigned short u16;
|
|
typedef signed short s16;
|
|
typedef unsigned char u8;
|
|
typedef signed char s8;
|
|
|
|
#endif /* _PERF_TYPES_H */
|