Update support for .note.gnu.property sections.
[deliverable/binutils-gdb.git] / gold / ChangeLog
index ae1230f49ecdc472758135ac7e6ad5bcc8d1f76c..f4c6f0aaf30834c154504e0087352ef20cf9a9b8 100644 (file)
+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.
+       (AM_CFLAGS, AM_CXXFLAGS): Add $(THREADFLAGS).
        (THREADSLIB): Remove; change all references to THREADLIBS.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
This page took 0.024942 seconds and 4 git commands to generate.