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: [gold][aarch64]patch2: link helloworld


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=default
--enable-targets=all
On aarch64:
$ ../binutils-gdb/configure --enable-plugins --disable-multilib
--disable-nls --enable-threads --enable-gold=default
--enable-targets=all

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 <jingyu@google.com>
                   Han Shen <shenhan@google.com>

* 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.



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