From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot,12/12] lib: Enable private libgcc by default
Date: Fri, 3 Jun 2016 10:00:10 -0400 [thread overview]
Message-ID: <20160603140010.GD7419@bill-the-cat> (raw)
In-Reply-To: <1464278507-5092-12-git-send-email-marex@denx.de>
On Thu, May 26, 2016 at 06:01:47PM +0200, Marek Vasut wrote:
> 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>
Applied to u-boot/master, thanks!
And since this change was contentious when previously proposed, I'm
going to explain why I'm taking this now. There are a number of
correctly configured toolchains out there today that fail to build
U-Boot on some platforms. This is because we're giving the compiler
conflicting requests (build soft-float! use whatever libgcc you have!).
The era of multilib toolchains being prevalent (at least for 32bit ARM)
is long over. The right thing to have done, always, would be to provide
the required functions ourselves so that we are in control. So, thanks
again Marek for following up on the series as I had asked you to, this
fixes build failures for me on about a dozen platforms.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160603/fd3ac1fa/attachment.sig>
next prev parent reply other threads:[~2016-06-03 14:00 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 16:01 [U-Boot] [PATCH 01/12] arm: config: Introduce CONFIG_SYS_ARM_ARCH Marek Vasut
2016-05-26 16:01 ` [U-Boot] [PATCH 02/12] arm: include: Import unified.h from Linux kernel Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot, " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 03/12] arm: lib: Drop underscore from private libgcc filenames Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot, " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 04/12] arm: lib: Sync libgcc shift operations Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot,04/12] " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 05/12] arm: lib: Sync libgcc 32b division/modulo operations Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot, " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 06/12] arm: lib: Fix uldivmod.S build on Thumb2 Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot, " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 07/12] arm: lib: Import __do_div64 from Linux Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot,07/12] " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 08/12] arm: lib: Repair Warning: conditional infixes are deprecated in unified syntax Marek Vasut
2016-06-02 13:05 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot, " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 09/12] arm: lib: import muldi3.S from Linux Marek Vasut
2016-06-02 13:06 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot,09/12] " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 10/12] arm: lib: Import Thumb1 functions Marek Vasut
2016-06-02 13:06 ` Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot,10/12] " Tom Rini
2016-05-26 16:01 ` [U-Boot] [PATCH 11/12] arm: lib: Split asm symbols into different .text subsections Marek Vasut
2016-06-02 13:06 ` Tom Rini
2016-06-03 14:00 ` [U-Boot] [U-Boot, " Tom Rini
2016-06-03 16:02 ` [U-Boot] [PATCH " Stephen Warren
2016-05-26 16:01 ` [U-Boot] [PATCH 12/12] lib: Enable private libgcc by default Marek Vasut
2016-06-02 13:06 ` Tom Rini
2016-06-03 14:00 ` Tom Rini [this message]
2016-06-06 17:35 ` [U-Boot] [U-Boot,12/12] " Simon Glass
2016-06-06 17:46 ` Michael Zimmermann
2016-06-02 13:05 ` [U-Boot] [PATCH 01/12] arm: config: Introduce CONFIG_SYS_ARM_ARCH Tom Rini
2016-06-03 13:59 ` [U-Boot] [U-Boot, " Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160603140010.GD7419@bill-the-cat \
--to=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox