This is the mail archive of the binutils@sourceware.org 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: PING: Re: [PATCHv2 0/2] Add initial arc nps400 support


* Nick Clifton <nickc@redhat.com> [2016-03-15 12:48:48 +0000]:

> Hi Andrew,
> 
> >>    #target: arc*-mellanox-*
> >>
> >> What is "mellanox" 
> 
> > Patch #2 adds this name to the opcodes/configure script.  I
> > deliberately tried to minimise the number of configure scripts I
> > changed.
> 
> Would it be possible to use an underscore rather than a hyphen for the
> mellenox extension ?  Ie:
> 
>   arc_mellanox-*
> 
> No other CPU name includes a hyphen character, and this character is
> traditionally used to separate the three fields of a target configuration.
> (See the top level config.sub file for more information on this).

Maybe I'm miss-understanding the target triplet system.  My intention was
that mellanox was a vendor name, which I thought got its own space
within the triplet.  This page, for example, led me to think this:

  https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html

though as this page also says, cpu-vendor-os, can also become
cpu-vendor-kernel-system.

For arc it's possible to configure for both little-endian and
big-endian toolchains, with the default being little-endian, while the
mellanox system is most commonly big-endian but can also be configured
little-endian, so for configuration, I normally use:

  --target=arceb-mellanox-linux-uclibc

though the -linux-uclibc part is really about GCC and makes no
difference to binutils, I suspect -elf would be fine too (I _think_
I've tried that).

[ It's worth noting though that parts of binutils are broken for
big-endian arc.  I posted and merged a patch recently that fixed the
assembler, as that's where I'm currently working for mellanox, and I
plan to fix the linker soon. ]

So, mellanox is definitely not the cpu name, the cpu name is nps400,
but as it's an arc700 with extension instructions to support their SoC
I would rather not create a whole new cpu type.  If I did then I'd end
up having to patch a lot of configure scripts, plus a lot of test
files.

If I'm not understanding the purpose of the vendor field in the target
triplet, please can you help me understand.  After reading all I can
find, I still think arc-mellanox-* is the right fit.

Thanks,
Andrew


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