* symtab.h (class Symbol_table): Add enum Defined.
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 36803df08b195686a07c646b96a45a3d2a3292ec..ed7f31d7680987a70d0acceb78068fa33781e672 100644 (file)
@@ -1,5 +1,303 @@
+2009-12-28  Ian Lance Taylor  <iant@google.com>
+
+       * symtab.h (class Symbol_table): Add enum Defined.
+       * resolve.cc (Symbol_table::should_override): Add defined
+       parameter.  Change all callers.  Test whether object is NULL
+       before calling a method on it.
+       (Symbol_table::report_resolve_problem): Add defined parameter.
+       Change all callers.
+       (Symbol_table::should_override_with_special): Likewise.
+       * symtab.cc (Symbol_table::define_in_output_data): Add defined
+       parameter.  Change all callers.
+       (Symbol_table::do_define_in_output_data): Likewise.
+       (Symbol_table::define_in_output_segment): Likewise.
+       (Symbol_table::do_define_in_output_segment): Likewise.
+       (Symbol_table::define_as_constant): Likewise.
+       (Symbol_table::do_define_as_constant): Likewise.
+       * script.h (class Symbol_assignment): Add is_defsym parameter to
+       constructor; change all callers.
+       * script.cc (Script_options::add_symbol_assignment): Add is_defsym
+       parameter.  Change all callers.  Add is_defsym_ field.
+       (class Parser_closure): Add parsing_defsym parameter to
+       constructor; change all callers.  Add parsing_defsym accessor
+       function.  Add parsing_defsym_ field.
+
+2009-12-28  Ian Lance Taylor  <iant@google.com>
+
+       * gold.cc (queue_middle_tasks): Fix formatting.
+       * object.cc (Relobj::is_section_name_included): Likewise.
+
+2009-12-23  Ian Lance Taylor  <iant@google.com>
+
+       * i386.cc (Target_i386::do_calls_non_split): Recognize
+       -fsplit-stack prologue for a function with a static chain.
+       * x86_64.cc (Target_x86_64::do_calls_non_split): Recognize
+       -fsplit-stack prologue when using %r11.
+
+2009-12-21  Sriraman Tallam  <tmsriram@google.com>
+
+       * options.cc (General_options::parse_version): Make -v continue and do
+       the link like GNU ld does.
+
+2009-12-17  Rafael Avila de Espindola  <espindola@google.com>
+
+       * Makefile.am (CCFILES): Add timer.cc.
+       (HFILES): Add timer.h.
+       * configure.ac: Check for sysconf and times.
+       * main.cc: include timer.h.
+       (main): Use Timer instead of get_run_time.
+       * timer.cc: New.
+       * timer.h: New.
+       * workqueue.cc: include timer.h.
+       (Workqueue::find_and_run_task):
+       Report user, sys and wall time.
+       * Makefile.in: Regenerate.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2009-12-16  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj::scan_sections_for_stubs): Exclude ICF-eliminated
+       sections.
+       * object.cc (Sized_relobj::do_finalize_local_symbols): Handle
+       relaxed input sections.
+       * output.cc (Output_section::find_relaxed_input_section): Change
+       return type to Output_relaxed_input_section pointer.  Adjust code
+       for new type of relaxed_input_section_map_.
+       * output.h (Output_section::find_relaxed_input_section): Change
+       return type to Output_relaxed_input_section pointer.
+       (Output_section::Output_relaxed_input_section_by_input_section_map):
+       New type.
+       (Output_section::relaxed_input_section_map_): Change type to
+       Output_section::Output_relaxed_input_section_by_input_section_map.
+       * symtab.cc (Symbol_table::compute_final_value): Handle relaxed
+       input section.
+
+2009-12-15  Ian Lance Taylor  <iant@google.com>
+
+       * layout.cc (Layout::create_shstrtab): Only write out after input
+       sections if we are compressing debug sections.
+
+2009-12-15  Ian Lance Taylor  <iant@google.com>
+
+       * archive.cc (Archive::add_symbols): Only look up a symbol without
+       a version if there is, in fact, a version.
+
+2009-12-14  Ian Lance Taylor  <iant@google.com>
+
+       Revert -Wshadow changes, all changes from:
+       2009-12-11  Doug Kwan  <dougkwan@google.com>
+       2009-12-11  Nick Clifton  <nickc@redhat.com>
+       * configure.ac: Remove -Wshadow when setting WARN_CXXFLAGS.
+
+2009-12-11  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::do_finalize_sections): Fix build breakage
+       due to -Wshadow.
+       * attributes.cc (Object_attribute::size): Ditto.
+       (Attributes_section_data::size): Ditto.
+       (Attributes_section_data::Attributes_section_data): Ditto.
+       (Output_attributes_section_data::do_write): Ditto.
+       * attributes.h (Object_attribute::set_type): Ditto.
+       * testsuite/tls_test_main.cc (safe_lock, safe_unlock): Ditto.
+
+2009-12-11  Nick Clifton  <nickc@redhat.com>
+
+       * archive.cc: Fix shadowed variable warnings.
+       * arm.cc: Likewise.
+       * compressed_output.cc: Likewise.
+       * compressed_output.h: Likewise.
+       * configure: Likewise.
+       * dwarf_reader.cc: Likewise.
+       * dynobj.cc: Likewise.
+       * dynobj.h: Likewise.
+       * ehframe.cc: Likewise.
+       * ehframe.h: Likewise.
+       * errors.cc: Likewise.
+       * expression.cc: Likewise.
+       * fileread.cc: Likewise.
+       * fileread.h: Likewise.
+       * freebsd.h: Likewise.
+       * i386.cc: Likewise.
+       * icf.cc: Likewise.
+       * incremental.h: Likewise.
+       * layout.cc: Likewise.
+       * layout.h: Likewise.
+       * mapfile.cc: Likewise.
+       * merge.cc: Likewise.
+       * merge.h: Likewise.
+       * object.cc: Likewise.
+       * object.h: Likewise.
+       * options.h: Likewise.
+       * output.cc: Likewise.
+       * output.h: Likewise.
+       * parameters.cc: Likewise.
+       * plugin.cc: Likewise.
+       * powerpc.cc: Likewise.
+       * reduced_debug_output.cc: Likewise.
+       * reduced_debug_output.h: Likewise.
+       * reloc.cc: Likewise.
+       * reloc.h: Likewise.
+       * resolve.cc: Likewise.
+       * script-sections.cc: Likewise.
+       * script.cc: Likewise.
+       * script.h: Likewise.
+       * sparc.cc: Likewise.
+       * symtab.cc: Likewise.
+       * symtab.h: Likewise.
+       * target-select.cc: Likewise.
+       * target-select.h: Likewise.
+       * token.h: Likewise.
+       * workqueue.cc: Likewise.
+       * workqueue.h: Likewise.
+       * x86_64.cc: Likewise.
+
+2009-12-10  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (attributes.h): New include.
+       (Arm_relobj::Arm_relobj): Initialize attributes_section_data_.
+       (Arm_relobj::~Arm_relobj): Delete object pointed by
+       attributes_section_data_.
+       (Arm_relobj::attributes_section_data): New method definition.
+       (Arm_relobj::attributes_section_data_): New data member declaration.
+       (Arm_dynobj::Arm_dynobj): Initialize attributes_section_data_.
+       (Arm_dynobj::~Arm_dynobj): Delete object pointed by
+       attributes_section_data_.
+       (Arm_dynobj::attributes_section_data): New method definition.
+       (Arm_dynobj::attributes_section_data_): New data member declaration.
+       (Target_arm::Target_arm): Initialize attributes_section_data_.  Change
+       initialization value of may_use_blx_ to false.
+       (Target_arm::using_thumb2, Target_arm::using_thumb_only,
+       Target_arm::may_use_arm_nop, Target_arm::may_use_thumb2_nop): Use
+       object attributes to compute results instead of hard-coding.
+       (Target_arm::do_attribute_arg_type, Target_arm::do_attributes_order,
+       Target_arm::get_secondary_compatible_arch,
+       Target_arm::set_secondary_compatible_arch
+       Target_arm::tag_cpu_arch_combine, Target_arm::aeabi_enum_name,
+       Target_arm::tag_cpu_name_value, Target_arm::merge_object_attributes):
+       New method declarations.
+       (Target_arm::get_aeabi_object_attribute): New method definition.
+       (Target_arm::attributes_section_data_): New data member declaration.
+       (read_arm_attributes_section): New template definition.
+       (Arm_relobj::do_read_symbols): Read attributes section if it exists.
+       (Arm_dynobj::do_read_symbols): Ditto.
+       (Target_arm::do_finalize_sections): Merge attributes sections from
+       input.  Check for BLX use after attributes section merging.
+       Fix __exidx_start and __exidx_end visibility.  Create an
+       .ARM.attributes section if necessary.
+       (Target_arm::get_secondary_compatible_arch,
+       Target_arm::set_secondary_compatible_arch,
+       Target_arm::tag_cpu_arch_combine, Target_arm::aeabi_enum_name,
+       Target_arm::tag_cpu_name_value, Target_arm::merge_object_attributes,
+       Target_arm::do_attribute_arg_type, Target_arm::do_attributes_order): 
+       New method definitions.
+
+2009-12-09  Ian Lance Taylor  <iant@google.com>
+
+       * plugin.cc (Plugin::load): Don't cast from void* to a function
+       pointer.
+
+2009-12-09  Ian Lance Taylor  <iant@google.com>
+
+       * dynobj.cc (Sized_dynobj::do_read_symbols): Clear version
+       information fields.
+
+2009-12-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/Makefile.am (two_file_shared_1_pic_2_test_DEPENDENCIES):
+       Replace two_file_shared_1.so with two_file_shared_2.so.
+       * testsuite/Makefile.in: Regenerated.
+
+2009-12-08  Doug Kwan  <dougkwan@google.com>
+
+       * Makefile.am (CCFILES): Add attributes.cc and int_encoding.cc.
+       (HFILES): Add attributes.h and int_encoding.h.
+       * Makefile.in: Regenerate.
+       * dwarf_reader.cc (read_unsigned_LEB_128, read_signed_LEB_128): Move
+       function definitions to int_encoding.cc
+       * dwarf_reader.h (read_unsigned_LEB_128, read_signed_LEB_128): Move
+       prototypes to int_encoding.h
+       * reduced_debug_output.cc (int_encoding.h): New include.
+       (write_unsigned_LEB_128, get_length_as_unsigned_LEB_128): Move
+       function definitions to int_encoding.cc
+       (insert_into_vector, read_from_pointer): Move template definitions to
+       int_encoding.h
+       * attributes.cc: New file.
+       * attributes.h: New file.
+       * int_encoding.cc: New file.
+       * int_encoding.h: New file.
+
+2009-12-07  Rafael Avila de Espindola  <espindola@google.com>
+
+       PR gold/11055
+       * incremental-dump.cc (dump_incremental_inputs): New.
+       (main): Use dump_incremental_inputs.
+
+2009-12-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gold/10893
+       * i386.cc (Target_i386::Scan::globa): Use is_func instead of
+       checking elfcpp::STT_FUNC.
+       (Target_i386::Relocate::relocate): Likewise.
+       * x86_64.cc (Target_x86_64::Scan::global): Likewise.
+
+       * symtab.cc (Symbol_table::sized_write_symbol): Turn IFUNC
+       symbols from shared libraries into normal FUNC symbols.
+
+       * symtab.h (Symbol): Add is_func and use it.
+
+2009-12-05  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::arm_info): Initialize new fields
+       attributes_section and attributes_vendor.
+       * i386.cc (Target_i386::i386_info): Same.
+       * object.cc (Sized_relobj::do_layout): Skip attribute section.
+       * gold/powerpc.cc (Target_powerpc::powerpc_info): Initialize new
+       fields attributes_section and attributes_vendor.
+       * sparc.cc (Target_sparc::sparc_info): Same.
+       * target.h (Target::attributes_section, Target::attributes_vendor,
+       Target::is_attributes_section, Target::attribute_arg_type,
+       Target::attributes_order): New method definitions.
+       (Target::Target_info::attributes_section,
+       Target::Target_info::attributes_vendor): New fields.
+       (Target::do_attribute_arg_type, Target::do_attributes_order): New
+       virtual method definitions.
+       * x86_64.cc (Target_x86_64::x86_64_info): Initialize new fields
+       attributes_section and attributes_vendor.
+       * testsuite/testfile.cc (Target_test::test_target_info): Same.
+
+2009-12-05  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc: Update comments about interworking and stub generation.
+       (Target_arm::Relocate::reloc_is_non_pic): Update list of relocations
+       considered as non-PIC.
+       (Arm_relocate_functions::base_abs): Fix formatting.
+       (Arm_relocate_functions::got_prel): Fix comment.  Change interface
+       of function to use GOT entry address instead of offset.
+       (Target_arm::Scan::global): Issue an error if a symbol would need a
+       PLT does not get one because it is untyped.  Remove code to create
+       dynamic symbols for relative branches.
+       (Target_arm::Relocate::relocate: Use 0 instead of false since function
+       takes unsigned integer instead of boolean.
+
+2009-12-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/Makefile.am (constructor_test_LDADD): New. Empty.
+       (two_file_test_LDADD): Likewise.
+       (common_test_1_LDADD): Likewise.
+       (exception_test_LDADD) Likewise.
+       (weak_test_LDADD): Likewise.
+       (many_sections_test_LDADD): Likewise.
+       (initpri1_LDADD): Likewise.
+       (script_test_1_LDADD): Likewise.
+       (script_test_2_LDADD): Likewise.
+       (justsyms_LDADD): Likewise.
+       (binary_test_LDADD): Likewise.
+       (large_LDADD): Likewise.
+       * testsuite/Makefile.in: Regenerated.
+
 2009-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
        * resolve.cc (symbol_to_bits): Treat STB_GNU_UNIQUE as STB_GLOBAL.
        (Symbol_table::override_with_special): Likewise.
        (Symbol_table::add_from_object): Likewise.
        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>
+2009-11-08  Ian Lance Taylor  <iant@google.com>
 
        PR 10925
        * reloc.cc: Instantiate
This page took 0.029239 seconds and 4 git commands to generate.