[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