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


> elfcpp/Changelog:
> 2014-08-07  Jing Yu <jingyu@google.com>
>                        Han Shen <shenhan@google.com>
>
> * aarch64.h(enum): Replace withdrawn with R_AARCH64_withdrawn.
>
>
> gold/Changelog:
> 2014-08-07  Jing Yu <jingyu@google.com>
>                       Han Shen <shenhan@google.com>
>
> * Makefile.am(HFILES): Add aarch64-reloc-property.h.
>   (DEFFILES): add aarch64-reloc.def.
>   (TARGETSOURCES): Add aarch64-reloc-property.cc.
>   (ALL_TARGETOBJS): Add aarch64-reloc-property.$(OBJEXT).
> * Makefile.in: Regenerate.
> * aarch64-reloc-property.cc: New file.
> * aarch64-reloc-property.h: New file.
> * aarch64-reloc.def: New file.
> * 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): Remove 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.

+// Above is from Table 4-10, Relocations for control-fl

Looks like this comment got truncated.

+// Above is from Table 4-17, Initial Exec TLS relocatios, 539-543.

"relocations"

+  Page(typename elfcpp::Elf_types<size>::Elf_Addr address)

It might be worth making a class-local typedef for this type.

+    return (address &
+    (~(typename elfcpp::Elf_types<size>::Elf_Addr)0xFFF));

Please use static_cast (which will be more manageable with the local typedef).

OK with these changes (please post the patch as committed for
reference). Thanks!

-cary


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