RFA/RFC: Enable both gold and ld in a single toolchain

H.J. Lu hjl.tools@gmail.com
Tue Mar 16 17:49:00 GMT 2010


On Tue, Mar 16, 2010 at 10:25 AM, Nick Clifton <nickc@redhat.com> wrote:
> Hi H.J.
>
>> -fuse-ld is misleading. ld may be gold.  How about "-fuse-ld=[gold|bfd]"
>> which
>> is consistent with linker names and configure options.
>
> A good point.  I have attached a revised patch with the option named as you
> suggest.  I also omitted to include your name and Roland's in the ChangeLog
> entries, so I have updated those as well.
>
> Any other issues with the patch ?
>
> Cheers
>  Nick
>
> ./ChangeLog
> 2010-01-05  Roland McGrath  <roland@redhat.com>
>            H.J. Lu  <hongjiu.lu@intel.com>
>
>        * configure.ac (--enable-gold): Support both, both/gold and
>        both/bfd to add gold to configdirs without removing ld.
>        * configure: Regenerated.
>
> gold/ChangeLog
> 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
>            Nick Clifton  <nickc@redhat.com>
>
>        * configure.ac (install_as_default): Define and set to false
>        unless --enable-gold or --enable-gold=both/gold has been
>        specified.
>        * configure: Regenerate.
>        * Makefile.am (install-exec-local): Install the executable as
>        "gold".  If install_as_default is true then also install it as
>        "ld".
>        * Makefile.in: Regenerated.
>
> ld/ChangeLog
> 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
>            Nick Clifton  <nickc@redhat.com>
>
>        * configure.in (install_as_default): Define and set to true
>        unless --enable-gold=both/gold has been specified.
>        * configure: Regenerate.
>        * Makefile.am (transform): Use ld.bfd as the default name of
>        the linker.
>        (install-exec-local): Also install the executable as a binary
>        named 'ld' if install_as_default is true.
>        * Makefile.in: Regenerate.
>
> gcc/ChangeLog
> 2010-03-04  Nick Clifton  <nickc@redhat.com>
>
>        * configure.ac (gcc_cv_gold_srcdir): New cached variable -
>        contains the location of the gold sources.
>        (ORIGINAL_GOLD_FOR_TARGET): New substituted variable - contains
>        the name of the locally built gold executable.
>        * configure: Regenerate.
>        * collect2.c (main): Detect the -use-gold and -use-ld switches
>        and select the appropriate linker, if found.
>        * exec-tool.in: Detect the -use-gold and -use-ld switches and
>        select the appropriate linker, if found.
>        Add support for -v switch.
>        Report problems locating linker executable.
>        * gcc.c (LINK_COMMAND_SPEC): Translate -fuse-ld=gold into
>        -use-gold and -fuse-ld=bfd into -use-ld.
>        * common.opt: Add fuse-ld=gold and fuse-ld=bfd.
>        * opts.c (comman_handle_option): Ignore -fuse-ld=gold and
>        -fuse-ld=bfd.
>        * doc/invoke.texi: Document the new options.
>

Is that possible to pass -fuse-ld=XXX directly collect2 so that you
don't need to change exec-tool.in?


-- 
H.J.



More information about the Gcc-patches mailing list