+2010-12-15 Ian Lance Taylor <iant@google.com>
+
+ PR gold/12324
+ * x86_64.cc (Target_x86_64::Scan::check_non_pic): Give an error
+ for R_X86_64_32 and R_X86_64_PC32.
+ * testsuite/Makefile.am (ver_matching_def.so): Depend on and use
+ ver_matching_def_pic.o.
+ (ver_matching_def_pic.o): New target.
+
+2010-12-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * fileread.cc (file_counts_lock, file_counts_initialize_lock)
+ (total_mapped_bytes, current_mapped_bytes, maximum_mapped_bytes):
+ Move definition before File_read::View member definitions.
+ (File_read::View::~View): Initialize and hold lock before
+ updating current_mapped_bytes.
+
+2010-12-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * dwarf_reader.cc: Remove outdated comment.
+ * gold-threads.cc: Fix typo in error message.
+ * archive.cc: Fix typos in comments.
+ * archive.h: Likewise.
+ * arm-reloc-property.cc: Likewise.
+ * arm-reloc-property.h: Likewise.
+ * arm-reloc.def: Likewise.
+ * arm.cc: Likewise.
+ * attributes.h: Likewise.
+ * cref.cc: Likewise.
+ * ehframe.cc: Likewise.
+ * fileread.h: Likewise.
+ * gold.h: Likewise.
+ * i386.cc: Likewise.
+ * icf.cc: Likewise.
+ * incremental.h: Likewise.
+ * int_encoding.cc: Likewise.
+ * layout.h: Likewise.
+ * main.cc: Likewise.
+ * merge.h: Likewise.
+ * object.cc: Likewise.
+ * object.h: Likewise.
+ * options.cc: Likewise.
+ * readsyms.cc: Likewise.
+ * reduced_debug_output.cc: Likewise.
+ * reloc.cc: Likewise.
+ * script-sections.cc: Likewise.
+ * sparc.cc: Likewise.
+ * symtab.h: Likewise.
+ * target-reloc.h: Likewise.
+ * target.cc: Likewise.
+ * target.h: Likewise.
+ * timer.cc: Likewise.
+ * timer.h: Likewise.
+ * x86_64.cc: Likewise.
+
+2010-12-09 Cary Coutant <ccoutant@google.com>
+
+ * layout.cc (Layout::layout_gnu_stack): Add warnings for executable
+ stack.
+ * layout.h (Layout::layout_gnu_stack): Add pointer to Object
+ parameter; change all callers.
+ * object.cc (Sized_relobj::do_layout): Adjust call to layout_gnu_stack.
+ * options.h (warn_execstack): New option.
+
+2010-12-07 Doug Kwan <dougkwan@google.com>
+
+ * arm.cc (Target_arm::Scan::get_reference_flags): Treat R_ARM_PREL31
+ like function call relocations.
+
+2010-12-07 Ian Lance Taylor <iant@google.com>
+
+ * archive.cc (Archive::get_elf_object_for_member): Permit
+ punconfigured to be NULL.
+ (Archive::read_symbols): Pass NULL to get_elf_object_for_member.
+ (Archive::include_member): Pass NULL to get_elf_object_for_member
+ if we searched for the archive and this is the first included
+ object.
+
+2010-12-01 Ian Lance Taylor <iant@google.com>
+
+ * dwarf_reader.h (class Sized_dwarf_line_info): Add
+ track_relocs_type_ field.
+ * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
+ Set track_relocs_type_.
+ (Sized_dwarf_line_info::process_one_opcode): Ignore the section
+ contents when using RELA relocs.
+ (Sized_dwarf_line_info::read_relocs): Add the reloc addend to
+ reloc_map_.
+ * reloc.cc (Track_relocs::next_addend): New function.
+ * reloc.h (class Track_relocs): Declare next_addend.
+
+2010-12-01 Ian Lance Taylor <iant@google.com>
+
+ * testsuite/icf_virtual_function_folding_test.cc (class Bar): Add
+ virtual destructor.
+
+2010-12-01 Ian Lance Taylor <iant@google.com>
+
+ * README: Update compilers known to work and fail.
+
+2010-11-23 Matthias Klose <doko@ubuntu.com>
+
+ * configure.in: For --enable-gold, handle value `default' instead of
+ `both*'. Always install ld as ld.bfd, install as ld if gold is
+ not the default.
+ * configure: Regenerate.
+
+2010-11-18 Doug Kwan <dougkwan@google.com>
+
+ * expression.cc (BINARY_EXPRESSION): Initialize left_alignment
+ and right_alignment to be zero. Store result alignment only if it is
+ greater than existing alignment.
+
+2010-11-16 Cary Coutant <ccoutant@google.com>
+
+ PR gold/12220
+ * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
+ Check for ".zdebug_line".
+
+2010-11-16 Doug Kwan <dougkwan@google.com>
+ Cary Coutant <ccoutant@google.com>
+
+ * output.h (Output_segment::set_section_addresses): Pass increase_relro
+ by reference; adjust all callers.
+ * output.cc (Output_segment::set_section_addresses): Adjust references
+ to increase_relro. Add padding to *increase_relro when ORDER_RELRO_LAST
+ list is empty.
+ (Output_segment::set_offset): Assert if PT_GNU_RELRO segment does not
+ end at page boundary.
+
+2010-11-16 Cary Coutant <ccoutant@google.com>
+
+ PR gold/12220
+ * layout.cc (Layout::choose_output_section): Transform names of
+ compressed sections even when using a script with a SECTIONS clause.
+ (Layout::output_section_name): Remove code to transform
+ compressed debug section names.
+ * output.cc (Output_section::add_input_section): Use uncompressed
+ section size when tracking input sections.
+
+2010-11-11 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * symtab.h (Symbol::NON_PIC_REF): Remove.
+ (Symbol::RELATIVE_REF, Symbol::TLS_REF): New Reference_flags.
+ (Symbol::FUNCTION_CALL): Renumber. Reword comment.
+ (Symbol::needs_dynamic_reloc): Don't check NON_PIC_REF.
+ (Symbol::use_plt_offset): Take a flags argument and pass it
+ directly to needs_dynamic_reloc. Restrict check for undefined
+ weak symbols to function calls.
+ * arm.cc (Target_arm::Scan::get_reference_flags): New function.
+ (Target_arm::Scan::global): Use it.
+ (Target_arm::Scan::scan_reloc_for_stub): Likewise.
+ (Target_arm::Relocate::relocate): Likewise.
+ (Target_arm::Relocate::should_apply_static_reloc): Replace flags
+ parameter with an r_type parameter. Use get_reference_flags
+ to get the flags.
+ (Target_arm::Relocate::relocate): Update accordingly.
+ * i386.cc (Target_i386::Scan::get_reference_flags): New function.
+ (Target_i386::Scan::reloc_needs_plt_for_ifunc): Use it.
+ (Target_i386::Scan::global): Likewise.
+ (Target_i386::Relocate::relocate): Likewise.
+ (Target_i386::Relocate::should_apply_static_reloc): Replace flags
+ parameter with an r_type parameter. Use get_reference_flags
+ to get the flags.
+ (Target_i386::Relocate::relocate): Update accordingly.
+ * powerpc.cc (Target_powerpc::Scan::get_reference_flags): New function.
+ (Target_powerpc::Scan::global): Use it.
+ (Target_powerpc::Scan::scan_reloc_for_stub): Likewise.
+ (Target_powerpc::Relocate::relocate): Likewise.
+ * sparc.cc (Target_sparc::Scan::get_reference_flags): New function.
+ (Target_sparc::Scan::global): Use it.
+ (Target_sparc::Scan::scan_reloc_for_stub): Likewise.
+ (Target_sparc::Relocate::relocate): Likewise.
+ * x86_64.cc (Target_x86_64::Scan::get_reference_flags): New function.
+ (Target_x86_64::Scan::reloc_needs_plt_for_ifunc): Use it.
+ (Target_x86_64::Scan::global): Likewise.
+ (Target_x86_64::Relocate::relocate): Likewise.
+
+2010-11-08 Doug Kwan <dougkwan@google.com>
+ Cary Coutant <ccoutant@google.com>
+
+ * arm.cc (Arm_exidx_merge_section::build_contents): New method.
+ (Arm_exidx_merge_section::section_contents_): New data member.
+ (Arm_input_section::Arm_input_section): Initialize original_contents_.
+ (Arm_input_section::~Arm_input_section): De-allocate memory.
+ (Arm_input_section::original_contents_): New data member.
+ (Arm_exidx_fixup::process_exidx_section): Pass EXIDX section contents
+ in parameters instead of calling Object::section_contents without
+ locking.
+ (Arm_output_section::group_section): New parameter TASK. Pass it
+ to callees that need locking objects.
+ (Arm_output_section::fix_exidx_coverage): New parameter TASK. Use it
+ to lock EXIDX input sections. Fix a formatting issue. Call
+ Arm_exidx_merged_section::build_contents to create merged section
+ contents.
+ (Arm_output_section::create_stub_group): New parameter TASK. Use it
+ to lock object of stub table owner.
+ (Arm_exidx_input_section::Arm_exidx_input_section): Add new parameter
+ TEXT_SIZE to initialize data member TEXT_SIZE_.
+ (Arm_exidx_input_section::addralign): Fix typo in comment.
+ (Arm_exidx_input_section::text_size): New method.
+ (Target_arm::do_relax): New parameter TASK. Pass it to callees
+ that require locking objects. Lock objects before scanning for stubs
+ and updating local symbols.
+ (Arm_input_section<big_endian>::init): Copy contents of original
+ input section.
+ (Arm_input_section<big_endian>::do_write): Use saved contents of
+ original input section instead of calling Object::section_contents
+ without locking.
+ (Arm_exidx_cantunwind::do_fixed_endian_write): Find out text section
+ size without calling Object::section_size().
+ (Arm_exidx_merged_section::Arm_exidx_merged_section): Add sanity check
+ for size. Allocate a buffer for merged EXIDX entries.
+ (Arm_exidx_merged_section::build_contents): New method.
+ (Arm_exidx_merged_section::do_write): Move merge section contents
+ building code to Arm_exidx_merged_section::build_contetns. Write
+ out contetns in buffer instead of building it on the fly.
+ (Arm_relobj::make_exidx_input_section): Also pass text section size
+ to Arm_exidx_input_section constructor.
+ (Arm_relobj::do_read_symbols): Fix memory leak. Fix a formatting issue.
+ (Arm_dynobj::do_read_symbols): Fix memory leak.
+ * layout.cc (Layout::finalize): Pass TASK to Target::relax().
+ * target.h: (class Task): Add forward declaration.
+ (Target::relax): Add new parameter TASK and pass it to
+ Target::do_relax().
+ (Target::do_relax):: New parameter TASK. Fix a formatting issue.
+
+2010-11-05 Cary Coutant <ccoutant@google.com>
+
+ PR gold/10708
+ * copy-relocs.cc (Copy_relocs::emit_copy_reloc): Hold a lock on the
+ object when reading from the file.
+ * gold.cc (queue_middle_tasks): Hold a lock on the object when doing
+ second layout pass.
+ * icf.cc (preprocess_for_unique_sections): Hold a lock on the object
+ when reading section contents.
+ (get_section_contents): Likewise.
+ (icf::find_identical_sections): Likewise.
+ * mapfile.cc (Mapfile::print_discarded_sections): Hold a lock on the
+ object when reading from the file.
+ * plugin.cc (Plugin_manager::layout_deferred_objects): Hold a lock on
+ the object when doing deferred section layout.
+
+2010-11-03 Nick Clifton <nickc@redhat.com>
+
+ PR gold/12001
+ * script.h (class Symbol_assignment: name): New member. Returns
+ the name of the symbol.
+ * scrfipt.cc (Script_options::is_pending_assignment): New member.
+ Returns true if the given symbol name is on the list of
+ assignments wating to be processed.
+ * archive.cc (should_incldue_member): If the symbol is undefined,
+ check to see if it is on the list of symbols pending assignment.
+
+2010-11-03 Ryan Mansfield <rmansfield@qnx.com>
+
+ * script-sections.cc (Script_sections::find_memory_region): Check
+ for a NULL output section pointer.
+
+2010-10-29 Doug Kwan <dougkwan@google.com>
+
+ * arm.cc (Arm_outout_section::fix_exidx_coverage): Adjust call to
+ Output_section::add_relaxed_input_section.
+ * output.cc (Output_section::add_relaxed_input_section): Add new
+ arguments LAYOUT and NAME. Set section order index.
+ (Output_section::convert_input_sections_in_list_to_relaxed_sections):
+ Copy section order index.
+ * output.h (Output_section::add_relaxed_input_section): Add new
+ arguments LAYOUT and NAME.
+
+2010-10-29 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+ * testsuite/Makefile.am: Move gcctestdir/ld rule to
+ NATIVE_OR_CROSS_LINKER.
+ * testsuite/Makefile.in: Regenerate.
+
+2010-10-20 Doug Kwan <dougkwan@google.com>
+
+ * arm.cc (Arm_relobj::do_read_symbols): Warn about ARM EXIDX sections
+ without SHF_LINK_ORDER flags.
+ * layout.cc (Layout::choose_output_section): Do not filter
+ SHF_LINK_ORDER flag in a relocatable link.
+
+2010-10-17 Cary Coutant <ccoutant@google.com>
+
+ * output.h (Output_segment::set_section_addresses): Change function
+ signature. Update all callers.
+ * output.cc (Output_segment::is_first_section_relro): Ignore TLS
+ sections.
+ (Output_segment::set_section_addresses): Align after last TLS
+ section. Add padding before last relro section instead of after.
+
+2010-10-17 Doug Kwan <dougkwan@google.com>
+
+ * gold/arm.cc (Target_arm::got_section): Use correct order and set
+ GOT output section to be writable.
+
+2010-10-14 Cary Coutant <ccoutant@google.com>
+
+ * debug.h (DEBUG_INCREMENTAL): New flag.
+ (debug_string_to_enum): Add DEBUG_INCREMENTAL).
+ * gold.cc (queue_initial_tasks): Check parameters for incremental link
+ mode.
+ * incremental.cc (report_command_line): Ignore all forms of
+ --incremental.
+ * layout.cc (Layout::Layout): Check parameters for incremental link
+ mode.
+ * options.cc (General_options::parse_incremental): New function.
+ (General_options::parse_no_incremental): New function.
+ (General_options::parse_incremental_full): New function.
+ (General_options::parse_incremental_update): New function.
+ (General_options::incremental_mode_): New data member.
+ (General_options::finalize): Check incremental_mode_.
+ * options.h (General_options): Update help text for --incremental.
+ Add --no-incremental, --incremental-full, --incremental-update.
+ (General_options::Incremental_mode): New enum type.
+ (General_options::incremental_mode): New function.
+ (General_options::incremental_mode_): New data member.
+ * parameters.cc (Parameters::incremental_mode_): New data member.
+ (Parameters::set_options): Set incremental_mode_.
+ (Parameters::set_incremental_full): New function.
+ (Parameters::incremental): New function.
+ (Parameters::incremental_update): New function.
+ (set_parameters_incremental_full): New function.
+ * parameters.h (Parameters::set_incremental_full): New function.
+ (Parameters::incremental): New function.
+ (Parameters::incremental_update): New function.
+ (Parameters::incremental_mode_): New data member.
+ (set_parameters_incremental_full): New function.
+ * plugin.cc (Plugin_manager::add_input_file): Check parameters for
+ incremental link mode.
+ * reloc.cc (Sized_relobj::do_read_relocs): Likewise.
+ (Sized_relobj::do_relocate_sections): Likewise.
+ * testsuite/Makefile.am (incremental_test): Use --incremental-full
+ option.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/incremental_test.sh: Filter all forms of --incremental.
+
+2010-10-12 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+ * script-sections.h (class Script_sections): Make
+ Sections_elements typedef public.
+ * script-sections.cc (class Sort_output_sections): Add elements_
+ field. Add constructor which sets it; change all callers.
+ (Sort_output_sections::is_before): New function.
+ (Sort_output_sections::operator()): Call is_before.
+ * configure.ac (NATIVE_OR_CROSS_LINKER): New automake
+ conditional.
+ * testsuite/script_test_10.sh: New test. Test script section
+ order.
+ * testsuite/script_test_10.t: Likewise.
+ * testsuite/script_test_10.s: Likewise.
+ * testsuite/Makefile.am: Wrap the cross linker tests and the
+ common tests into NATIVE_OR_CROSS_LINKER.
+ (check_SCRIPTS): Add script_test_10.sh.
+ (check_DATA): Add script_test_10.stdout.
+ (script_test_10.o, script_test_10): New targets.
+ (script_test_10.stdout): New target.
+ * configure, testsuite/Makefile.in: Regenerate.
+
+2010-10-12 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+ * arm.cc (Target_arm::Scan::local): Report the unsupported reloc
+ error for the deprecated relocations.
+ (Target_arm::Scan::global): Likewise.
+ (Target_arm::Relocate::relocate): Likewise.
+
+2010-10-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * fileread.cc (Input_file::find_file): Initialize *found_name
+ and *namep when using the fallback search for case 4.
+
+2010-10-11 Cary Coutant <ccoutant@google.com>
+
+ * options.h (class General_options): Redefine -z lazy as an alias for
+ the negation of -z now.
+
2010-10-11 Ian Lance Taylor <iant@google.com>
* resolve.cc (symbol_to_bits): Report the value of the unsupported