[U-Boot] [PATCH 1/3] Remove CONFIG_USE_STDINT

Masahiro Yamada yamada.masahiro at socionext.com
Mon Aug 6 11:47:38 UTC 2018


You do not need to use the typedefs provided by compiler.

Our compilers are either IPL32 or LP64.  Hence, U-Boot can/should
always use int-ll64.h typedefs like Linux kernel, whatever the
typedefs the compiler internally uses.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

 README                           |  5 -----
 arch/sandbox/include/asm/types.h |  5 -----
 arch/x86/include/asm/types.h     |  5 -----
 config.mk                        |  5 -----
 include/compiler.h               |  5 -----
 include/inttypes.h               | 10 ----------
 include/linux/types.h            |  9 +--------
 scripts/config_whitelist.txt     |  1 -
 test/stdint/test-includes.sh     |  2 --
 tools/buildman/func_test.py      |  2 +-
 10 files changed, 2 insertions(+), 47 deletions(-)

diff --git a/README b/README
index aee0f73..58594f3 100644
--- a/README
+++ b/README
@@ -3018,11 +3018,6 @@ Configuration Settings:
 	If defined, don't allow the -f switch to env set override variable
 	access flags.
 
-- CONFIG_USE_STDINT
-	If stdint.h is available with your toolchain you can define this
-	option to enable it. You can provide option 'USE_STDINT=1' when
-	building U-Boot to enable this.
-
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
diff --git a/arch/sandbox/include/asm/types.h b/arch/sandbox/include/asm/types.h
index a10b455..79c85aa 100644
--- a/arch/sandbox/include/asm/types.h
+++ b/arch/sandbox/include/asm/types.h
@@ -41,13 +41,8 @@ typedef unsigned short u16;
 typedef signed int s32;
 typedef unsigned int u32;
 
-#if !defined(CONFIG_USE_STDINT) || !defined(__INT64_TYPE__)
 typedef signed long long s64;
 typedef unsigned long long u64;
-#else
-typedef __INT64_TYPE__ s64;
-typedef __UINT64_TYPE__ u64;
-#endif
 
 /*
  * Number of bits in a C 'long' on this architecture.
diff --git a/arch/x86/include/asm/types.h b/arch/x86/include/asm/types.h
index a47e581..7649c2b 100644
--- a/arch/x86/include/asm/types.h
+++ b/arch/x86/include/asm/types.h
@@ -36,13 +36,8 @@ typedef unsigned short u16;
 typedef signed int s32;
 typedef unsigned int u32;
 
-#if !defined(CONFIG_USE_STDINT) || !defined(__INT64_TYPE__)
 typedef signed long long s64;
 typedef unsigned long long u64;
-#else
-typedef __INT64_TYPE__ s64;
-typedef __UINT64_TYPE__ u64;
-#endif
 
 #if CONFIG_IS_ENABLED(X86_64)
 #define BITS_PER_LONG 64
diff --git a/config.mk b/config.mk
index 78748cc..b4e4618 100644
--- a/config.mk
+++ b/config.mk
@@ -62,11 +62,6 @@ ifdef FTRACE
 PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE
 endif
 
-# Allow use of stdint.h if available
-ifneq ($(USE_STDINT),)
-PLATFORM_CPPFLAGS += -DCONFIG_USE_STDINT
-endif
-
 #########################################################################
 
 RELFLAGS := $(PLATFORM_RELFLAGS)
diff --git a/include/compiler.h b/include/compiler.h
index 957f4b5..29507f9 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -120,13 +120,8 @@ typedef unsigned int uint;
 
 #else /* !USE_HOSTCC */
 
-#ifdef CONFIG_USE_STDINT
-/* Provided by gcc. */
-#include <stdint.h>
-#else
 /* Type for `void *' pointers. */
 typedef unsigned long int uintptr_t;
-#endif
 
 #include <linux/string.h>
 #include <linux/types.h>
diff --git a/include/inttypes.h b/include/inttypes.h
index ea731ec..b86ad04 100644
--- a/include/inttypes.h
+++ b/include/inttypes.h
@@ -34,19 +34,9 @@ typedef wchar_t __gwchar_t;
    defined if explicitly requested.  */
 #if !defined __cplusplus || defined __STDC_FORMAT_MACROS
 
-#ifdef CONFIG_USE_STDINT
-# if __WORDSIZE == 64
-#  define __PRI64_PREFIX	"l"
-#  define __PRIPTR_PREFIX	"l"
-# else
-#  define __PRI64_PREFIX	"ll"
-#  define __PRIPTR_PREFIX
-# endif
-#else
 /* linux/types.h always uses long long for 64-bit and long for uintptr_t */
 # define __PRI64_PREFIX	"ll"
 # define __PRIPTR_PREFIX	"l"
-#endif
 
 /* Macros for printing format specifiers.  */
 
diff --git a/include/linux/types.h b/include/linux/types.h
index 7c33e7a..1f3cd63 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -106,8 +106,7 @@ typedef		__u8		uint8_t;
 typedef		__u16		uint16_t;
 typedef		__u32		uint32_t;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
-	(!defined(CONFIG_USE_STDINT) || !defined(__INT64_TYPE__))
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef		__u64		uint64_t;
 typedef		__u64		u_int64_t;
 typedef		__s64		int64_t;
@@ -120,12 +119,6 @@ typedef		__s64		int64_t;
 #define aligned_be64 __be64 __aligned(8)
 #define aligned_le64 __le64 __aligned(8)
 
-#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
-
 #ifdef __KERNEL__
 typedef phys_addr_t resource_size_t;
 #endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 0d60da3..fe3a772 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -4674,7 +4674,6 @@ CONFIG_USE_INTERRUPT
 CONFIG_USE_NOR
 CONFIG_USE_ONENAND_BOARD_INIT
 CONFIG_USE_SPIFLASH
-CONFIG_USE_STDINT
 CONFIG_UTBIPAR_INIT_TBIPA
 CONFIG_U_BOOT_HDR_ADDR
 CONFIG_U_BOOT_HDR_SIZE
diff --git a/test/stdint/test-includes.sh b/test/stdint/test-includes.sh
index 077bdc7..1db8515 100755
--- a/test/stdint/test-includes.sh
+++ b/test/stdint/test-includes.sh
@@ -46,10 +46,8 @@ try_test() {
 	$cmd
 }
 
-# Run a test with and without CONFIG_USE_STDINT
 try_both() {
 	try_test $@
-	try_test $@ -DCONFIG_USE_STDINT
 }
 
 # board arch soc path-to-gcc
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index 363db9d..119d02c 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -27,7 +27,7 @@ settings_data = '''
 [make-flags]
 src=/home/sjg/c/src
 chroot=/home/sjg/c/chroot
-vboot=USE_STDINT=1 VBOOT_DEBUG=1 MAKEFLAGS_VBOOT=DEBUG=1 CFLAGS_EXTRA_VBOOT=-DUNROLL_LOOPS VBOOT_SOURCE=${src}/platform/vboot_reference
+vboot=VBOOT_DEBUG=1 MAKEFLAGS_VBOOT=DEBUG=1 CFLAGS_EXTRA_VBOOT=-DUNROLL_LOOPS VBOOT_SOURCE=${src}/platform/vboot_reference
 chromeos_coreboot=VBOOT=${chroot}/build/link/usr ${vboot}
 chromeos_daisy=VBOOT=${chroot}/build/daisy/usr ${vboot}
 chromeos_peach=VBOOT=${chroot}/build/peach_pit/usr ${vboot}
-- 
2.7.4



More information about the U-Boot mailing list