[U-Boot] [PATCH 1/2 v6] Make libgcc inclusion from common Makefile overridable by platform config file
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sun Jul 12 21:22:16 CEST 2009
On 20:17 Sun 12 Jul , Wolfgang Denk wrote:
> Dear Dirk Behme,
>
> In message <4A5A0B5B.2010408 at googlemail.com> you wrote:
> >
> > > Of course it it nice if we can also provide a workaround for them, so
> > > they can update at a point in time that is convenient to them. But the
> > > implementation of such a workaround should be clean, and eventually be
> > > used only for systems that really need it.
> > >
> > > In no case we should make the use of such a workaround for broken
> > > setups the rule which has to be used by all systems (and eventually
> > > all architectures, even those that never had such problems in the
> > > first place).
> >
> > Ah, I understand, most probably we are not aligned about what we talk,
> > sorry. Yes, I know, there was some discussion about the Makefiles and
> > that there are some requests to change them. Unfortunately, I'm no
> > Makefile expert.
> >
> > So I'm only talking about ARM systems/architecture. If the Makefiles
> > discussed previously touch other systems/architectures, too, then this
> > is not what I'm talking about.
>
> Note that this is not a question of ARM versus other architectures.
> On ARM the use of libgcc should be the default like on all other
> architectures - only if needed it should be possible to switch on a
> don't-use-libgcc mode, but this should then be independent of
> architecture, either.
which is the case no arch are force to switch the current patch just allow
to switch to this mode.
>
> > > This is why I really hesitate to apply these patches - they make the
> > > workaround for a few broken systems the rule, instead of making clear
> > > that this is an exception needed only by some (broken) systems.
> >
> > For me the broken systems are in a first step ARM tool chains. Nothing
> > more. Not sure if we can limit it to a sub-group of ARM systems,
> > though? E.g. would it possible to have a CONFIG_SYS_DONT_RELY_ON_LIBGCC?
>
> That would be a board specific thing, which is inappropriate, as it
> does not depend on a specific board. The selection could be done by
> passing some argument or environment variables to "make", though.
>
> > > This is in no way a question of optimization. If we provide
> > > replacements for the libgcc functions, _we_ will have to maintain
> > > these and make sure they work correctly with all versions of GCC that
> > > exist in the multiverse and with all of their possible and impossible
> > > configurations.
> >
> > It was my understanding that Jean-Christophe copied this code from
> > kernel? Like we do with some other systems, e.g. MTD? So it's
> > maintained by kernel developers? Sorry if I missed something here.
>
> Even if it's maintained in Linux, we still have to follow any changes
> there, and port these to U-Boot, and analyse each new problem popping
> up by future uses of C statements that cause GCC to generate libgcc
> calls - that may or may not be covered by the kernel provided code.
>
> No matter where we get the code from, an ongoing effort will be
> needed to maintain this.
>
> > Yes. I talk about "broken tool chains == ARM tool chains". Nothing
>
> This is where I disagree. Why should we automatically assume that
> there are no sane ARM toolchains?
unfortunately most of the arm toolchains are not sane for every point of view
as you can not build U-Boot, kernel and userland with the same optimized
toolchain most of the time.
Maybe oneday we can assume that we could use any arm toolchain to build the
3, but for now I can assure it's not the case.
On other it maybe not the case but as example on mips we have similar issue
to workaround to be able to build U-Boot & Kernel
Best Regards,
J.
More information about the U-Boot
mailing list