[U-Boot] [PATCH] common: Link with GCC instead of LD
Wolfgang Denk
wd at denx.de
Thu Nov 1 01:00:04 CET 2012
Dear Marek,
In message <201211010045.40817.marex at denx.de> you wrote:
>
> > > 2) You can enable LTO eventually -- long term plan -- which proved can
> > > shrink the code size a bit
> >
> > Do you have a workign example? You know, we don;t like adding dead
> > code...
>
> We've been digging with Albert, but nothing we can release just yet. This is a
> groundwork patch.
Dead code, which will not be added, then.
> > > 3) Usage of LLVM/CLANG is now much more straightforward
> >
> > Please elucidate?
>
> Now you can simply replace gcc with clang and that _should_ work. Sure, I expect
> more work will be needed here, but this patch gives you all the ground to do
> that.
I. e. it's all speculation only? Such doesn't by much...
> > > 4) Binutils usually lag behind the GCC development a bit, by using GCC to
> > > do the link, we can remedy this problem
> >
> > Grrrrghhhg. I lost you here. By not calling ld directly (where we
> > know exactly what we are doing), but through a (somewhat unknown) GCC
> > framework, we can magicly adjust any (claimed - by you) version
> > differences? I cannot parse this.
>
> GCC can do all the optimization magic (LTO ...) and then just let linker do the
> linking.
You were talking about "Binutils usually lag behind the GCC
development". Now I would like you to explain how "by using GCC to do
the link, we can remedy this problem".
You fail to provide any such explanation.
> > > But actually, the 2) is the most important part. LTO will hopefully help
> > > us optimize U-Boot for size even better than it is now. But that will
> > > still need much more research. So this is only a patch that shall
> > > prepare the groundwork for this further research.
> >
> > As is, it's just unused or dead code that adds a lot of complexity and
> > buys nothing. Please submit as part of a patch series that makes
> > successfull (and tested) use of LTO.
>
> No, I won't, I don't have that part ready yet.
Then please _re_submit when you have the rest that actually needs any
such changes.
> Besides, the sandbox target already uses gcc linking. Shall we also convert it
> to use LD instead then ?
Note that sandbox is actually very different, in such as it really
tried to implement a standard onforming C program, running in a
standard C execution environment. This is totally different from the
bare metal code we have on any real hardware.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The most difficult thing in the world is to know how to do a thing
and to watch someone else doing it wrong, without commenting.
-- T.H. White
More information about the U-Boot
mailing list