This is the mail archive of the mailing list for the binutils project.

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] ld: Override default linker emulation at configure time

* Alan Modra <> [2017-01-20 11:37:28 +1030]:

> On Thu, Jan 19, 2017 at 04:38:31PM +0000, Andrew Burgess wrote:
> > This commit adds a new configure option for ld that allows the default
> > linker emulation to be selected at configure time.  The new option is:
> > 
> >     --with-default-linker-emulation=NAME
> > 
> > where NAME is the name of a linker emulation that would otherwise be
> > valid for this target (as you'd pass to ld -mNAME).  The validity of
> > NAME is checked at configure time.
> > 
> > The effect of this configure option is to make NAME the new default
> > linker emulation.  The old default is still available in the list of
> > alternative emulations and can be selected with the -m option to ld.
> Do you have an example where this would be useful, and wouldn't be
> better to configure for the correct target?

Sure, I'm currently support a customer Mellanox, to upstream support
for their arc700 based architecture.  As part of this work we've added
an additional linker script[1].

So, when Mellanox configure binutils a bit like this:

   ./configuire --target=arceb-mellanox-linux-uclibc

thanks to the 'arc*-*-linux*' specialisation in configure.tgt we set
the default linker script to arclinux.  However, Mellanox will
actually always want to use the arclinux_nps linker emulation, so
ideally this would be the default.

I could add more specialisation in configure.tgt, but in [2] I was led
to believe that using the vendor string of the configuration target for
specialisation was discouraged wherever possible, and so...

... the only idea I could come up with was adding a configure option.

I'm not tied to this implementation though, I'm happy to rework this
in a different direction if you have any hints / suggestions.




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