2010-01-21 Doug Kwan <dougkwan@google.com>
[deliverable/binutils-gdb.git] / gold / ChangeLog
index b4ad5f88cdb1a4e5a3a1bb16996a6483b47f8057..3d2b181f15f29962f9348737ad0a78175ae6dc61 100644 (file)
@@ -1,3 +1,145 @@
+2010-01-21  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_exidx_input_section): New class.
+       (Arm_relobj::exidx_input_section_by_link,
+       Arm_relobj::exidx_input_section_by_shndx,
+       Arm_relobj::make_exidx_input_section): New methods.
+       (read_arm_attributes_section): Remove.
+       (Arm_relobj::do_read_symbols): Look for ARM.exidx sections and record
+       information about them.
+       (Arm_dynobj::do_read_symbols): Move code in read_arm_attributes_section
+       to here.
+
+2010-01-20  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::Arm_input_section_map): Change key type from
+       Input_section_specifier to Section_id.
+       (Target_arm::new_arm_input_section: Adjust code for change of key
+       type.
+       (Target_arm::find_arm_input_section): Ditto.
+       * gc.h (object.h): Include for Section_id nand Section_id_hash.
+       (Section_id): Remove.
+       (Garbage_collection::Section_id_hash): Remove.
+       * icf.h (object.h): Include for Section_id nand Section_id_hash.
+       (Section_id): Remove.
+       (Icf::Section_id_hash): Remove.
+       * object.h (Section_id, Const_section_id, Section_id_hash,
+       Const_section_id_hash): New type definitions.
+       * output.cc (Output_section::add_relaxed_input_section): Change to
+       use Const_section_id instead of Input_section_specifier as key type.
+       (Output_section::add_merge_input_section): Ditto.
+       (Output_section::build_relaxation_map): Change to use Section_id
+       instead of Input_section_specifier as key type.
+       (Output_section::convert_input_sections_in_list_to_relaxed_sections):
+       Ditto.
+       (Output_section::convert_input_sections_to_relaxed_sections): Change
+       to use Const_section_id instead of Input_section_specifier as key type.
+       (Output_section::find_merge_section): Ditto.
+       (Output_section::find_relaxed_input_section): Ditto.
+       * output.h (Input_section_specifier): Remove class.
+       (Output_section::Output_section_data_by_input_section_map): Change
+       key type to Const_section_id.
+       (Output_section::Output_relaxed_input_section_by_input_section_map):
+       Ditto.
+       (Output_section::Relaxation_map): Change key type to Section_id.
+
+2010-01-20  Viktor Kutuzov  <vkutuzov@accesssoftek.com>
+
+       * gold/arm.cc: Added support for R_ARM_V4BX relocation
+       (class Arm_v4bx_stub): New class.
+       (DEF_STUBS): Updated definition to support v4_veneer_bx.
+       (Stub_factory::make_arm_v4bx_stub): New method.
+       (Stub_factory::elf32_arm_stub_v4_veneer_bx): New veneer template.
+       (Stub_table::empty): Handle v4bx stubs.
+       (Stub_table::add_arm_v4bx_stub): New method.
+       (Stub_table::find_arm_v4bx_stub): New method.
+       (Arm_relocate_functions::v4bx): New method.
+       (Target_arm::fix_v4bx): New method.
+       (Target_arm::Target_arm): Handle R_ARM_V4BX.
+       (Stub_table::relocate_stubs): Likewise.
+       (Stub_table::do_write): Likewise.
+       (Stub_table::update_data_size_and_addralign): Likewise.
+       (Stub_table::finalize_stubs):  Likewise.
+       (Target_arm::Scan::local): Likewise.
+       (Target_arm::Scan::global): Likewise.
+       (Target_arm::do_finalize_sections): Likewise.
+       (Target_arm::Relocate::relocate): Likewise.
+       (Target_arm::Relocatable_size_for_reloc::get_size_for_reloc):
+       Likewise.
+       (Target_arm::scan_reloc_for_stub): Likewise.
+       (Target_arm::scan_reloc_section_for_stubs): Likewise.
+
+2010-01-19  Ian Lance Taylor  <iant@google.com>
+
+       * output.cc (Output_section_headers::do_sized_write): Write large
+       segment count to sh_info field.
+       (Output_file_header::do_sized_write): For large segment count,
+       write PN_XNUM to e_phnum field.
+
+2010-01-15  Viktor Kutuzov  <vkutuzov@accesssoftek.com>
+
+       * arm.cc (Arm_relocate_functions::thm_jump6): New function.
+       (Arm_relocate_functions::thm_jump8): New function.
+       (Arm_relocate_functions::thm_jump11): New function.
+       (Target_arm::Scan::local): Handle R_ARM_THM_JUMP6, R_ARM_THM_JUMP8,
+       R_ARM_THM_JUMP11.
+       (Target_arm::Scan::global): Likewise.
+       (Target_arm::Relocate::relocate): Likewise.
+       (Target_arm::Relocatable_size_for_reloc::get_size_for_reloc):
+       Likewise.
+
+2010-01-14  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (map, utility): Include headers.
+       (Target_arm::apply_cortex_a8_workaround): New method.
+       (Arm_relobj::do_relocate_sections): Apply any Cortex-A8 workaround.
+       (Target_arm::Scan::local): Handle R_ARM_THM_JUMP24, R_ARM_THM_JUMP19.
+       (Target_arm::Scan::global): R_ARM_THM_JUMP19.
+       (Target_arm::do_finalize_sections): Set fix_cortex_a8_ according to
+       the --[no-]fix-cortex-a8 command line options.
+       (Target_arm::Relocate::relocate): Handle R_ARM_JUMP19.
+       (Target_arm::relocate_stub): Use addend in instruction template.
+       * options.h (DEFINE_bool): Set the user-set flag.
+       (General_options): Add --[no-]-fix-cortex options.
+       * output.cc (Output_section::convert_input_sections_to_relaxed_sections)
+       : Update fast look-up map after conversion. 
+
+2010-01-14  Sriraman Tallam  <tmsriram@google.com>
+
+       * object.cc (Sized_relobj::do_layout): Change to call layout_gnu_stack
+       in the first pass of do_layout.
+
+2010-01-13  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj::section_needs_reloc_stub_scanning,
+       Arm_relobj::scan_sections_for_stubs): Rearrange code to avoid an
+       apparent compiler problem of not folding static constant integral
+       data members of elfcpp::Elf_sizes<32>.
+
+2010-01-13  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj::section_needs_reloc_stub_scanning,
+       Arm_relobj::section_needs_cortex_a8_stub_scanning,
+       Arm_relobj::scan_section_for_cortex_a8_erratum,
+       Arm_relobj::scan_span_for_cortex_a8_erratum): New methods.
+       (Arm_relobj::scan_sections_for_stubs): Move code deciding what
+       sections to scan for relocation stubs into a new method
+       Arm_relobj::section_needs_reloc_stub_scanning.  Handle both
+       relocation and Cortex-A8 stub scanning.
+       (Target_arm::do_relax): Force stubs to be after stubbed sections
+       if fixing the Cortex-A8 erratum.  Remove all Cortex-A8 stubs at
+       the beginning of a new relaxation pass.  Update a comment. 
+       (Target_arm::scan_span_for_cortex_a8_erratum): New method definition.
+
+2010-01-12  Ian Lance Taylor  <iant@google.com>
+
+       * target-reloc.h (visibility_error): New inline function.
+       (relocate_section): Call visibility_error.
+       * testsuite/Makefile.am (check_DATA): Add protected_3.err.
+       (MOSTLYCLEANFILES): Likewise.
+       (protected_4_pic.o, protected_3.err): New targets.
+       * testsuite/protected_4.cc: New file.
+
 2010-01-12  Doug Kwan  <dougkwan@google.com>
 
        * arm.cc (Cortex_a8_reloc): New class.
This page took 0.025322 seconds and 4 git commands to generate.