Delay evaluation of alignment expressions in output sections
[deliverable/binutils-gdb.git] / gold / ChangeLog
index c1776b50e80397a8039d678aac6336fb851527ec..a5f4a85a76ed1ad8d27427d9ca96930c18888d0c 100644 (file)
@@ -1,3 +1,390 @@
+2018-07-10  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
+
+       * object.cc (Sized_relobj_file::map_to_kept_section): Initialize
+       kept_file.
+
+2018-08-07  Cary Coutant  <ccoutant@gmail.com>
+
+       PR ld/23486
+       * x86_64.cc (Target_x86_64::Target_x86_64): Initialize
+       object_isa_1_used_.
+       (Target_x86_64::object_isa_1_used_): New data member.
+       (Target_x86_64::record_gnu_property): Save ISA_1_USED bits for object.
+       (Target_x86_64::merge_gnu_properties): Merge ISA_1_USED bits.
+
+2018-08-06  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/23455
+       * options.h (General_options): Add --warn-drop-version option.
+       * symtab.cc (Symbol_table::set_dynsym_indexes): Check it.
+
+2018-08-06  Cary Coutant  <ccoutant@gmail.com>
+
+       * target.h (Sized_target::record_gnu_property): Change first two
+       parameters to unsigned int.
+       * x86_64.cc (Target_x86_64::record_gnu_property): Likewise.
+
+2018-07-30  Nick Clifton  <nickc@redhat.com>
+
+       * layout.cc (section_name_mapping): Add an entry for
+       .gnu.build.attributes.
+
+2018-07-18  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+
+2018-07-14  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/23397
+       * object.cc (Sized_relobj_file::do_layout): Mark section as deferred.
+       * testsuite/Makefile.am (plugin_test_1): Add --emit-relocs option to
+       existing test case.
+       * testsuite/Makefile.in: Regenerate.
+
+2018-07-14  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/23409
+       * symtab.cc (Symbol_table::define_special_symbol): Add check for
+       version name on existing symbol.
+       * testsuite/Makefile.am (ver_test_pr23409): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/ver_test_pr23409.sh: New test script.
+       * testsuite/ver_test_pr23409_1.script: New version script.
+       * testsuite/ver_test_pr23409_2.script: New version script.
+
+2018-07-11  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
+
+       * main.cc (main): Print m.arena as long long.
+
+2018-07-09  Cary Coutant  <ccoutant@gmail.com>
+
+       * incremental.cc (Sized_incremental_binary::setup_readers): Use
+       emplace_back for C++ 11 or later.
+
+2018-07-06  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc: Include attributes.h.
+       (Powerpc_relobj::attributes_section_data_): New variable, with
+       accessor and associated constructor and destructor support.
+       (Powerpc_dynobj::attributes_section_data_): Likewise.
+       (Powerpc_relobj::do_read_symbols): Stash SHT_GNU_ATTRIBUTES section
+       contents in attributes_section_data_.
+       (Powerpc_dynobj::do_read_symbols): Likewise.
+       (Target_powerpc): Add attributes_section_data_, last_fp_, last_ld_,
+       last_vec_, and last_struct_ vars.
+       (Target_powerpc::merge_object_attributes): New function.
+       (Target_powerpc::do_finalize_sections): Iterate over input objects
+       merging attributes.  Create output attributes section.
+
+2018-06-26  Nick Clifton  <nickc@redhat.com>
+
+       * po/uk.po: Updated Ukranian translation.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+       * po/gold.pot: Regenerate.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+       2.31 branch created.
+
+2018-06-23  Cary Coutant  <ccoutant@gmail.com>
+
+       * version.cc (version_string): Bump to 1.16.
+       * NEWS: Add new features in 1.16.
+
+2018-06-23  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/22914
+       * x86_64.cc (Target_x86_64::record_gnu_property): Initialize val.
+
+2018-06-23  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/22915
+       * x86_64.cc (Output_data_plt_x86_64_ibt): New class.
+       (Target_x86_64::do_make_data_plt): (All instantiations) Check for
+       IBT feature bit and create IBT PLTs.
+
+2018-06-22  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/22914
+       * layout.cc (read_sized_value): Fix spelling of section name.
+       (Layout::layout_gnu_property): Call Sized_target::record_gnu_property
+       for target-specific properties;
+       don't store them with target-independent properties yet.
+       (Layout::merge_gnu_properties): New method.
+       (Layout::add_gnu_property): New method.
+       (Layout::create_gnu_properties_note): Call target to finalize
+       target-specific properties. Fix spelling of output section name.
+       * layout.h (Layout::merge_gnu_properties): New method.
+       (Layout::add_gnu_property): New method.
+       * object.cc (Sized_relobj_file::do_layout): Call
+       Layout::merge_gnu_properties.
+       * target.h (Target::merge_gnu_property): Remove.
+       (Target::finalize_gnu_properties): New method.
+       (Target::do_merge_gnu_property): Move to Sized_target and rename.
+       (Target::do_finalize_gnu_properties): New virtual method.
+       (Sized_target::record_gnu_property): Moved and renamed from
+       Target::do_merge_gnu_property.
+       (Sized_target::merge_gnu_properties): New virtual method.
+       * x86_64.cc (Target_x86_64::isa_1_used_, isa_1_needed_)
+       (feature_1_, object_feature_1_, seen_first_object_): New data members.
+       (Target_x86_64::do_merge_gnu_property): Rename to ...
+       (Target_x86_64::record_gnu_property): ... this.  Save target-specific
+       properties in Target class object.
+       (Target_x86_64::merge_gnu_properties): New method.
+       (add_property): New static inline function.
+       (Target_x86_64::do_finalize_gnu_properties): New method.
+       * testsuite/Makefile.am (gnu_property_test): Remove C source file;
+       link directly without compiler driver.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/gnu_property_a.S: Add _start.
+
+2018-06-22  Cary Coutant  <ccoutant@gmail.com>
+
+       * incremental.cc (Sized_incremental_binary::setup_readers): Use
+       emplace_back for GCC 5 and later.
+       * incremental.h (Incremental_binary::Input_reader): Provide copy
+       constructor.
+       (Sized_incremental_binary::Sized_input_reader): Likewise.
+
+2018-06-22  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/22914
+       * layout.cc (Layout::Layout): Initialize gnu_properties_.
+       (read_sized_value, write_sized_value): New functions.
+       (Layout::layout_gnu_property): New method.
+       (Layout::create_notes): Call create_gnu_properties_note.
+       (Layout::create_gnu_properties_note): New method.
+       * layout.h (Layout::layout_gnu_property): New method.
+       (Layout::create_gnu_properties_note): New method.
+       (Layout::Gnu_property, Layout::Gnu_properties): New types.
+       (Layout::gnu_properties_): New data member.
+       * object.cc (Sized_relobj_file::layout_gnu_property_section): New
+       method.
+       (Sized_relobj_file::do_layout): Handle .note.gnu.property sections.
+       * object.h (Sized_relobj_file::layout_gnu_property_section): New
+       method.
+       * target.h (Target::merge_gnu_property): New method.
+       (Target::do_merge_gnu_property): New virtual method.
+       * x86_64.cc (Target_x86_64::do_merge_gnu_property): New method.
+       * testsuite/Makefile.am (gnu_property_test): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/gnu_property_a.S: New source file.
+       * testsuite/gnu_property_b.S: New source file.
+       * testsuite/gnu_property_c.S: New source file.
+       * testsuite/gnu_property_main.c: New source file.
+       * testsuite/gnu_property_test.sh: New test script.
+
+2018-06-21  Cary Coutant  <ccoutant@gmail.com>
+
+       * resolve.cc (Symbol_table::resolve): Rename tobinding to
+       orig_tobinding.  Call set_is_needed() for objects that resolve
+       non-weak references.
+       (Symbol_table::should_override): Allow a dynamic definition to
+       override an earlier one in a not-needed library.
+       * symtab.cc (Symbol_table::set_dynsym_indexes): Remove separate
+       processing for as-needed symbols.  Add warning when discarding
+       version informatin.
+       * testsuite/Makefile.am (weak_as_needed): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/weak_as_needed.sh: New test script.
+       * testsuite/weak_as_needed_a.c: New source file.
+       * testsuite/weak_as_needed_b.c: New source file.
+       * testsuite/weak_as_needed_b.script: New version script.
+       * testsuite/weak_as_needed_c.c: New source file.
+       * testsuite/weak_as_needed_c.script: New version script.
+
+2018-06-20  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/23268
+       * dynobj.cc (Versions::Versions): Change init for needs_base_version_.
+       (Versions::record_version): Add verdefs for both shared objects and
+       executables.
+       (Versions::add_def): Likewise for base version.
+       (Versions::add_need): Don't add base version for executables.
+       (Versions::version_index): Look up version for both shared objects and
+       executables.
+       * testsuite/Makefile.am (ver_test_14): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/ver_test_14.script: New version script.
+       * testsuite/ver_test_14.sh: New test script.
+
+2018-06-19  Joshua Watt  <jpewhacker@gmail.com>
+           Cary Coutant  <ccoutant@gmail.com>
+
+       * configure.ac: Replace manual thread configuration with AX_PTHREAD.
+       Add --enable-threads=auto.
+       * Makefile.am (THREADFLAGS, THREADLIBS): New defines.
+       (AM_CFLAGS, AM_CXXFLAGS): Add $(THREADFLAGS).
+       (THREADSLIB): Remove; change all references to THREADLIBS.
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * testsuite/Makefile.am (THREADSLIB): Replace with...
+       (THREADFLAGS, THREADLIBS): ... these.
+       (LDADD): Remove; add as individual defines for...
+       (object_unittest, binary_unittest, leb128_unittest)
+       (overflow_unittest): ... these tests.
+       (tls_test, tls_pic_test, tls_pie_test, tls_pie_pic_test)
+       (tls_shared_test, tls_shared_ie_test, tls_shared_gd_to_ie_test)
+       (tls_shared_gnu2_gd_to_ie_test, tls_shared_gnu2_test_LDFLAGS)
+       (tls_shared_nonpic_test_LDFLAGS): Add $(THREADFLAGS) and ($THREADLIBS).
+       * testsuite/Makefile.in: Regenerate.
+
+2018-06-19  Cary Coutant  <ccoutant@gmail.com>
+
+       * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr.
+       * testsuite/Makefile.in: Regenerate.
+
+2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * configure.ac: Remove AC_PREREQ, add missing quoting and usage
+       of AC_LANG_SOURCE.
+       * Makefile.in: Re-generate.
+       * aclocal.m4: Re-generate.
+       * configure: Re-generate.
+       * testsuite/Makefile.in: Re-generate.
+
+2018-05-10  Stephen Crane  <sjc@immunant.com>
+
+       * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of
+       .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation.
+
+2018-04-24  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/20642
+       PR gold/22820
+       * gc.h (gc_process_relocs): Flag STT_SECTION symbols in symvec.
+       * icf.cc (get_section_contents): For merge sections, ignore the
+       addend for relocations against non-section symbols.
+
+2018-04-24  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/16504
+       * dynobj.cc (Versions::symbol_section_contents): Don't set
+       VERSYM_HIDDEN flag for undefined symbols.
+       * symtab.cc (Symbol_table::add_from_object): Don't override default
+       version definition with a different default version.
+       * symtab.h (Symbol::from_dyn): New method.
+       * testsuite/plugin_test.c (struct sym_info): Add ver field.
+       (claim_file_hook): Pass symbol version to plugin API.
+       (parse_readelf_line): Parse symbol version.
+       * testsuite/Makefile.am (ver_test_pr16504): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/ver_test_pr16504.sh: New test script.
+       * testsuite/ver_test_pr16504_a.c: New source file.
+       * testsuite/ver_test_pr16504_a.script: New version script.
+       * testsuite/ver_test_pr16504_b.c: New source file.
+       * testsuite/ver_test_pr16504_b.script: New version script.
+
+2018-04-19  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/23046
+       * gc.h (gc_process_relocs): Pass target to
+       scan.local_reloc_may_be_function_pointer.
+
+2018-04-18  Nick Clifton  <nickc@redhat.com>
+
+       * po/es.po: Updated Spanish translation.
+
+2018-04-14  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/23046
+       * gc.h (gc_process_relocs): Pass target to
+       scan.global_reloc_may_be_function_pointer.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+       * configure: Regenerate.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call):
+       Handle inline plt sequence relocs.
+       (Stub_table::Plt_stub_key::Plt_stub_key): Likewise.
+       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise.
+       (Target_powerpc::Relocate::relocate): Likewise.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::lplt_): New variable.
+       (Target_powerpc::lplt_section): Associated accessor.
+       (Target_powerpc::plt_off): Handle local non-ifunc symbols.
+       (Target_powerpc::make_lplt_section): New function.
+       (Target_powerpc::make_local_plt_entry): New function.
+       (Powerpc_relobj::do_relocate_sections): Write out lplt.
+       (Output_data_plt_powerpc::first_plt_entry_offset): Zero for lplt.
+       (Output_data_plt_powerpc::add_local_entry): New function.
+       (Output_data_plt_powerpc::do_write): Ignore lplt.
+       (Target_powerpc::make_iplt_section): Make lplt first.
+       (Target_powerpc::make_brlt_section): Make .branch_lt relro.
+       (Target_powerpc::Scan::local): Handle PLT16 relocs.
+
+2018-04-09  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::plt_off): New functions.
+       (is_plt16_reloc): New function.
+       (Stub_table::plt_off): Use Target_powerpc::plt_off.
+       (Stub_table::plt_call_size): Use plt_off.
+       (Stub_table::do_write): Likewise.
+       (Target_powerpc::Scan::get_reference_flags): Return RELATIVE_REF
+       for PLT16 relocations.
+       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Return true
+       for PLT16 relocations.
+       (Target_powerpc::Scan::global): Make a PLT entry for PLT16 relocations.
+       (Target_powerpc::Relocate::relocate): Support PLT16 relocations.
+       (Powerpc_scan_relocatable_reloc::global_strategy): Return RELOC_SPECIAL
+       for ppc32 plt16 relocs.
+
+2018-04-06  Cary Coutant  <ccoutant@gmail.com>
+
+       * object.cc (Sized_relobj_file::include_section_group): Store
+       reference to Kept_section info for discarded comdat sections
+       regardless of size.  Move size checking to map_to_kept_section.
+       (Sized_relobj_file::include_linkonce_section): Likewise.
+       (Sized_relobj_file::map_to_kept_section): Add section name parameter.
+       Insert size checking logic from above functions.
+       (Sized_relobj_file::find_kept_section_object): New method.
+       (Sized_relobj_file::get_symbol_name): New method.
+       * object.h (Sized_relobj_file::map_to_kept_section): Add section_name
+       parameter.  Adjust all callers.
+       (Sized_relobj_file::find_kept_section_object): New method.
+       (Sized_relobj_file::get_symbol_name): New method.
+       (Sized_relobj_file::Kept_comdat_section): Replace object and shndx
+       fields with sh_size, kept_section, symndx, and is_comdat fields.
+       (Sized_relobj_file::set_kept_comdat_section): Replace kept_object
+       and kept_shndx parameters with is_comdat, symndx, sh_size, and
+       kept_section.
+       (Sized_relobj_file::get_kept_comdat_section): Likewise.
+       * target-reloc.h (enum Comdat_behavior): Change CB_WARNING to CB_ERROR.
+       Adjust all references.
+       (issue_undefined_symbol_error): New function template.
+       (relocate_section): Pass section name to map_to_kept_section.
+       Move discarded section code to new function above.
+       * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Move
+       declaration for gsym out one level.  Call issue_discarded_error.
+       * arm.cc (Target_arm::scan_reloc_section_for_stubs): Likewise.
+       * powerpc.cc (Relocate_comdat_behavior): Change CB_WARNING to CB_ERROR.
+
+2018-04-05  Cary Coutant  <ccoutant@gmail.com>
+
+       * target-reloc.h (relocate_section): Add local symbol index or global
+       symbol name to warning about relocation that refers to discarded
+       section.
+
+2018-04-05  James Cowgill  <james.cowgill@mips.com>
+
+       Revert previous patch and apply revised patch.
+
+       PR gold/22770
+       * mips.cc (Mips_got_info::record_got_page_entry): Don't insert
+       Got_page_entry for object's GOT.
+       (Mips_got_info::add_got_page_entries): Add all pages from from's GOT.
+       Rename to add_got_page_count.
+       (Got_page_entry): Remove num_pages.
+
 2018-04-05  James Cowgill  <james.cowgill@mips.com>
 
        PR gold/22770
This page took 0.028019 seconds and 4 git commands to generate.