From 0d296cc2d3b8e2ffa46b4a93d1398fa6bf85b504 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 15 Oct 2014 04:38:30 -0600 Subject: Provide option to avoid defining a custom version of uintptr_t. There's a definition in stdint.h (provided by gcc) which will be more correct if available. Define CONFIG_USE_STDINT to use this feature, or USE_STDINT=1 on the 'make' commmand. This adjusts the settings for x86 and sandbox, with both have 64-bit options. Signed-off-by: Gabe Black Reviewed-by: Gabe Black Tested-by: Gabe Black Reviewed-by: Bill Richardson Rewritten to be an option, since stdint.h is often available only in glibc. Changed to preserve a clear boundary between stdint and non-stdint Signed-off-by: Simon Glass --- include/linux/types.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'include/linux/types.h') diff --git a/include/linux/types.h b/include/linux/types.h index 9aebc4e8cf0..c9a8d9a8c2c 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -104,7 +104,8 @@ typedef __u8 uint8_t; typedef __u16 uint16_t; typedef __u32 uint32_t; -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \ + (!defined(CONFIG_USE_STDINT) || !defined(__INT64_TYPE__)) typedef __u64 uint64_t; typedef __u64 u_int64_t; typedef __s64 int64_t; @@ -112,6 +113,12 @@ typedef __s64 int64_t; #endif /* __KERNEL_STRICT_NAMES */ +#if defined(CONFIG_USE_STDINT) && defined(__INT64_TYPE__) +typedef __UINT64_TYPE__ uint64_t; +typedef __UINT64_TYPE__ u_int64_t; +typedef __INT64_TYPE__ int64_t; +#endif + /* * Below are truly Linux-specific types that should never collide with * any application/library that wants linux/types.h. -- cgit v1.2.3