summaryrefslogtreecommitdiff
path: root/lib/Kconfig
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2016-05-26 18:01:47 +0200
committerTom Rini <trini@konsulko.com>2016-06-02 21:21:47 -0400
commit91b86e21564de01c0e3deafc72702897993d63ae (patch)
treef9a191ee2073e8953cda002f1d13224b5ff4aff4 /lib/Kconfig
parent13b0a91a6d48736d2927edd63e59f3a9e76f6d34 (diff)
downloadu-boot-imx-91b86e21564de01c0e3deafc72702897993d63ae.zip
u-boot-imx-91b86e21564de01c0e3deafc72702897993d63ae.tar.gz
u-boot-imx-91b86e21564de01c0e3deafc72702897993d63ae.tar.bz2
lib: Enable private libgcc by default
This patch decouples U-Boot binary from the toolchain on systems where private libgcc is available. Instead of pulling in functions provided by the libgcc from the toolchain, U-Boot will use it's own set of libgcc functions. These functions are usually imported from Linux kernel, which also uses it's own libgcc functions instead of the ones provided by the toolchain. This patch solves a rather common problem. The toolchain can usually generate code for many variants of target architecture and often even different endianness. The libgcc on the other hand is usually compiled for one particular configuration and the functions provided by it may or may not be suited for use in U-Boot. This can manifest in two ways, either the U-Boot fails to compile altogether and linker will complain or, in the much worse case, the resulting U-Boot will build, but will misbehave in very subtle and hard to debug ways. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'lib/Kconfig')
-rw-r--r--lib/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Kconfig b/lib/Kconfig
index 2b97c2b..02ca405 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -14,6 +14,7 @@ config HAVE_PRIVATE_LIBGCC
config USE_PRIVATE_LIBGCC
bool "Use private libgcc"
depends on HAVE_PRIVATE_LIBGCC
+ default y if HAVE_PRIVATE_LIBGCC && ((ARM && !ARM64) || MIPS)
help
This option allows you to use the built-in libgcc implementation
of U-Boot instead of the one provided by the compiler.