소스 검색

kconfig: move CONFIG_USE_PRIVATE_LIBGCC to Kconfig

The private libgcc is supported only on ARM, MIPS, PowerPC, SH, x86.
Those architectures should "select" HAVE_PRIVATE_LIBGCC and
CONFIG_USE_PRIVATE_LIBGCC should depend on it.

Currently, this option is enabled on Tegra boards and x86 architecture.
Move the definition from header files to Kconfig.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Tom Warren <twarren@nvidia.com>
Masahiro Yamada 9 년 전
부모
커밋
45ccec8f29
6개의 변경된 파일22개의 추가작업 그리고 6개의 파일을 삭제
  1. 5 0
      arch/Kconfig
  2. 3 0
      arch/arm/cpu/armv7/tegra-common/Kconfig
  3. 3 0
      arch/x86/Kconfig
  4. 0 2
      arch/x86/include/asm/config.h
  5. 0 4
      include/configs/tegra-common.h
  6. 11 0
      lib/Kconfig

+ 5 - 0
arch/Kconfig

@@ -7,6 +7,7 @@ config ARC
 
 config ARM
 	bool "ARM architecture"
+	select HAVE_PRIVATE_LIBGCC
 	select SUPPORT_OF_CONTROL
 
 config AVR32
@@ -24,6 +25,7 @@ config MICROBLAZE
 
 config MIPS
 	bool "MIPS architecture"
+	select HAVE_PRIVATE_LIBGCC
 
 config NDS32
 	bool "NDS32 architecture"
@@ -36,6 +38,7 @@ config OPENRISC
 
 config PPC
 	bool "PowerPC architecture"
+	select HAVE_PRIVATE_LIBGCC
 
 config SANDBOX
 	bool "Sandbox"
@@ -43,12 +46,14 @@ config SANDBOX
 
 config SH
 	bool "SuperH architecture"
+	select HAVE_PRIVATE_LIBGCC
 
 config SPARC
 	bool "SPARC architecture"
 
 config X86
 	bool "x86 architecture"
+	select HAVE_PRIVATE_LIBGCC
 	select SUPPORT_OF_CONTROL
 
 endchoice

+ 3 - 0
arch/arm/cpu/armv7/tegra-common/Kconfig

@@ -17,6 +17,9 @@ config TEGRA124
 
 endchoice
 
+config USE_PRIVATE_LIBGCC
+	default y if SPL_BUILD
+
 config SYS_CPU
 	default "arm720t" if SPL_BUILD
 	default "armv7" if !SPL_BUILD

+ 3 - 0
arch/x86/Kconfig

@@ -4,6 +4,9 @@ menu "x86 architecture"
 config SYS_ARCH
 	default "x86"
 
+config USE_PRIVATE_LIBGCC
+	default y
+
 choice
 	prompt "Target select"
 

+ 0 - 2
arch/x86/include/asm/config.h

@@ -11,6 +11,4 @@
 #define CONFIG_LMB
 #define CONFIG_SYS_BOOT_RAMDISK_HIGH
 
-#define CONFIG_USE_PRIVATE_LIBGCC
-
 #endif

+ 0 - 4
include/configs/tegra-common.h

@@ -154,10 +154,6 @@
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_GPIO_SUPPORT
 
-#ifdef CONFIG_SPL_BUILD
-# define CONFIG_USE_PRIVATE_LIBGCC
-#endif
-
 #define CONFIG_SYS_GENERIC_BOARD
 
 /* Misc utility code */

+ 11 - 0
lib/Kconfig

@@ -8,6 +8,17 @@ config CC_OPTIMIZE_LIBS_FOR_SPEED
 
 	  If unsure, say N.
 
+config HAVE_PRIVATE_LIBGCC
+	bool
+
+config USE_PRIVATE_LIBGCC
+	bool "Use private libgcc"
+	depends on HAVE_PRIVATE_LIBGCC
+	help
+	  This option allows you to use the built-in libgcc implementation
+	  of U-boot instead of the one privided by the compiler.
+	  If unsure, say N.
+
 config SYS_HZ
 	int
 	default 1000