Mips target in gold - part 3

Sasa Stankovic Sasa.Stankovic@imgtec.com
Fri Aug 2 17:11:00 GMT 2013


Hi Cary,

Updated patches are attached. I left the method set_nonvis as public because it is used in three places in the file mips.cc, but only one is from the derived class Mips_symbol - the other two are from the class Target_mips. I also attached the patch mips3.patch which is the update on 2 mips patches (this patch also contains the previous config.patch).

Regards,
Sasa
________________________________________
From: Cary Coutant [ccoutant@google.com]
Sent: Tuesday, July 30, 2013 11:38 PM
To: Sasa Stankovic
Cc: binutils@sourceware.org; iant@google.com; Petar Jovanovic
Subject: Re: Mips target in gold - part 3

Thanks for organizing this patch series so nicely! A couple of general comments:

- all patches need ChangeLog entries. (See
http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs.)

- don't include generated files like Makefile.in in the diff (just say
"Regenerated" in the ChangeLog entry).

I'm still working on the big two-part mips.cc patch, but I've got
comments on the others for you. First...

> 1. start.patch
> This patch allows a target to define start symbol. Mips start symbol is "__start" instead of "_start".

I decided to do this differently. Rather than add a virtual function
to return the entry symbol, I added the symbol name to struct
Target_info, and added "_start" as the entry_symbol_name in the
Target_info initializers for each target. I've committed the attached
patch. You'll need to adjust mips.cc similarly.

-cary


2013-07-23  Cary Coutant  <ccoutant@google.com>
            Sasa Stankovic  <Sasa.Stankovic@imgtec.com>

        * parameters.cc (Parameters::entry): Return target-specific entry
        symbol name.
        * target.h (Target::entry_symbol_name): New function.
        (Target_info::entry_symbol_name): New data member.

        * arm.cc (Target_arm::arm_info): Add entry_symbol_name.
        * i386.cc (Target_i386::i386_info): Likewise.
        (Target_i386_nacl::i386_nacl_info): Likewise.
        * sparc.cc (Target_sparc::sparc_info): Likewise.
        * tilegx.cc (Target_tilegx::tilegx_info): Likewise.
        * x86_64.cc: (Target_x86_64::x86_64_info) Likewise.
        (Target_x86_64_nacl::x86_64_nacl_info) Likewise.
        * testsuite/testfile.cc (Target_test::test_target_info): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dynsym.patch
Type: text/x-patch
Size: 2630 bytes
Desc: dynsym.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20130802/a1a61b62/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nonvis.patch
Type: text/x-patch
Size: 973 bytes
Desc: nonvis.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20130802/a1a61b62/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dynamic-tag.patch
Type: text/x-patch
Size: 2911 bytes
Desc: dynamic-tag.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20130802/a1a61b62/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: init-output-data.patch
Type: text/x-patch
Size: 1655 bytes
Desc: init-output-data.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20130802/a1a61b62/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mips3.patch
Type: text/x-patch
Size: 4518 bytes
Desc: mips3.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20130802/a1a61b62/attachment-0004.bin>


More information about the Binutils mailing list