diff options
author | Marek Vasut <marex@denx.de> | 2016-05-26 18:01:47 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-06-02 21:21:47 -0400 |
commit | 91b86e21564de01c0e3deafc72702897993d63ae (patch) | |
tree | f9a191ee2073e8953cda002f1d13224b5ff4aff4 /lib | |
parent | 13b0a91a6d48736d2927edd63e59f3a9e76f6d34 (diff) |
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')
-rw-r--r-- | lib/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Kconfig b/lib/Kconfig index 2b97c2b0a47..02ca4058d37 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. |