2010-02-26 Doug Kwan <dougkwan@google.com>
[binutils-gdb.git] / gold / ChangeLog
index e752bf57a118400b67107abd0454d153bbf2350d..d6e806d13aad19b123f35e038448a413b386c75a 100644 (file)
@@ -1,3 +1,119 @@
+2010-02-26  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::Relocate::reloc_is_non_pic): Treat
+       R_ARM_PREL31 and R_ARM_SBREL31 as position independent.
+       * testsuite/debug_msg.sh: Avoid matching source line number for
+       use of global variable undef_int.
+
+2010-02-26  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::scan_reloc_for_stub): Move code handling
+       R_ARM_V4BX to Target_arm::scan_reloc_section_for_stubs.
+       (Target_arm::scan_reloc_section_for_stubs): Instead of calling
+       scan_reloc_for_stub, do all processing of R_ARM_V4BX here.
+       * options.cc (General_options::General_options): Initialize member
+       fix_v4bx_.
+       * testsuite/Makefile.am (check_SCRIPTS): Add arm_fix_v4bx.sh
+       (check_DATA): Add arm_fix_v4bx.stdout, arm_fix_v4bx_interworking.stdout
+       and rm_no_fix_v4bx.stdout
+       (arm_fix_v4bx.stdout, arm_fix_v4bx, arm_fix_v4bx.o,
+       arm_fix_v4bx_interworking.stdout, arm_fix_v4bx_interworking,
+       arm_no_fix_v4bx.stdout, arm_no_fix_v4bx): New make rules.
+       (MOSTLYCLEANFILES): Add arm_fix_v4bx, arm_fix_v4bx_interworking
+       and arm_no_fix_v4bx.
+       * Makefile.in: Regenerate.
+       * testsuite/arm_fix_v4bx.s: New file.
+       * testsuite/arm_fix_v4bx.sh: Ditto.
+
+2010-02-24  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::got_section): Make the .got section the first
+       non RELRO section in the data segment.
+       * testsuite/script_test_5.sh: Fix match patterns to avoid matching
+       suffixes of section names.
+
+2010-02-24  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::do_finalize_sections): Skip processor specific
+       flags and attributes merging if an input file is a binary file.
+       * fileread.cc (Input_file::open): Record format of original file.
+       * fileread.h (Input_file::Format): New enum type.
+       (Input_file::Input_file): Initialize data member format_.
+       (Input_file::format): New method definition.
+       (Input_file::format_):: New data member.
+
+2010-02-24  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_output_data_got): New class.
+       (ARM_TCB_SIZE): New constant
+       (Target_arm): Use Arm_output_data_got instead of Output_data_got.
+       (Arm_output_section::fix_exidx_coverage): Add a parameter for layout.
+       If user uses a script with a SECTIONS clause, issue only a warning
+       for a misplaced EXIDX input section.  Otherwise, issue an error.
+       (Arm_relobj::do_gc_process_relocs): Exit early if we are not doing
+       garbage collection.
+       (Target_arm::got_mode_index_entry): Handle static linking.
+       (Target_arm::Scan::local): Ditto.
+       (Target_arm::Scan::global): Ditto.
+       (Target_arm::Relocate::relocate_tls): Handle static linking.  Fix
+       all incorrectly implemented relocations.
+       (Target_arm::fix_exidx_coverage): Pass layout to 
+       Arm_output_section::fix_exidx_coverage.
+       * layout.cc (Layout::section_name_mapping): Remove trailing dots
+       from ".ARM.exidx." and ".ARM.extab.".
+
+2010-02-23  Viktor Kutuzov  <vkutuzov@accesssoftek.com>
+
+       * arm.cc (Target_arm::do_finalize_sections): Create attribute
+       section if it does not already exist.
+       * attributes.cc (Attributes_section_data::Attributes_section_data):
+       Don't crash if size is zero.
+
+2010-02-23  Viktor Kutuzov  <vkutuzov@accesssoftek.com>
+           Ian Lance Taylor  <iant@google.com>
+
+       * gold.cc (queue_middle_tasks): If no input files were opened,
+       exit.
+       * workqueue.h (Task_function::Task_function): Assert that there is
+       a blocker.
+
+2010-02-22  Doug Kwan  <dougkwan@google.com>
+
+       * gold-threads.h (Once::~Once): Explicitly define virtual destructor.
+       * icf.cc (get_section_contents): Cast snprintf arguments to long long
+       types to avoid warnings due to different uint64_t implementations
+       on different hosts.
+
+2010-02-21  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relocate_functions::arm_branch_common): Fix bug in
+       handling of the maximum backward branch offset.
+       (Arm_relocate_functions::thumb_branch_common): Ditto.
+       * testsuite/Makefile.am (check_SCRIPTS): Add arm_branch_in_range.sh.
+       (check_DATA): Add arm_bl_in_range.stdout, arm_bl_out_of_range.stdout
+       thumb_bl_in_range.stdout, thumb_bl_out_of_range.stdout, 
+       thumb2_bl_in_range.stdout and thumb2_bl_out_of_range.stdout.
+       (arm_bl_in_range.stdout, arm_bl_in_range, arm_bl_in_range.o,
+       arm_bl_out_of_range.stdout, arm_bl_out_of_range,
+       arm_bl_out_of_range.o, thumb_bl_in_range.stdout, thumb_bl_in_range,
+       thumb_bl_in_range.o, thumb_bl_out_of_range.stdout,
+       thumb_bl_out_of_range thumb_bl_out_of_range.o,
+       thumb2_bl_in_range.stdout, thumb2_bl_in_range, thumb2_bl_in_range.o
+       thumb2_bl_out_of_range.stdout, thumb2_bl_out_of_range,
+       thumb2_bl_out_of_range.o): New rules.
+       (MOSTLYCLEANFILES): Add arm_bl_in_range, arm_bl_out_of_range,
+       thumb_bl_in_range, thumb_bl_out_of_range, thumb2_bl_in_range and
+       thumb2_bl_out_of_range
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/arm_bl_in_range.s: New file.
+       * testsuite/arm_bl_out_of_range.s: Ditto.
+       * testsuite/arm_branch_in_range.sh: Ditto.
+       * testsuite/arm_branch_range.t: Ditto.
+       * testsuite/thumb2_branch_range.t: Ditto.
+       * testsuite/thumb_bl_in_range.s: Ditto.
+       * testsuite/thumb_bl_out_of_range.s: Ditto.
+       * testsuite/thumb_branch_range.t: Ditto.
+
 2010-02-20  Sriraman Tallam  <tmsriram@google.com>
 
        * gc.h (gc_process_relocs): Change vectors to point to the new list.