Allow both signed and unsigned fields in PowerPC cmpli insn
[platform/upstream/binutils.git] / gold / ChangeLog
index 14e2824..385fef1 100644 (file)
@@ -1,3 +1,381 @@
+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
        * 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.
 
        * 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