> 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.
I agree with this change but is this even true? my toolchain(linaro) has 28 different versions of libgcc.a Thanks Michael On Mon, Jun 6, 2016 at 7:35 PM, Simon Glass <[email protected]> wrote: > On 4 June 2016 at 02:00, Tom Rini <[email protected]> wrote: > > 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 <[email protected]> > >> Cc: Albert Aribaud <[email protected]> > >> Cc: Masahiro Yamada <[email protected]> > >> Cc: Simon Glass <[email protected]> > >> Cc: Tom Rini <[email protected]> > >> Reviewed-by: Tom Rini <[email protected]> > > > > 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. > > Thank you Marek! > > - Simon > _______________________________________________ > U-Boot mailing list > [email protected] > http://lists.denx.de/mailman/listinfo/u-boot > _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

