aboutsummaryrefslogtreecommitdiff
path: root/gold/arm-reloc.def
AgeCommit message (Collapse)AuthorFilesLines
2010-12-14Fix typos in gold.Ralf Wildenhues1-2/+2
gold/: * dwarf_reader.cc: Remove outdated comment. * gold-threads.cc: Fix typo in error message. * archive.cc: Fix typos in comments. * archive.h: Likewise. * arm-reloc-property.cc: Likewise. * arm-reloc-property.h: Likewise. * arm-reloc.def: Likewise. * arm.cc: Likewise. * attributes.h: Likewise. * cref.cc: Likewise. * ehframe.cc: Likewise. * fileread.h: Likewise. * gold.h: Likewise. * i386.cc: Likewise. * icf.cc: Likewise. * incremental.h: Likewise. * int_encoding.cc: Likewise. * layout.h: Likewise. * main.cc: Likewise. * merge.h: Likewise. * object.cc: Likewise. * object.h: Likewise. * options.cc: Likewise. * readsyms.cc: Likewise. * reduced_debug_output.cc: Likewise. * reloc.cc: Likewise. * script-sections.cc: Likewise. * sparc.cc: Likewise. * symtab.h: Likewise. * target-reloc.h: Likewise. * target.cc: Likewise. * target.h: Likewise. * timer.cc: Likewise. * timer.h: Likewise. * x86_64.cc: Likewise.
2010-02-192010-02-18 Doug Kwan <dougkwan@google.com>Doug Kwan1-5/+5
* arm-reloc.def: Mark R_ARM_TLS_GD32, R_ARM_TLS_LDM32, R_ARM_TLS_LDO32, R_ARM_TLS_IE32 and R_ARM_TLS_LE32 are implemented. * arm.cc (Arm_relocation_functions): New forward declaration. (Target_arm::Target_arm): Initialize new data members got_mod_index_offset_ and tls_base_symbol_defined_. (Target_arm::Relocate::relocate_tls): New method. (Target_arm::optimize_tls_reloc, Target_arm::define_tls_base_symbol, Target_arm::got_mod_index_entry, Target_arm::rel_tls_desc_section): New methods. (Target_arm::Got_type): Add GOT_TYPE_TLS_NOFFSET, GOT_TYPE_OFFSET, GOT_TYPE_TLS_PAIR and GOT_TYPE_TLS_DESC. (Target_arm::got_mod_index_offset_, Target_arm::tls_base_symbol_defined_): New data members. (Target_arm::Scan::local, Target::Scan::global, Target_arm::Relocate::relocate): Handle 32-bit initial TLS relocations.
2010-02-042010-02-03 Doug Kwan <dougkwan@google.com>Doug Kwan1-4/+4
* arm-reloc-property.cc (Arm_reloc_property_table::reloc_name_in_error_message): New method definition. * arm-reloc-property.h (Arm_reloc_property_table::get_implemented_static_reloc_property): New method definition. (Arm_reloc_property_table::reloc_name_in_error_message): New method declaration. * arm-reloc.def (THM_MOVT_ABS, THM_MOVT_PREL, THM_MOVT_BREL): Change overflow to N. (GOT_PREL): Change implemented to Y. * arm.cc (Target_arm::reloc_uses_thumb_bit): Remove method. (Target_arm::Relocate::reloc_needs_sym_origin): Remove method. (Arm_relocate_functions::movw_abs_nc): Remove method. (Arm_relocate_functions::movt_abs): Ditto. (Arm_relocate_functions::thm_movw_abs_nc): Ditto. (Arm_relocate_functions::thm_movt_abs): Ditto. (Arm_relocate_functions::movw_rel_nc): Ditto. (Arm_relocate_functions::movw_rel): Ditto. (Arm_relocate_functions::movt_rel): Ditto. (Arm_relocate_functions:thm_movw_rel_nc): Ditto. (Arm_relocate_functions:thm_movw_rel): Ditto. (Arm_relocate_functions:thm_movt_rel): Ditto. (Arm_relocate_functions::movw, Arm_relocate_functions::movt, (Arm_relocate_functions::thm_movw, Arm_relocate_functions::thm_movt): New method definitions. (Arm_relocation_functions::arm_grp_alu): Add assertion for group index. (Arm_relocation_functions::arm_grp_ldr): Ditto. (Arm_relocation_functions::arm_grp_ldrs): Ditto. (Arm_relocation_functions::arm_grp_ldc): Ditto. (Target_arm::Relocate::relocate): Check for non-static or unimplemented relocation code and exit early. Change calls to Target_arm::reloc_uses_thumb_bit and Target_arm::Reloc::reloc_needs_sym_origin to use relocation property instead. Refactor code to handle similar relocations to increase code sharing. Remove check for unsupported relocation code in switch statement. (Target_arm::Relocatable_size_for_reloc::get_size_for_reloc): Use relocation property table to find out size. Change error message to print out the name of a relocation code instead of the numeric value. (Target_arm::scan_reloc_for_stub): Use relocation property table instead of calling Target_arm::reloc_uses_thumb_bit().
2010-02-032010-02-02 Doug Kwan <dougkwan@google.com>Doug Kwan1-0/+194
* Makefile.am (HFILES): Add arm-reloc-property.h. (DEFFILES): New. (TARGETSOURCES): Add arm-reloc-property.cc (ALL_TARGETOBJS): Add arm-reloc-property.$(OBJEXT) (libgold_a_SOURCES): $(DEFFILES) * Makefile.in: Regenerate. * arm-reloc-property.cc: New file. * arm-reloc-property.h: New file. * arm-reloc.def: New file. * arm.cc: Update comments. (arm-reloc-property.h): New included header. (arm_reloc_property_table): New global variable. (Target_arm::do_select_as_default_target): New method definition. * configure.tgt (armeb*-*-*,armbe*-*-*,arm*-*-*): Add arm-reloc-property to targ_extra_obj. * parameters.cc (set_parameters_target): Call Target::select_as_default_target(). * target.h (Target::select_as_default_target): New method definition. (Target::do_select_as_default_target): Same.