From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11656 invoked by alias); 4 Aug 2014 09:53:20 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 11642 invoked by uid 89); 4 Aug 2014 09:53:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 04 Aug 2014 09:53:18 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Mon, 04 Aug 2014 10:53:15 +0100 Received: from [10.1.205.157] ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 4 Aug 2014 10:53:14 +0100 Message-ID: <53DF5809.3030009@arm.com> Date: Mon, 04 Aug 2014 09:53:00 -0000 From: Jiong Wang User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Jing Yu , binutils , Doug Kwan , Cary Coutant CC: Han Shen Subject: Re: [gold][aarch64]patch2: link helloworld References: In-Reply-To: X-MC-Unique: 114080410531508301 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2014-08/txt/msg00013.txt.bz2 Hi Jing, this hello world milestone patch generally looks good to me. looking forward to your following patches. -- Jiong On 30/07/14 03:03, Jing Yu wrote: > Here is the second patch for aarch64 gold backend, which enables > linking hello_world binary. > > On x86: > $ ../binutils-gdb/configure --enable-plugins --disable-multilib > --disable-nls --enable-threads --enable-gold=3Ddefault > --enable-targets=3Dall > On aarch64: > $ ../binutils-gdb/configure --enable-plugins --disable-multilib > --disable-nls --enable-threads --enable-gold=3Ddefault > --enable-targets=3Dall > > gold/ld-new is able to link hello_world binary dynamically. > Our next patch will support linking hello_world statically and linking > position independent code. > > Thanks, > Jing > > 2014-07-29 Jing Yu > Han Shen > > * elfcpp/aarch64.h(enum): Replace withdrawn with R_AARCH64_withdrawn > * gold/Makefile.am(HFILES): Add aarch64-reloc-property.h > (DEFFILES): add aarch64-reloc.def > (TARGETSOURCES): Add aarch64-reloc-property.cc > (ALL_TARGETOBJS): aarch64-reloc-property.$(OBJEXT) > * gold/Makefile.in: Regenerate > * gold/aarch64-reloc-property.cc: New file > * gold/aarch64-reloc-property.h: New file > * gold/aarch64-reloc.def: New file > * gold/aarch64.cc: Include aarch64-reloc-property.h. Replace spaces > with tab to make the format consistent. > (Output_data_got_aarch64::symbol_table_): New method > (Target_aarch64::do_plt_address_for_global): New method > (Target_aarch64::do_plt_address_for_local): New method > (Target_aarch64::do_select_as_default_target): New method > (Target_aarch64::do_make_data_plt): New method > (Target_aarch64::make_data_plt): New method > (Output_data_plt_aarch64::has_irelative_section): New method > (Output_data_plt_aarch64::address_for_global): New method > (Output_data_plt_aarch64::address_for_local): New method > (Output_data_plt_aarch64::irelative_rel_): New parameter > (Output_data_plt_aarch64::add_entry): Implement contents. > (Output_data_plt_aarch64::set_final_data_size): Fix typo. > (Output_data_plt_aarch64::do_write): Femove useless got_base. Set > the got_pov entry to plt0. > (Output_data_plt_aarch64_standard::do_fill_first_plt_entry): > Implement contents. > (Output_data_plt_aarch64_standard::do_fill_plt_entry): Implement. > (AArch64_howto): New struct. > (aarch64_howto[]): New static const array. > (AArch64_relocate_functions): New class > (Target_aarch64::Scan::get_reference_flags): Remove method. > (Target_aarch64::Scan::local): Implement to support a few relocations. > (Target_aarch64::Scan::global): Implement to support a few relocations. > (Target_aarch64::make_plt_section): Implement contents > (Target_aarch64::make_plt_entry): Implement contents > (Target_aarch64::do_finalize_sections): Implement contents > (Target_aarch64::Relocate::relocate): Implement a few relocations > (Target_aarch64::relocate_section): Implement contents > (Target_selector_aarch64): Comment out 32-bit target instantiation.