aboutsummaryrefslogtreecommitdiff
path: root/gold/arm-reloc-property.h
AgeCommit message (Collapse)AuthorFilesLines
2010-06-302010-06-29 Doug Kwan <dougkwan@google.com>Doug Kwan1-0/+7
* arm-reloc-property.cc (Arm_reloc_property::Arm_reloc_property): Initialize USE_SYMBOL_. * arm-reloc-property.h (Arm_reloc_property::uses_symbol): New method definition. (Arm_reloc_property::uses_symbol_): New data member declaration. * arm.cc (Target_arm::Relocate::relocate): Exit early if relocation uses symbol value and symbol is undefined but not weakly undefined.
2010-02-042010-02-03 Doug Kwan <dougkwan@google.com>Doug Kwan1-0/+19
* 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/+360
* 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.