This is the mail archive of the
mailing list for the binutils project.
Re: [GOLD] TILE-Gx gold support
- From: Ian Lance Taylor <iant at google dot com>
- To: Jiong Wang <jiwang at tilera dot com>
- Cc: binutils at sourceware dot org
- Date: Tue, 11 Sep 2012 09:13:37 -0700
- Subject: Re: [GOLD] TILE-Gx gold support
- References: <504F4751.firstname.lastname@example.org>
On Tue, Sep 11, 2012 at 7:14 AM, Jiong Wang <email@example.com> wrote:
> Hi Maintainer:
> On behalf of Tilera Corporation, I'd like to contribute a gold port to our
> TILE-Gx architecture.
> port features
> 1. support 32-bit/64-bit/little-endian/big-endian
> 2. full support for pic/non-pic shared library
> 3. full support for tls/ifunc
> port test
> we have tested TILE-Gx gold by:
> 1. gold testsuites
> 2. bootstrap
> 3. build & run glibc, both libc.so & ld.so
> 4. build & run various other programs, like busybox, bison, flex, zlib etc.
Great, thanks! This looks very good. Just a few comments.
Needs ChangeLog entries.
> +struct tile_reloc_howto
I don't see any reason to define this in elfcpp/tilegx.h. It's not
used there. I'd rather see it moved to gold/tliegx.cc. Also the gold
style is for all type names to start with a capital letter, so this
should be Tile_reloc_howto or perhaps simply Tile_howto.
The copyright line for tilegx.cc should just say 2012.
I think there is no need for tilegx.cc to #include "freebsd.h".
I don't see why Output_data_plt_tilegx is an abstract class, given
that it has only one child class. In x86_64.cc Output_data_plt_x86_64
is an abstract class because it supports two different kinds of PLT:
the usual one, and one for NaCl
(https://developers.google.com/native-client/). There is no need for
that for TILE-Gx. Just use an ordinary class without a child class,
as the non-x86_64 targets do.
> +#define TILEGX_IMM16_MASK 0xFFFF
> +#define TILEGX_X0_IMM16_BITOFF 12
> +#define TILEGX_X1_IMM16_BITOFF 43
Use const ints here.