diff mbox

[U-Boot,4/7] kconfig: move CONFIG_USE_PRIVATE_LIBGCC to Kconfig

Message ID 1411727024-19153-5-git-send-email-yamada.m@jp.panasonic.com
State Superseded
Delegated to: Tom Rini
Headers show

Commit Message

Masahiro Yamada Sept. 26, 2014, 10:23 a.m. UTC
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>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Tom Warren <twarren@nvidia.com>
---

 arch/Kconfig                            |  5 +++++
 arch/arm/cpu/armv7/tegra-common/Kconfig |  3 +++
 arch/x86/Kconfig                        |  3 +++
 arch/x86/include/asm/config.h           |  2 --
 include/configs/tegra-common.h          |  4 ----
 lib/Kconfig                             | 11 +++++++++++
 6 files changed, 22 insertions(+), 6 deletions(-)

Comments

Simon Glass Oct. 6, 2014, 8:15 p.m. UTC | #1
On 26 September 2014 04:23, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> 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>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Stephen Warren <swarren@nvidia.com>
> Cc: Tom Warren <twarren@nvidia.com>

For the x86 bits:

Acked-by: Simon Glass <sjg@chromium.org>

Tested on link (Chromebook Pixel)

Tested-by: Simon Glass <sjg@chromium.org>
diff mbox

Patch

diff --git a/arch/Kconfig b/arch/Kconfig
index bf26764..f63cc5a 100644
--- a/arch/Kconfig
+++ b/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
diff --git a/arch/arm/cpu/armv7/tegra-common/Kconfig b/arch/arm/cpu/armv7/tegra-common/Kconfig
index bcae2d6..3ea6d76 100644
--- a/arch/arm/cpu/armv7/tegra-common/Kconfig
+++ b/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
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ff9935a..0dba8ac 100644
--- a/arch/x86/Kconfig
+++ b/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"
 
diff --git a/arch/x86/include/asm/config.h b/arch/x86/include/asm/config.h
index 6827424..dd1329e 100644
--- a/arch/x86/include/asm/config.h
+++ b/arch/x86/include/asm/config.h
@@ -9,6 +9,4 @@ 
 
 #define CONFIG_SYS_GENERIC_BOARD
 
-#define CONFIG_USE_PRIVATE_LIBGCC
-
 #endif
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 834b3d5..c7b2778 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -152,10 +152,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 */
diff --git a/lib/Kconfig b/lib/Kconfig
index a889c22..8460439 100644
--- a/lib/Kconfig
+++ b/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