This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 00 of 10] Add support for using gold instead of ld, v2


Yann,

On Thu, Dec 30, 2010 at 3:18 PM, Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> wrote:
> Hello All!
>
> This patchset is a tentative at using gold in place of ld with recent
> binutils (2.21 at least) and gcc (4.5.0 at least).
>
> Enabling gold on binutils 2.20 and 2.20.1 makes the code more complex,
> as the configure options have changed; so only 2.21 upward are expected
> to build gold; this makes things easier, code-wise.
>
> Interaction between gcc and binutils really makes sense when using LTO,
> as in this case gcc install the lto-plugin used by gold. As LTO is only
> available since gcc-4.5, only those versions are impacted.
>
> Note that it is possible to build gold, for any version of gcc used.
> In this case, there is no gain to configure gcc to be aware that gold
> is being used (AFAIK).
>
> Currently, glibc can not be built with gold (fails on the ld version
> check), and uClibc builds fine with a minor edit in the linker flags
> (which is already applied upstream).
>
> Basically, the patch series adds support for building gold or ld or
> both, and in the latter case, set which is the default. It also adds
> a (shell) wrapper that can override the default at runtime. For gcc,
> it makes gcc>=4.5 also buld and install the lto-plugin. There are also
> a few ancilliary patches, of which updating a sample enabling gold and
> lto-plugin.
>
> Shortlog:
> Âcomplibs/libelf: build with -fPIC
> Âbinutils/binutils: add BINUTILS_2_21_or_later blind option
> Âbinutils/binutils: add option to enable gold
> Âbinutils/binutils: add support for gold plugins
> Âbinutils/binutils: add support for threaded gold
> Âbinutils/binutils: add wrapper to gold and ld
> Âcc/gcc: build lto-plugin if binutils' gold is built
> Âsamples: update i686-nptl-linux-gnu
> Âcc/gcc: fix building of ecjx
> Âsamples: update i686-nptl-linux-gnu
>
> Diffstat:
> Âb/config/binutils/binutils.in         Â| Â111  111   0   0 +++++++++++++++++++++++++
> Âb/patches/gcc/4.5.0/100-ecjx-host.patch    Â|  13  Â13   0   0 +++
> Âb/patches/gcc/4.5.1/100-ecjx-host.patch    Â|  13  Â13   0   0 +++
> Âb/patches/gcc/4.5.2/100-ecjx-host.patch    Â|  13  Â13   0   0 +++
> Âb/samples/i686-nptl-linux-gnu/crosstool.config | Â 96 Â Â69 Â Â27 Â Â 0 ++++++++++++++++------
> Âb/scripts/build/binutils/binutils-ld.in    Â|  11  Â11   0   0 ++
> Âb/scripts/build/binutils/binutils.sh      |  44  Â43   1   0 ++++++++++
> Âb/scripts/build/cc/gcc.sh           Â|  10  Â10   0   0 ++
> Âb/scripts/build/companion_libs/libelf.sh    |  Â2   2   0   0 +
> Â9 files changed, 285 insertions(+), 28 deletions(-)
>
> TODO:
> - add a C wrapper, for systems which may lack a shell (eg. mingw)
> - _maybe_ backport uClibc patch to make it build with gold
>
> Thank you to Arnaud and Bryan for their help and comments!

Would it be possible to commit these to a branch or add a hosted mq on
your hg server with these changes?

It's a pita to get these patches from inline on gmail.

> Regards,
> Yann E. MORIN.
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>
>

Thanks in advance,

-Bryan

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]