Allow both signed and unsigned fields in PowerPC cmpli insn
[platform/upstream/binutils.git] / gold / ChangeLog
index a44313b..385fef1 100644 (file)
@@ -1,5 +1,634 @@
+2014-06-07  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (relocate): Treat field of cmpli insn as a bitfield.
+
+2014-06-06  Cary Coutant  <ccoutant@google.com>
+
+       * dwarf_reader.h (Dwarf_pubnames_table): Remove output_section_offset_.
+       * dwarf_reader.cc (Dwarf_pubnames_table::read_section): Likewise.
+       (Dwarf_pubnames_table::read_header): Likewise.
+       * layout.cc (gdb_fast_lookup_sections): Add .debug_gnu_pubnames and
+       .debug_gnu_pubtypes.
+
+2014-06-05  Joel Brobecker  <brobecker@adacore.com>
+
+       * Makefile.am (CONFIG_STATUS_DEPENDENCIES): New.
+       * Makefile.in, configure: Regenerate.
+
+2014-06-03  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (addis_12_2): Define.
+       (Stub_table::do_write): Support fusion on ELFv2 stubs.
+
+2014-06-03  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/plugin_test.c (parse_readelf_line): Skip non-visibility
+       st_other output.
+
+2014-06-02  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::local_reloc_may_be_function_pointer):
+       Only ignore relocs on ELFv1.
+       (Target_powerpc::global_reloc_may_be_function_pointer): Likewise.
+
+2014-05-30  Cary Coutant  <ccoutant@google.com>
+
+       * testsuite/Makefile.am (ehdr_start_test_4): Fix typo in -B option.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/ehdr_start_test_4.sh: Look for "U" instead of "w".
+
+2014-05-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gold/16945
+       * x86_64.cc (Target_x86_64::Relocate::relocate): Use signed int
+       for got_offset.  Properly get GOT address for R_X86_64_PLTOFF64.
+
+2014-05-15  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (do_plt_fde_location): Handle zero length .glink.
+       Compare FDE contents with DW_CFA_nop rather than 0.
+
+2014-05-13  Sriraman Tallam  <tmsriram@google.com>
+
+       * symtab.h (may_need_copy_reloc): Remove check for position independent
+       code.
+       * x86_64.cc (Target_x86_64<size>::Scan::global): Add check for no
+       position independence before pc absolute may_need_copy_reloc call.
+       Add check for executable output befor pc relative may_need_copy_reloc
+       call.
+       * i386.cc: Ditto.
+       * arm.cc: Ditto.
+       * sparc.cc: Ditto.
+       * tilegx.cc: Ditto.
+       * powerpc.cc: Add check for no position independence before
+       may_need_copy_reloc calls.
+       * testsuite/pie_copyrelocs_test.cc: New file.
+       * testsuite/pie_copyrelocs_shared_test.cc: New file.
+       * Makefile.am (pie_copyrelocs_test): New test.
+       * Makefile.in: Regenerate.
+
+2014-05-08  Martin Liška  <mliska@suse.cz>
+
+       * output.cc (Sized_relobj_file::do_layout): Fix typo in info message.
+
+2014-05-06  Cary Coutant  <ccoutant@google.com>
+
+       PR gold/16900
+       * i386.cc (Output_data_got_plt_i386): New class.
+       (Output_data_plt_i386::Output_data_plt_i386): Change type of got_plt
+       parameter. Change all callers.
+       (Output_data_plt_i386::layout_): Remove.
+       (Output_data_plt_i386::got_plt_): Change type.
+       (Target_i386::got_plt_): Change type. Change all references.
+       (Target_i386::got_section): Create instance of new class.
+       (Output_data_got_plt_i386::do_write): New function.
+       * x86_64.cc (Output_data_got_plt_x86_64): New class.
+       (Output_data_plt_x86_64::Output_data_plt_x86_64): Change type of got_plt
+       parameter. Change all callers.
+       (Output_data_plt_x86_64::layout_): Remove.
+       (Output_data_plt_x86_64::got_plt_): Change type.
+       (Target_x86_64::got_plt_): Change type. Change all references.
+       (Target_x86_64::got_section): Create instance of new class.
+       (Output_data_got_plt_x86_64::do_write): New function.
+       (Output_data_plt_x86_64::do_write): Don't write reserved words in GOT.
+       (Target_x86_64<size>::init_got_plt_for_update): Create instance of new
+       class.
+
+2014-05-05  Cary Coutant  <ccoutant@google.com>
+
+       * gdb-index.cc (Gdb_index_info_reader): Don't complain about language
+       if we have pubnames/pubtypes.
+
+2014-05-02  Cary Coutant  <ccoutant@google.com>
+
+       * defstd.cc (in_segment): Define __ehdr_start here...
+       * layout.cc (Layout::finalize): ...Instead of here.  Set the
+       output segment when known.
+       * resolve.cc (Symbol::override_base_with_special): Remember
+       the original binding.
+       * symtab.cc (Symbol::set_output_segment): New function.
+       (Symbol::set_undefined): New function.
+       * symtab.h (Symbol::is_weak_undefined): Check original undef
+       binding.
+       (Symbol::is_strong_undefined): New function.
+       (Symbol::set_output_segment): New function.
+       (Symbol::set_undefined): New function.
+       * target-reloc.h (is_strong_undefined): Remove.
+       (issue_undefined_symbol_error): Call Symbol::is_weak_undefined.
+       Check for hidden undefs.
+       (relocate_section): Call Symbol::is_strong_undefined.
+
+       * testsuite/Makefile.am (ehdr_start_test_1)
+       (ehdr_start_test_2, ehdr_start_test_3)
+       (ehdr_start_test_4, ehdr_start_test_5): New test cases.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/ehdr_start_def.cc: New source file.
+       * testsuite/ehdr_start_test.cc: New source file.
+       * testsuite/ehdr_start_test.t: New linker script.
+       * testsuite/ehdr_start_test_4.sh: New shell script.
+
+2014-04-23  Cary Coutant  <ccoutant@google.com>
+
+       PR gold/16870
+       * x86_64.cc (Target_x86_64::Relocate::relocate): Add missing break.
+
+2014-04-15  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * layout.cc (Layout::include_section): Allow a target to decide
+       whether to include a section.
+       * target.h (Target::should_include_section): New function.
+       (Target::do_should_include_section): New function.
+
+2014-04-15  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * copy-relocs.cc (Copy_relocs::Copy_reloc_entry::emit): Remove and
+       inline into ...
+       (Copy_relocs::emit): ... here.
+       * copy-relocs.h (Copy_reloc_entry): Change from class to struct.
+       (Copy_reloc_entry::make_copy_reloc): Change from private to protected.
+       (Copy_reloc_entry::entries_): Change from private to protected.
+
+2014-04-02  Sriraman Tallam  <tmsriram@google.com>
+
+       * icf.cc (get_section_contents): Replace copies of reloc
+       vectors with const references.
+
+2014-04-02  Cary Coutant  <ccoutant@google.com>
+
+       * configure.ac (HAVE_PUBNAMES): Use C instead of C++.
+       (HAVE_NO_USE_LINKER_PLUGIN): Check for -fno-use-linker-plugin.
+       * configure: Regenerate.
+       * testsuite/Makefile.am (OPT_NO_PLUGINS): New macro for
+       -fno-use-linker-plugin.
+       (LINK1, CXXLINK1): Add it to the link command.
+       * testsuite/Makefile.in: Regenerate.
+
+2014-03-12  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.in: Regenerate.
+
+2014-03-10  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * symtab.h (Symbol::set_nonvis): New function.
+
+2014-03-10  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * symtab.cc (Sized_symbol<32>::init_output_data):
+       Instantiate the template.
+       (Sized_symbol<64>::init_output_data): Likewise.
+
+2014-03-10  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * symtab.cc (Symbol_table::sized_write_globals): Allow a target to
+       adjust dynamic symbol value.
+       * target.h (Target::adjust_dyn_symbol): New function.
+       (Target::do_adjust_dyn_symbol): New function.
+
+2014-03-10  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * output.cc (Output_data_dynamic::Dynamic_entry::write):
+       Get the value of DYNAMIC_CUSTOM dynamic entry.
+       * output.h (Output_data_dynamic::add_custom): New function.
+       (Dynamic_entry::Dynamic_entry): New constructor for DYNAMIC_CUSTOM
+       dynamic entry.
+       (enum Dynamic_entry::Classification): Add DYNAMIC_CUSTOM.
+       * target.h (Target::dynamic_tag_custom_value): New function.
+       (Target::do_dynamic_tag_custom_value): New function.
+
+2014-03-10  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>
+
+       * symtab.cc (Symbol_table::set_dynsym_indexes): Allow a target to set
+       dynsym indexes.
+       * target.h (Target::has_custom_set_dynsym_indexes): New function.
+       (Target::do_has_custom_set_dynsym_indexes): New function.
+       (Target::set_dynsym_indexes): New function.
+       (Target::do_set_dynsym_indexes): New function.
+
+2014-03-07  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relocate_functions::Overflow_check): Add
+       CHECK_UNSIGNED, CHECK_LOW_INSN, CHECK_HIGH_INSN.
+       (Powerpc_relocate_functions::has_overflow_unsigned): New function.
+       (Powerpc_relocate_functions::has_overflow_bitfield,
+       overflowed): Use the above.
+       (Target_powerpc::Relocate::relocate): Correct overflow checking
+       for a number of relocations.  Modify overflow test for 16-bit
+       fields in instructions to signed/unsigned according to whether
+       the field takes a signed or unsigned value.
+
+2014-03-05  Alan Modra  <amodra@gmail.com>
+
+       Update copyright years.
+
+2014-03-05  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::Scan::local, global): Support
+       R_PPC64_ADDR64_LOCAL.
+       (Target_powerpc::Relocate::relocate): Likewise.
+
+2014-03-03  Alan Modra  <amodra@gmail.com>
+
+       * dwp.cc (print_version): Update copyright year to current.
+
+2014-02-10  Alan Modra  <amodra@gmail.com>
+
+       * po/gold.pot: Regenerate.
+
+2014-02-06  Cary Coutant  <ccoutant@google.com>
+
+       Fix problem where -u is ignored when a weak undef is seen.
+
+       * archive.cc (Library_base::should_include_member): Reorder
+       code to check for -u option if a weak undef has already been seen.
+       * testsuite/Makefile.am (weak_undef_test_2): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/weak_undef_file3.cc: New file.
+       * testsuite/weak_undef_file4.cc: New file.
+       * testsuite/weak_undef_test_2.cc: New file.
+
+2014-02-05  Cary Coutant  <ccoutant@google.com>
+
+       Fix issues with gold undefined symbol diagnostics.
+
+       PR binutils/15435
+       * errors.cc (Errors::undefined_symbol): Move undef vtable symbol
+       check to here.
+       * target-reloc.h (is_strong_undefined): New function.
+       (relocate_section): Move undef vtable symbol check from here.
+       Check for is_strong_undefined.
+
+2014-02-05  Cary Coutant  <ccoutant@google.com>
+
+       Fix problems with the --dynamic-list option.
+
+       PR gold/13577
+       * options.cc (General_options::parse_dynamic_list):
+       Set have_dynamic_list_.
+       (General_options::General_options): Initialize have_dynamic_list_.
+       (General_options::finalize): Turn off -Bsymbolic and
+       -Bsymbolic-functions if --dynamic-list provided.
+       * options.h (General_options::have_dynamic_list): New function.
+       (General_options::have_dynamic_list_): New data member.
+       * symtab.h (Symbol::is_preemptible): Handle --dynamic-list
+       correctly.
+
+       PR gold/16530
+       * symtab.cc (Symbol_table::add_from_relobj): If symbol is named
+       in --dynamic-list, mark it.
+
+       * testsuite/Makefile.am (gc_dynamic_list_test.sh): New test case.
+       (dynamic_list_2): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/dynamic_list_2.cc: New file.
+       * testsuite/dynamic_list_2.t: New file.
+       * testsuite/dynamic_list_lib1.cc: New file.
+       * testsuite/dynamic_list_lib2.cc: New file.
+       * testsuite/gc_dynamic_list_test.c: New file.
+       * testsuite/gc_dynamic_list_test.sh: New file.
+       * testsuite/gc_dynamic_list_test.t: New file.
+
+2014-01-28  Cary Coutant  <ccoutant@google.com>
+
+       Add .gdb_index version 7 support.
+
+       * gold/dwarf_reader.cc: include <utility> (for make_pair).
+       (Dwarf_abbrev_table::do_read_abbrevs): Check for compressed
+       debug sections.
+       (Dwarf_ranges_table::read_ranges_table): Likewise.
+       (Dwarf_pubnames_table::read_section): Check for GNU-style
+       sections, and for compressed debug sections.
+       (Dwarf_pubnames_table::read_header): Compute end address of table.
+       (Dwarf_pubnames_table::next_name): Return flag_byte.  Check
+       for end of list by offset, not by offset == 0.
+       (Dwarf_info_reader::do_read_string_table): Check for compressed
+       debug sections.
+       * gold/dwarf_reader.h (Dwarf_pubnames_table::Dwarf_pubnames_table):
+       Initialize new data members.
+       (Dwarf_pubnames_table::next_name): return flag_byte.
+       (Dwarf_pubnames_table::end_of_table_): New data member.
+       (Dwarf_pubnames_table::is_gnu_style_): New data member.
+       * gold/gdb-index.cc (gdb_index_version): Update to version 7.
+       (Gdb_index_info_reader::read_pubtable): Read flag_byte.
+       (Gdb_index_info_reader::read_pubnames_and_pubtypes): Don't
+       read skeleton type unit DIEs.
+       (Gdb_index::add_symbol): Add flag_byte; adjust all callers.
+       (Gdb_index::do_write): Write flag_byte.
+       * gold/gdb-index.h (Gdb_index::add_symbol): Add flags parameter.
+       (Gdb_index::Cu_vector): Store flags along with cu indexes.
+       * gold/testsuite/gdb_index_test_3.sh: Allow versions 4-7.
+       * gold/testsuite/gdb_index_test_comm.sh: Likewise.
+
+2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * version.cc (print_version): Update copyright year to 2014.
+
+2013-12-19  Dimitry Andric  <dimitry@andric.com>
+
+       * stringpool.cc (Stringpool_template::reserve): Add
+       HAVE_UNORDERED_MAP case.
+       * stringpool.cc (Stringpool_template::print_stats): Likewise.
+
+2013-12-18  Cary Coutant  <ccoutant@google.com>
+
+       * configure.ac: Check for <unordered_set> and <unordered_map>.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * system.h: Use <unordered_set> and <unordered_map> if available.
+
+2013-12-10  Roland McGrath  <mcgrathr@google.com>
+
+       * Makefile.am (install-exec-local): Prefix $(INSTALL_PROGRAM) uses
+       with $(INSTALL_PROGRAM_ENV).
+       * Makefile.in: Regenerate.
+
+2013-11-22  Cary Coutant  <ccoutant@google.com>
+
+       * configure.ac: Add check for which library is needed for
+       dlopen.
+       * configure: Regenerate.
+
+2013-11-22  Cary Coutant  <ccoutant@google.com>
+
+       * testsuite/Makefile.am (exception_x86_64_bnd_test): Use in-tree
+       assembler.
+       * testsuite/Makefile.in: Regenerate.
+
+2013-11-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * x86_64.cc (Target_x86_64<size>::Scan::get_reference_flags):
+       Handle R_X86_64_PC32_BND and R_X86_64_PLT32_BND just like
+       R_X86_64_PC32 and R_X86_64_PLT32, respectively.
+       (Target_x86_64<size>::Scan::local): Likewise.
+       (Target_x86_64<size>::Scan::global): Likewise.
+       (Target_x86_64<size>::Relocate::relocate): Likewise.
+       (Target_x86_64<size>::Relocatable_size_for_reloc::get_size_for_reloc):
+       Likewise.
+       (Target_x86_64<size>::Scan::check_non_pic(): Handle
+       R_X86_64_PC32_BND.
+
+       * testsuite/Makefile.am (check_PROGRAMS): Add
+       exception_x86_64_bnd_test.
+       (exception_x86_64_bnd_test_SOURCES): New macro.
+       (exception_x86_64_bnd_test_DEPENDENCIES): Likewise.
+       (exception_x86_64_bnd_test_LDFLAGS): Likewise.
+       (exception_x86_64_bnd_test_LDADD): Likewise.
+       (exception_x86_64_bnd_1.o): New rule.
+       (exception_x86_64_bnd_2.o): Likewise.
+       * testsuite/Makefile.in: Regenerated.
+
+2013-11-15  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::glink_section): Provide non-const
+       accessor.
+       (Target_powerpc::Branch_info::make_stub): Make global entry stubs.
+       Only call ppc64_local_entry_offset for 64-bit.  Restrict
+       symval_for_branch lookup to ELFv1.
+       (Stub_table::add_plt_call_entry): Use unsigned int off.
+       (Output_data_glink::Address, invalid_address): New.
+       (Output_data_glink::add_eh_frame): Move out of line.  Add
+       support for ELFv2.
+       (Output_data_glink::add_global_entry, find_global_entry,
+       global_entry_address): New functions.
+       (Output_data_glink::global_entry_stubs_, end_branch_table_,
+       ge_size): New variables.
+       (Output_data_glink::set_final_data_size): Add global entry
+       stub sizing.
+       (Output_data_glink::do_write): Write global entry stubs.
+       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Add target
+       parameter.  Return true for ELFv2.  Adjust callers.
+       (Target_powerpc::Scan::local, global): Restrict opd lookup to
+       ELFv1.  Similarly for ifunc and dynamic relocation processing
+       specific to ELFv1.  Recognize that symbols are defined on
+       their plt entries for ELFv2.
+       (Target_powerpc::symval_for_branch): Assert if called for
+       ELFv2 or ppc32.
+       (Target_powerpc::Relocate::relocate): Use global entry plt
+       stub for symbol value if such exists on ELFv2.
+       (Target_powerpc::Relocate::relocate): Don't call
+       symval_for_branch when ELFv2.  Do adjust for local entry
+       offset when ELFv2.
+       (Target_powerpc::do_dynsym_value): Set symbols to global entry
+       plt stub for ELFv2.
+       (Target_powerpc::do_plt_address_for_global): Similarly.
+
+2013-11-14  Cary Coutant  <ccoutant@google.com>
+
+       Revert patch -- this did not fix the problem, and there is
+       no race there.
+
+       2013-11-14  Cary Coutant  <ccoutant@google.com>
+
+           PR gold/14860
+           * ehframe.cc (Eh_frame_hdr::Eh_frame_hdr): Initialize lock_.
+           (Ehframe_hdr::set_final_data_size): Allocate a Lock.
+           * ehframe.h (Eh_frame_hdr::record_fde): Hold the lock while
+           updating fde_offsets_.
+           (Eh_frame_hdr::lock_): New data member.
+
+2013-11-14  Cary Coutant  <ccoutant@google.com>
+
+       * dwp.cc (Dwo_file_entry): New type.
+       (File_list): Use Dwo_file_entry.
+       (Dwo_file::verify): New function.
+       (Dwo_file::verify_dwo_list): New function.
+       (Dwo_file::sized_verify_dwo_list): New function.
+       (Dwo_name_info_reader::visit_compilation_unit): Add dwo_id to file
+       list.
+       (Dwp_options): New enum type.
+       (dwp_options): Add --verify-only.
+       (usage): Likewise.
+       (main): Likewise.
+       * dwp.h (gold_info): Add declaration.
+
+2013-11-14  Cary Coutant  <ccoutant@google.com>
+
+       PR gold/14860
+       * ehframe.cc (Eh_frame_hdr::Eh_frame_hdr): Initialize lock_.
+       (Ehframe_hdr::set_final_data_size): Allocate a Lock.
+       * ehframe.h (Eh_frame_hdr::record_fde): Hold the lock while
+       updating fde_offsets_.
+       (Eh_frame_hdr::lock_): New data member.
+
+2013-11-06  Cary Coutant  <ccoutant@google.com>
+
+       PR gold/15758
+       * object.cc (Sized_relobj_file::do_layout): Handle .eh_frame sections
+       before reloc sections.
+
+2013-11-04  Alan Modra  <amodra@gmail.com>
+
+       * symtab.h (Symbol::Reference_flags): Add FUNC_DESC_ABI.
+       (Symbol::needs_dynamic_reloc): Test new flag.
+       * powerpc.cc (needs_dynamic_reloc, use_plt_offset): Delete.
+       (Target_powerpc::Scan::get_reference_flags): Add target param.
+       Return FUNC_DESC_ABI for 64-bit ELFv1.
+       (Target_powerpc::Branch_info::make_stub): Adjust get_reference_flags
+       call.
+       (Target_powerpc::Scan::global): Use Symbol::needs_dynamic_reloc.
+       (Target_powerpc::Relocate::relocate): Use Symbol::use_plt_offset.
+
+2013-10-31  Cary Coutant  <ccoutant@google.com>
+
+       Restore support for dwp v2 DWARF package file format.
+
+       * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add
+       tu_length parameter.  Adjust all callers.
+       * dwarf_reader.h (Dwarf_info_reader::visit_type_unit): Likewise.
+       * dwp.cc: Include dwarf.h.
+       (Section_bounds): New struct type.
+       (Unit_set): New struct type.
+       (Dwo_file::Dwo_file): Initialize new data member.
+       (Dwo_file::read_compunit_index, Dwo_file::read_typeunit_index):
+       Combine and rename to...
+       (Dwo_file::read_unit_index): ...this.
+       (Dwo_file::sized_read_compunit_index)
+       (Dwo_file::sized_read_typeunit_index): Combine and rename to...
+       (Dwo_file::sized_read_unit_index): ...this.
+       (Dwo_file::copy_section): Remove section_name, is_str_offsets
+       parameters; add section_id parameter.
+       (Dwo_file::add_cu_set, Dwo_file::add_tu_set): Combine and rename to...
+       (Dwo_file::add_unit_set): ...this.
+       (Dwo_file::shndx_map_): Remove.
+       (Dwo_file::sect_offsets_): New data member.
+       (Dwp_output_file::Dwp_output_file): Initialize new data members.
+       (Dwp_output_file::add_section): Rename to...
+       (Dwp_output_file::add_contribution): ...this.
+       (Dwp_output_file::add_cu_set): Combine parameters into a struct.
+       (Dwp_output_file::add_tu_set): Likewise.
+       (Dwp_output_file::Contribution): New type.
+       (Dwp_output_file::Section::contributions): New data member.
+       (Dwp_output_file::Cu_or_tu_set): Remove.
+       (Dwp_output_file::Section::Section): New ctor.
+       (Dwp_output_file::Dwp_index::Shndx_pool): Remove.
+       (Dwp_output_file::Dwp_index::Section_table): New type.
+       (Dwp_output_file::Dwp_index::Dwp_index): Initialize new data members.
+       (Dwp_output_file::Dwp_index::enter_set): Change type of "set"
+       parameter.
+       (Dwp_output_file::Dwp_index::shndx_pool): Remove.
+       (Dwp_output_file::Dwp_index::shndx_pool_end): Remove.
+       (Dwp_output_file::Dwp_index::section_table): New member function.
+       (Dwp_output_file::Dwp_index::section_table_end): New member function.
+       (Dwp_output_file::Dwp_index::shndx_pool_size): Remove.
+       (Dwp_output_file::Dwp_index::section_table_rows): New member function.
+       (Dwp_output_file::Dwp_index::section_table_cols): New member function.
+       (Dwp_output_file::Dwp_index::shndx_pool_): Remove.
+       (Dwp_output_file::Dwp_index::section_table_): New data member.
+       (Dwp_output_file::Dwp_index::section_mask_): New data member.
+       (Dwp_output_file::add_output_section): New member function.
+       (Dwp_output_file::write_new_section): New member function.
+       (Dwp_output_file::write_contributions): New member function.
+       (Dwp_output_file::section_id_map_): New data member.
+       (class Dwo_id_info_reader): Remove.
+       (class Unit_reader): New class.
+       (get_dwarf_section_name): New function.
+       (Dwo_file::read_executable): Adjust initializations of class data.
+       (Dwo_file::read): Add support for v2 package file format.
+       (Dwo_file::read_unit_index): Likewise.
+       (Dwo_file::sized_read_unit_index): Likewise.
+       (Dwo_file::copy_section): Likewise.
+       (Dwo_file::add_unit_set): Likewise.
+       (Dwp_output_file::add_output_section): Likewise.
+       (Dwp_output_file::add_contribution): Likewise.
+       (Dwp_output_file::Dwp_index::find_or_add): Use row index to check
+       for empty slot.
+       (Dwp_output_file::Dwp_index::enter_set): Add support for v2 package
+       file format.
+       (Dwp_output_file::Dwp_index::grow): Use row index to check for empty
+       slot.
+       (Dwp_output_file::initialize): Remove unused function.
+       (Dwp_output_file::finalize): Add support for v2 package file format.
+       (Dwp_output_file::write_index): Likewise.
+       * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust
+       function prototype.
+
+2013-10-31  Cary Coutant  <ccoutant@google.com>
+
+       * configure.ac: Fix check for -fmerge-constants.
+       * configure.ac: Regenerate.
+
+2013-10-30  Roland McGrath  <mcgrathr@google.com>
+
+       * x86_64.cc (Output_data_plt_x86_64_nacl::first_plt_entry):
+       Correct 9-byte nop sequence to match what the assembler generates.
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relobj::abiversion, set_abiversion,
+       ppc64_local_entry_offset, ppc64_local_entry_offset,
+       do_read_symbols): New functions.
+       (Powerpc_relobj::e_flags_, st_other_): New vars.
+       (Powerpc_relobj::Powerpc_relobj): Call set_abiversion.
+       (Powerpc_dynobj::abiversion, set_abiversion): New functions.
+       (Powerpc_relobj::e_flags_): New var.
+       (Target_powerpc::first_plt_entry_offset, plt_entry_size): Inline
+       and adjust for ELFv2.
+       (Target_powerpc::abiversion, set_abiversion, stk_toc): New functions.
+       (Powerpc_relobj::do_find_special_sections): Check no .opd in ELFv2.
+       (Powerpc_dynobj::do_find_special_sections): Likewise.
+       (Target_powerpc::do_define_standard_symbols): Define ".TOC.".
+       (Target_powerpc::Branch_info::make_stub): Adjust stub destination
+       to ELFv2 local entry.
+       (Target_powerpc::do_relax): No thread safe barriers needed for
+       ELFv2.
+       (Output_data_plt_powerpc::initial_plt_entry_size_,
+       plt_entry_size): Delete.  Replace all uses with
+       first_plt_entry_offset() and plt_entry_size().
+       (Output_data_plt_powerpc::Output_data_plt_powerpc): Remove
+       reserved_size parm.  Update callers.
+       (Output_data_plt_powerpc::entry_count): Update.
+       (Output_data_plt_powerpc::first_plt_entry_offset): Make private
+       and use Target_powerpc::first_plt_entry_offset().
+       (Output_data_plt_powerpc::get_plt_entry_size): Similarly and
+       rename to plt_entry_size.
+       (Output_data_plt_powerpc::add_ifunc_entry,
+       add_local_ifunc_entry): Adjust reloc for ELFv2.
+       (glink_eh_frame_fde_64): Rename to glink_eh_frame_fde_64v1.
+       (glink_eh_frame_fde_64v2): New.
+       (Stub_table::plt_call_size): Support ELFv2 sizing.
+       (Output_data_glink::add_eh_frame): Use the new FDE.
+       (Output_data_glink::set_final_data_size): Adjust for ELFv2 glink.
+       (Stub_table::do_write): Write ELFv2 stubs and glink.
+       (Target_powerpc::Relocate::relocate): Replaces nop after call
+       with ld 2,24(1) and adjust local offset destination for ELFv2.
+
+2013-10-30  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::Scan::check_non_pic): Handle new relocs.
+       (Target_powerpc::Scan::global, local): Likewise.
+       (Target_powerpc::Relocate::relocate): Likewise.  Check for overflow
+       on all ppc64 @h and @ha relocs.
+
+2013-10-14  Alan Modra  <amodra@gmail.com>
+
+       * output.h (Output_data_got::add_constant): Tidy.
+       (Output_data_got::add_constant_pair): New function.
+       * powerpc.cc (Output_data_got_powerpc): Override all Output_data_got
+       methods used so as to first call reserve_ent().
+
 2013-10-11  Roland McGrath  <mcgrathr@google.com>
 
