2009-12-02 Rafael Avila de Espindola <espindola@google.com>
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 56991ab65c5a6f1247cf704852d9bad08d876b98..7368334d35cdad47e6a8b7985500b83005c21e03 100644 (file)
@@ -1,3 +1,415 @@
+2009-12-02  Rafael Avila de Espindola  <espindola@google.com>
+
+       * testsuite/Makefile.am: Add the incremental_test.sh test.
+       * testsuite/incremental_test.sh: New.
+       * testsuite/incremental_test_1.c: New.
+       * testsuite/incremental_test_2.c: New.
+
+2009-12-01  Rafael Avila de Espindola  <espindola@google.com>
+
+       * incremental-dump.cc (main): Fix typos.
+
+2009-11-27  Rafael Avila de Espindola  <espindola@google.com>
+
+       PR gold/11025
+       * incremental-dump.cc (main): Use llu to print 64 bit values.
+
+2009-11-26  Per Ã˜yvind Karlsen <peroyvind@mandriva.org>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.am (incremental_dump_DEPENDENCIES): Add $(THREADSLIB)
+       $(LIBDL).
+       (incremental_dump_LDADD): Likewise.
+       * Makefile.in: Regenerated.
+
+2009-11-25  Doug Kwan  <dougkwan@google.com>
+       
+       Revert:
+
+       2009-11-25  Doug Kwan  <dougkwan@google.com>
+
+               * arm.cc (Target_arm::Target_arm): Move method definition
+               outside of class definition.  Add code to handle
+               --target1-rel, --target1-abs and --target2= options.
+               (Target_arm::get_reloc_reloc_type): Change method to be
+               non-static and const.
+               (Target_arm::target1_is_rel_, Target_arm::target2_reloc_):
+               New data member declaration.
+               (Target_arm::Scan::local, Target_arm::Scan::global,
+               Target_arm::Relocate::relocate,
+               Target_arm::Relocatable_size_for_reloc::get_size_for_reloc):
+               Adjust call to Target_arm::get_real_reloc_type.
+               (Target_arm::get_real_reloc_type): Use command line options
+               to determine real types of R_ARM_TARGET1 and R_ARM_TARGET2.
+               * options.h (--target1-rel, --target1-abs, --target2): New
+               ARM-only options.
+
+2009-11-25  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::Target_arm): Move method definition outside of
+       class definition.  Add code to handle --target1-rel, --target1-abs
+       and --target2= options.
+       (Target_arm::get_reloc_reloc_type): Change method to be non-static
+       and const.
+       (Target_arm::target1_is_rel_, Target_arm::target2_reloc_): New data
+       member declaration.
+       (Target_arm::Scan::local, Target_arm::Scan::global,
+       Target_arm::Relocate::relocate,
+       Target_arm::Relocatable_size_for_reloc::get_size_for_reloc): Adjust
+       call to Target_arm::get_real_reloc_type.
+       (Target_arm::get_real_reloc_type): Use command line options to
+       determine real types of R_ARM_TARGET1 and R_ARM_TARGET2.
+       * options.h (--target1-rel, --target1-abs, --target2): New ARM-only
+       options.
+
+2009-11-25  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::may_use_thumb2_nop): New method definition.
+       (Arm_relocate_functions::thumb_branch_common): New metod declaration.
+       (Arm_relocate_functions::abs12, Arm_relocate_functions::abs16): Fix
+       formatting.
+       (Arm_relocate_functions::thm_call): Replace body with a call to
+       Arm_relocate_functions::thumb_branch_common.
+       (Arm_relocate_functions::thm_jump24,
+       Arm_relocate_functions::thm_xpc22): New method definitions.
+       (Arm_relocate_functions::thumb_branch_common): New method definition.
+       (Reloc_stub::stbu_type_for_reloc): Fix incorrect uses of bit-wise-or
+       operator.
+       (Target_arm::Relocate::relocate): Adjust call to thm_call.
+       Add code to handle R_ARM_THM_XPC22 and R_ARM_THM_JUMP24.
+
+2009-11-24  Rafael Avila de Espindola  <espindola@google.com>
+
+       * Makefile.am: Build incremental-dump
+       * Makefile.in: Regenerate.
+       * incremental-dump.cc: New.
+       * incremental.cc (Incremental_inputs_header_data,
+       Incremental_inputs_entry_data): Move to incremental.h
+       * incremental.h: (Incremental_inputs_header_data,
+       Incremental_inputs_entry_data): Move from incremental.cc
+
+2009-11-24  Rafael Avila de Espindola  <espindola@google.com>
+
+       * incremental.cc (Incremental_inputs_header,
+       Incremental_inputs_header_write, Incremental_inputs_entry,
+       Incremental_inputs_entry_write): Add a typedef with the data type.
+
+2009-11-24  Rafael Avila de Espindola  <espindola@google.com>
+
+       * incremental.cc (Incremental_inputs_header,
+       Incremental_inputs_header_write, Incremental_inputs_entry,
+       Incremental_inputs_entry_write): Update comment about which
+       type has the filed descriptions.
+
+2009-11-15  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::may_use_arm_nop): New method definition.
+       (Arm_relocate_functions::arm_branch_common): Change method defintion
+       in class definition to a method declaration and update list of formal
+       parameters.
+       (Arm_relocate_functions::plt32, Arm_relocate_functions::call,
+       Arm_relocation_functions::jump24): Adjust call to
+       Arm_relocate_functions::arm_branch_common.  Update list of formal
+       parameters.
+       (Arm_relocate_functions::xpc25): New method definition.
+       (Arm_relocate_functions::arm_branch_common): Move method defintion
+       out from class definition.  Use stubs for mode-switching and extending
+       branch ranges.
+       (Target_arm::Relocate::relocate): Handle weakly-undefined symbols
+       specially.  Change code to enable use of stubs in ARM branches.
+
+2009-11-10  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj::do_relocate_sections): Remove options parameter
+       in method declaration.
+       (Target_arm::relocate_stub): New method declaration.
+       (Target_arm::default_target): Change to return a pointer instead of
+       a const reference.
+       (Reloc_stub::stub_type_for_reloc): Adjust for the change in
+       Target_arm::default_target.
+       (Arm_Relobj::do_relocate_sections): Remove options paramater in
+       method definition.
+       (Target_arm::relocate_section): Adjust view.
+       (Target_arm::relocate_stub): New method definition.
+
+2009-11-10  Doug Kwan  <dougkwan@google.com>
+
+       * i386.cc (Target_i386::do_calls_non_split): Add a cast to avoid
+       a format warning.
+       * incremental.cc (open_incremental_binary): Initialized local
+       variables to avoid warnings.
+       * object.cc (make_elf_object): Ditto.
+       * x86_64.cc (Target_x86_64::do_calls_non_split): Add a cast to avoid
+       a format warning.
+009-11-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gold/10930
+       * testsuite/plugin_test.c: Include "config.h".
+
+2009-11-09  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::fake_relnum_for_stubs): New constant.
+       (arm_symbol_value): Remove.
+       (Arm_relocate_functions::arm_branch_common,
+       Arm_relocate_functions::abs8, Arm_relocate_functions::thm_abs5,
+       Arm_relocate_functions::abs12, Arm_relocate_functions::abs16,
+       Arm_relocate_functions::abs32, Arm_relocate_functions::rel32,
+       Arm_relocate_functions::thm_call, Arm_relocate_functions::plt32,
+       Arm_relocate_functions::call, Arm_relocate_functions::jump24,
+       Arm_relocate_functions::prel31, Arm_relocate_functions::mov_abs_nc,
+       Arm_relocate_functions::movt_abs, Arm_relocate_functions::movw_abs_nc,
+       Arm_relocate_functions::thm_mobw_abs_nc,
+       Arm_relocate_functions::thm_mov_abs,
+       Arm_relocate_functions::movw_prel_nc,
+       Arm_relocate_functions::thm_movt_abs,
+       Arm_relocate_functions::movt_prel,
+       Arm_relocate_functions::thm_movw_prel_nc,
+       Arm_relocate_functions::thm_movt_prel): Adjust callers of the above.
+       (Target_arm::Relocate::relocate): Only decompose address into two
+       parts if relocation type uses the thumb-bit and pass the actual
+       bit instead of a flag indicating that the thumb-bit is used.  Adjust
+       calls to methods in Arm_relocate_functions for this change.
+
+2009-11-08  Ian Lance Taylor  <ian@airs.com>
+
+       PR 10925
+       * reloc.cc: Instantiate
+       Sized_relobj::initialize_input_to_output_maps and
+       Sized_relobj:free_input_to_output_maps.
+
+2009-11-06  Ian Lance Taylor  <iant@google.com>
+
+       PR 10876
+       * defstd.cc (in_segment): Set only_if_ref true for "end".
+
+2009-11-06  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (class Reloc_stub): Correct a comment.
+       (Target_arm::Target_arm): Initialize arm_input_section_map_.
+       (Target_arm::scan_section_for_stubs): New method declaration.
+       (Target_arm::do_make_elf_object, Target_arm::do_make_output_section):
+       Change methods from private to protected.
+       (Target_arm::do_may_relax): New method definition.
+       (Target_arm::do_relax, Target_arm::group_sections,
+       Target_arm::scan_reloc_for_stub,
+       Target_arm::scan_reloc_section_for_stubs): New method declarations.
+       (Target_arm::arm_input_section_map_): New data member declaration.
+       (Target_arm::scan_reloc_for_stub,
+       Target_arm::scan_reloc_section_for_stubs,
+       Target_arm::scan_section_for_stubs, Target_arm::group_sections,
+       Target_arm::do_relax): New method definitions.
+
+2009-11-06  Mikolaj Zalewski  <mikolaj@google.com>
+
+       * configure.ac: Check for (struct stat)::st_mtim
+       * fileread.cc (File_read::get_mtime): Use st_mtim if available.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2009-11-05  Ian Lance Taylor  <iant@google.com>
+
+       PR 10910
+       * output.cc (Output_segment::add_output_section): Add missing
+       return statement.
+
+2009-11-04  Ian Lance Taylor  <iant@google.com>
+
+       PR 10880
+       * object.h (class Object): Add is_needed and set_is_needed
+       methods.  Add is_needed_ field.  Make bool fields into bitfields.
+       * symtab.cc (Symbol_table::set_dynsym_indexes): If a symbol is
+       defined in a dynamic object and referenced by a regular object,
+       set is_needed for the dynamic object.
+       * layout.cc (Layout::finish_dynamic_section): Don't add DT_NEEDED
+       if the file is marked with as_needed and it is not needed.
+
+2009-11-04  Ian Lance Taylor  <iant@google.com>
+
+       PR 10887
+       * arm.cc (Target_arm::do_finalize_sections): Don't add dynamic
+       tags if data is discarded by linker script.
+       * i386.cc (Target_i386::do_finalize_sections): Likewise.
+       * powerpc.cc (Target_powerpc::do_finalize_sections): Likewise.
+       * sparc.cc (Target_sparc::do_finalize_sections): Likewise.
+       * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
+
+2009-11-04  Ian Lance Taylor  <iant@google.com>
+
+       * layout.cc (Layout::get_output_section): Add is_interp and
+       is_dynamic_linker_section parameters.  Change all callers.
+       (Layout::choose_output_section): Likewise.
+       (Layout::make_output_section): Likewise.
+       (Layout::add_output_section_data): Add is_dynamic_linker_section
+       parameter.  Change all callers.
+       * layout.h (class Layout): Update declarations.
+       * output.h (class Output_section): Add is_interp, set_is_interp,
+       is_dynamic_linker_section, set_is_dynamic_linker_section methods.
+       Add is_interp_, is_dynamic_linker_section_ fields.  Change
+       generate_code_fills_at_write_ to a bitfield.
+       * output.cc (Output_section::Output_sections): Initialize new
+       fields.
+       (Output_segment::add_output_section): Add do_sort parameter.
+       Change all callers.
+
+2009-11-03  Ian Lance Taylor  <iant@google.com>
+
+       PR 10860
+       * options.h (class General_options): Add --warn-common.
+       * resolve.cc (Symbol_table::resolve): Handle --warn-common when
+       merging two common symbols.
+       (Symbol_table::should_override): Handle --warn-common when merging
+       a common symbol with a defined symbol.  Use report_resolve_problem
+       for multiple definitions.
+       (Symbol_table::report_resolve_problem): New function.
+       * symtab.h (class Symbol_table): Declare report_resolve_problem.
+
+2009-11-03  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::Target_arm): Initialize stub_tables_ and
+       stub_factory_.
+       (Target_arm::stub_factory): New method definition.
+       (Target_arm::new_arm_input_section,
+       Target_arm::find_arm_input_section, Target_arm::new_stub_table,
+       Target_arm::reloc_uses_thumb_bit): New method declarations.
+       (Target_arm::Stub_table_list, Target_arm::Arm_input_section_map): 
+       New type definitions.
+       (Target_arm::stub_tables_, Target_arm::stub_factory_): New data
+       member declarations.
+       (Target_arm::reloc_uses_thumb_bit, Target_arm::new_arm_input_section,
+       Target_arm::find_arm_input_section, Target_arm::new_stub_table):
+       New method definitions.
+
+2009-11-03  Ian Lance Taylor  <iant@google.com>
+
+       * options.h (class General_options): Add --warn_constructors.
+
+2009-11-03  Ian Lance Taylor  <iant@google.com>
+
+       PR 10893
+       * defstd.cc (in_section): Add entries for __rel_iplt_start,
+       __rel_iplt_end, __rela_iplt_start, __rela_iplt_end, and __stack.
+
+2009-11-03  Ian Lance Taylor  <iant@google.com>
+
+       PR 10895
+       * po/Make-in ($(srcdir)/$(PACKAGE).pot): Pass -C and
+       --msgid-bugs-address.
+       (install-pdf): New target.
+       (install-data_yes): Look up one directory to find mkinstalldirs.
+
+2009-11-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * po/Make-in (.po.gmo): Don't generate .gmo files in source
+       tree.
+
+2009-10-30  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Stub_addend_reader): Fix bug in previouls check-in.
+
+2009-10-30  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Stub_addend_reader): New struct template definition
+       and partial specializations.
+       (Stub_addend_reader::operator()): New method definition for a
+       partially specialized template.
+
+2009-10-30  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj::processor_specific_flags): New method
+       definition.
+       (Arm_relobj::do_read_symbols): New method declaration.
+       (Arm_relobj::processor_specific_flags_): New data member declaration.
+       (Arm_dynobj): New class definition.
+       (Target_arm::do_finalize_sections): Add input_objects parameter.
+       (Target_arm::do_adjust_elf_header): New method declaration.
+       (Target_arm::are_eabi_versions_compatible,
+       (Target_arm::merge_processor_specific_flags): New method declaration.
+       (Target_arm::do_make_elf_object): New overloaded method definitions
+       and declaration.
+       (Arm_relobj::do_read_symbols): New method definition.
+       (Arm_dynobj::do_read_symbols): Ditto.
+       (Target_arm::do_finalize_sections): Add input_objects parameters.
+       Merge processor-specific flags from all input objects.
+       (Target_arm::are_eabi_versions_compatible,
+       Target_arm::merge_processor_specific_flags,
+       Target_arm::do_adjust_elf_header, Target_arm::do_make_elf_object):
+       New method definitions.
+       * i386.cc (Target_i386::do_finalize_sections): Add unnamed
+       Input_objects pointer type parameter.
+       * layout.cc (Layout::finalize): Pass input objects to target's.
+       finalize_sections function.
+       * output.cc (Output_file_header::do_sized_write): Set ELF file
+       header's processor-specific flags.
+       * powerpc.cc (Target_powerpc::do_finalize_sections): Add unnamed
+       Input_objects pointer type parameter.
+       * sparc.cc (Target_sparc::do_finalize_sections): Same.
+       * target.h (Input_objects): New forward class declaration.
+       (Target::processor_specific_flags,
+       Target::are_processor_specific_flags_sect): New method definitions.
+       (Target::finalize_sections): Add input_objects parameter.
+       (Target::Target): Initialize processor_specific_flags_ and
+       are_processor_specific_flags_set_.
+       (Target::do_finalize_sections): Add unnamed Input_objects pointer type
+       parameter.
+       (Target::set_processor_specific_flags): New method definition.
+       (Target::processor_specific_flags_,
+       Target::are_processor_specific_flags_set_): New data member
+       declarations.
+       * x86_64.cc (Target_x86_64::do_finalize_sections): Add unnamed
+       Input_objects pointer type parameter.
+
+2009-10-30  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc: Use Arm_address instead of elfcpp::Elf_types<32>::Elf_Addr.
+
+2009-10-28  Ian Lance Taylor  <iant@google.com>
+
+       * object.h (class Relobj): Drop options parameter from
+       gc_process_relocs, scan_relocs, relocate, do_gc_process_relocs,
+       do_scan_relocs, do_relocate.  Change all callers.
+       (class Sized_relobj): Drop options parameters from
+       do_gc_process_relocs, do_scan_relocs, do_relocate,
+       do_relocate_sections, relocate_sections, emit_relocs_scan,
+       emit_relocs_scan_reltype.  Change all callers.
+       (struct Relocate_info): Remove options field and all references to
+       it.
+       * reloc.h (class Read_relocs): Remove options constructor
+       parameter and options_ field.  Change all callers.
+       (class Gc_process_relocs, class Scan_relocs): Likewise.
+       (class Relocate_task): Likewise.
+       * target-reloc.h (scan_relocs): Remove options parameter.  Change
+       all callers.
+       (scan_relocatable_relocs): Likewise.
+       * target.h (class Sized_target): Remove options parameter from
+       gc_process_relocs, scan_relocs, scan_relocatable_relocs.  Change
+       all callers.
+       * gc.h (gc_process_relocs): Remove options parameter.  Change all
+       callers.
+       * arm.cc: Update functions to remove options parameters.
+       * i386.cc: Likewise.
+       * powerpc.cc: Likewise.
+       * sparc.cc: Likewise.
+       * x86_64.cc: Likewise.
+       * testsuite/testfile.cc: Likewise.
+
+2009-10-28  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj): New class definition.
+       (Arm_relobj::scan_sections_for_stubs, 
+       Arm_relobj::do_count_local_symbols, Arm_relobj::do_relocate_sections):
+       New method definitions.
+
+2009-10-28  Cary Coutant  <ccoutant@google.com>
+
+       * plugin.h (Plugin::Plugin): Initialize cleanup_done_.
+       (Plugin::cleanup_done_): New member.
+       (Plugin_manager::Plugin_manager): Remove cleanup_done_.
+       (Plugin_manager::cleanup_done_): Remove.
+       (Plugin_manager::add_input_file): Edit error message.
+       * plugin.cc (Plugin::cleanup): Test and set cleanup_done_.
+       (Plugin_manager::cleanup): Remove use of cleanup_done_.
+
 2009-10-27  Mikolaj Zalewski  <mikolajz@google.com>
 
        * fileread.cc: (File_read::View::~View): Use the new
 2009-10-15  Ian Lance Taylor  <iant@google.com>
 
        * script.cc (Script_options::add_symbol_assignment): Always add a
-       dot assginment to script_sections_.
+       dot assignment to script_sections_.
        * script-sections.cc (Script_sections::add_dot_assignment):
        Initialize if necessary.
 
This page took 0.031393 seconds and 4 git commands to generate.