+       * powerpc.cc (Output_data_got_powerpc): Remove unused methods
+       add_got_entry and add_got_entry_pair.
+
+       * configure.ac (TLS_GNU2_DIALECT): Use -Werror in test.
+       (HAVE_PUBNAMES): Likewise.
+       * configure: Regenerate.
+
+       * testsuite/Makefile.am: Replace '-T foo' with '-Wl,-T,foo' throughout.
+       * testsuite/Makefile.in: Regenerate.
+
+       * target.h (Target::adjust_elf_header, Target::do_adjust_elf_header):
+       Remove const from declaration.
+       * target.cc (Sized_target::do_adjust_elf_header): Update definition.
+       * sparc.cc (Target_sparc::do_adjust_elf_header): Likewise.
+       * output.h (Output_file_header): Remove const from member target_
+       and corresponding constructor argument.
+       * output.cc (Output_file_header::Output_file_header): Update prototype.
+       (Output_file_header::do_sized_write): Use this->target_ in place
+       of parameters()->target().
+
+       * testsuite/undef_symbol.cc (Foo::get_a): New method.
+
        * configure.ac (MERGE_CONSTANTS_FLAG): New check.
        * configure: Regenerate.
        * Makefile.in: Regenerate.
 
        * Added source code to GNU binutils.
 \f
-Copyright (C) 2008-2013 Free Software Foundation, Inc.
+Copyright (C) 2008-2014 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright