mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
786 lines
30 KiB
Plaintext
786 lines
30 KiB
Plaintext
|
2018-12-18 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* testsuite/Makefile.am (keep_text_section_prefix_nm.stdout):
|
|||
|
Pass --synthetic to nm.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
|
|||
|
2018-12-08 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
PR 21128
|
|||
|
* testsuite/icf_safe_so_test.sh (check_fold): Rewrite to check
|
|||
|
multiple symbols at once.
|
|||
|
(arch_specific_safe_fold): Likewise, and call with the four foo*
|
|||
|
symbols expected to fold.
|
|||
|
|
|||
|
2018-12-06 H.J. Lu <hongjiu.lu@intel.com>
|
|||
|
|
|||
|
* archive.cc (Archive::get_elf_object_for_member): Also print
|
|||
|
archive member and non-ELF/non-IR info on error.
|
|||
|
|
|||
|
2018-12-05 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* symtab.h (Symbol::Symbol): Avoid -Wclass-memaccess warning.
|
|||
|
|
|||
|
2018-12-03 Alexey Neyman <stilor@att.net>
|
|||
|
|
|||
|
PR gold/23594
|
|||
|
* configure.ac: Add checks for link, mkdtemp.
|
|||
|
* configure: Regenerate.
|
|||
|
* config.in: Regenerate.
|
|||
|
* plugin.cc (Plugin_recorder::init): Fall back to mktemp
|
|||
|
if mkdtemp is not available.
|
|||
|
(link_or_copy_file): Fall back to copy if link() is not available.
|
|||
|
|
|||
|
2018-12-02 H.J. Lu <hongjiu.lu@intel.com>
|
|||
|
|
|||
|
PR binutils/23919
|
|||
|
* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
|
|||
|
Get addralign from decompressed_section_contents.
|
|||
|
* object.cc (build_compressed_section_map): Set info.addralign.
|
|||
|
(Object::decompressed_section_contents): Add a palign
|
|||
|
argument and store p->second.addralign in *palign if it isn't
|
|||
|
NULL.
|
|||
|
* object.h (Compressed_section_info): Add addralign.
|
|||
|
(section_is_compressed): Add a palign argument, default it
|
|||
|
to NULL, store p->second.addralign in *palign if it isn't NULL.
|
|||
|
(Object::decompressed_section_contents): Likewise.
|
|||
|
* output.cc (Output_section::add_input_section): Get addralign
|
|||
|
from section_is_compressed.
|
|||
|
|
|||
|
2018-11-26 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* testsuite/Makefile.am (justsyms_lib): Link with -z norelro.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
* testsuite/justsyms_exec.c (main): Do check exported_func
|
|||
|
on PowerPC64 ELFv2.
|
|||
|
|
|||
|
2018-11-26 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* testsuite/ver_test_14.sh: Accept objdump -T display of st_other
|
|||
|
bits on powerpc64le.
|
|||
|
|
|||
|
2018-11-08 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* Makefile.am (gcctestdir1/ld): Use $@ and absolute paths.
|
|||
|
(gcctestdir1/collect-ld): New.
|
|||
|
(ld1_DEPENDENCIES): Add gcctestdir1/collect-ld.
|
|||
|
(ld1_LDFLAGS): Remove -Bgcctestdir1/.
|
|||
|
(editcc1, ld1_LINK): Define.
|
|||
|
(gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES),
|
|||
|
(ld2_LDFLAGS, editcc2, ld2_LINK),
|
|||
|
(ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK),
|
|||
|
(gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES),
|
|||
|
(ld2_r_LDFLAGS, editcc2r, ld2_r_LINK),
|
|||
|
(gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES),
|
|||
|
(ld3_LDFLAGS, editcc3, ld3_LINK),
|
|||
|
(gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES),
|
|||
|
(ld4_LDFLAGS, editcc4, ld4_LINK): Similarly.
|
|||
|
* Makefile.in: Regenerate.
|
|||
|
* testsuite/Makefile.am (editcc): Define sed command to put
|
|||
|
our -B option first. Remove other occurrences of -Bgcctestdir/
|
|||
|
throughout file.
|
|||
|
(editcc1): Define for -D_FORTIFY_SOURCE stripping.
|
|||
|
(editcc2): Define for -static-libgcc/libstdc++ stripping.
|
|||
|
(LINK1, CXXLINK1): Don't use CCLD or CXXLD.
|
|||
|
(CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define
|
|||
|
using editcc macros.
|
|||
|
(gcctestdir/collect-ld): New rule, add as a dependency of..
|
|||
|
(gcctestdir/ld): ..this. Use $@ and abs_top_buildir.
|
|||
|
(gcctestdir/as): Use $@.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
* testsuite/incremental_test.sh (actual): Match collect-ld too.
|
|||
|
|
|||
|
2018-11-02 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* Makefile.am (MOSTLYCLEANFILES): Define.
|
|||
|
* Makefile.in: Regnerate.
|
|||
|
* testsuite/Makefile.am (MOSTLYCLEANFILES): Add ver_test_14 and
|
|||
|
gnu_property_test.
|
|||
|
* testsuite/Makefile.in: Regnerate.
|
|||
|
|
|||
|
2018-10-16 Cherry Zhang <cherryyz@google.com>
|
|||
|
|
|||
|
PR 23769
|
|||
|
* gold.cc (queue_middle_tasks): Correct split-stack error message.
|
|||
|
|
|||
|
2018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
|
|||
|
|
|||
|
* mips.cc (Mips_mach, add_machine_extensions, elf_mips_mach):
|
|||
|
Rename loongson3a to gs464.
|
|||
|
(mips_isa_ext_mach, mips_isa_ext): Delete loongson3a.
|
|||
|
(infer_abiflags): Use ases instead of isa_ext for infer ABI
|
|||
|
flags.
|
|||
|
(elf_mips_mach_name): Rename loongson3a to gs464.
|
|||
|
|
|||
|
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
|
|||
|
* mips.cc (Mips_got_info::record_got_page_entry): Fetch existing
|
|||
|
page entries for the object's GOT.
|
|||
|
|
|||
|
2018-04-05 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro.
|
|||
|
|
|||
|
2018-04-04 Nick Clifton <nickc@redhat.com>
|
|||
|
|
|||
|
* po/es.po: Updated Spanish translation.
|
|||
|
|
|||
|
2018-04-02 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
PR gold/23016
|
|||
|
* incremental.cc (can_incremental_update): Check for unwind section
|
|||
|
type.
|
|||
|
* layout.h (Layout::layout): Add sh_type parameter.
|
|||
|
* layout.cc (Layout::layout): Likewise.
|
|||
|
(Layout::layout_reloc): Create new output reloc section if data
|
|||
|
section does not already have one.
|
|||
|
(Layout::layout_eh_frame): Check for unwind section type.
|
|||
|
(Layout::make_eh_frame_section): Use unwind section type for .eh_frame
|
|||
|
and .eh_frame_hdr.
|
|||
|
* object.h (Sized_relobj_file::Shdr_write): New typedef.
|
|||
|
(Sized_relobj_file::layout_section): Add sh_type parameter.
|
|||
|
(Sized_relobj_file::Deferred_layout::Deferred_layout): Add sh_type
|
|||
|
parameter.
|
|||
|
* object.cc (Sized_relobj_file::check_eh_frame_flags): Check for
|
|||
|
unwind section type.
|
|||
|
(Sized_relobj_file::layout_section): Add sh_type parameter; pass it
|
|||
|
to Layout::layout.
|
|||
|
(Sized_relobj_file::do_layout): Make local copy of sh_type.
|
|||
|
Force .eh_frame sections to unwind section type.
|
|||
|
Pass sh_type to layout_section.
|
|||
|
(Sized_relobj_file<size, big_endian>::do_layout_deferred_sections):
|
|||
|
Pass sh_type to layout_section.
|
|||
|
* output.cc (Output_section::Output_section): Initialize reloc_section_.
|
|||
|
* output.h (Output_section::reloc_section): New method.
|
|||
|
(Output_section::set_reloc_section): New method.
|
|||
|
(Output_section::reloc_section_): New data member.
|
|||
|
* target.h (Target::unwind_section_type): New method.
|
|||
|
(Target::Target_info::unwind_section_type): New data member.
|
|||
|
|
|||
|
* aarch64.cc (aarch64_info): Add unwind_section_type.
|
|||
|
* arm.cc (arm_info, arm_nacl_info): Likewise.
|
|||
|
* i386.cc (i386_info, i386_nacl_info, iamcu_info): Likewise.
|
|||
|
* mips.cc (mips_info, mips_nacl_info): Likewise.
|
|||
|
* powerpc.cc (powerpc_info): Likewise.
|
|||
|
* s390.cc (s390_info): Likewise.
|
|||
|
* sparc.cc (sparc_info): Likewise.
|
|||
|
* tilegx.cc (tilegx_info): Likewise.
|
|||
|
* x86_64.cc (x86_64_info, x86_64_nacl_info): Likewise.
|
|||
|
|
|||
|
* testsuite/Makefile.am (pr23016_1, pr23016_2): New test cases.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
* testsuite/testfile.cc: Add unwind_section_type.
|
|||
|
* testsuite/pr23016_1.sh: New test script.
|
|||
|
* testsuite/pr23016_1a.s: New source file.
|
|||
|
* testsuite/pr23016_1b.s: New source file.
|
|||
|
* testsuite/pr23016_2.sh: New test script.
|
|||
|
* testsuite/pr23016_2a.s: New source file.
|
|||
|
* testsuite/pr23016_2b.s: New source file.
|
|||
|
|
|||
|
2018-03-28 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
PR gold/21423
|
|||
|
PR gold/22500
|
|||
|
* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
|
|||
|
Replace check for --enable-plugins with AC_PLUGINS.
|
|||
|
* options.cc (parse_plugin, parse_plugin_opt): Remove #ifdef.
|
|||
|
(General_options::finalize): Check if plugins enabled.
|
|||
|
* options.h (--plugin, --plugin-opt): Define even if plugins not
|
|||
|
enabled.
|
|||
|
* Makefile.in: Regenerate.
|
|||
|
* aclocal.m4: Regenerate.
|
|||
|
* configure: Regenerate.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
|
|||
|
2018-03-28 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
PR gold/22969
|
|||
|
* aarch64-reloc.def: Add TLSLE_LDST* relocations.
|
|||
|
* aarch64.cc (Target_aarch64::optimize_tls_reloc): Likewise.
|
|||
|
(Target_aarch64::Scan::local): Likewise.
|
|||
|
(Target_aarch64::Scan::global): Likewise.
|
|||
|
(Target_aarch64::Relocate::relocate): Likewise.
|
|||
|
(Target_aarch64::Relocate::relocate_tls): Likewise.
|
|||
|
|
|||
|
2018-03-27 Roland McGrath <mcgrathr@google.com>
|
|||
|
|
|||
|
* testsuite/split_x86_64.sh: Fix bad regexp.
|
|||
|
|
|||
|
2018-03-26 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
PR gold/22868
|
|||
|
* plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section
|
|||
|
index instead of SHN_ABS for defined symbols.
|
|||
|
* testsuite/Makefile.am (plugin_pr22868): New test case.
|
|||
|
* testsuite/Makefile.in: Regenerate
|
|||
|
* testsuite/plugin_pr22868.sh: New test script.
|
|||
|
* testsuite/plugin_pr22868_a.c: New source file.
|
|||
|
* testsuite/plugin_pr22868_b.c: New source file.
|
|||
|
|
|||
|
2018-03-23 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
* plugin.cc (link_or_copy_file): Remove newlines from warning messages.
|
|||
|
Add pedantic check for return value from ::write.
|
|||
|
|
|||
|
2018-03-23 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
* debug.h (DEBUG_PLUGIN): New constant.
|
|||
|
(DEBUG_ALL): Add DEBUG_PLUGIN.
|
|||
|
(debug_string_to_enum): Likewise.
|
|||
|
* plugin.cc (make_sized_plugin_object): Add filename parameter.
|
|||
|
(Plugin_recorder): New class.
|
|||
|
(Plugin_manager::~Plugin_manager): Delete recorder_.
|
|||
|
(Plugin_manager::load_plugins): Create and initialize recorder_.
|
|||
|
(Plugin_manager::claim_file): Record claimed and unclaimed files.
|
|||
|
(Plugin_manager::make_plugin_object): Use object name as name for
|
|||
|
plugin object, if available.
|
|||
|
(Plugin_manager::add_input_file): Record replacement files.
|
|||
|
(Sized_pluginobj::do_add_symbols): Record plugin symbols.
|
|||
|
(Plugin_finish::run): Call Plugin_recorder::finish().
|
|||
|
(make_sized_plugin_object): Add filename parameter and pass to
|
|||
|
Sized_pluginobj constructor.
|
|||
|
* plugin.h (Plugin::filename): New method.
|
|||
|
(Plugin::recorder): New method.
|
|||
|
(Plugin::recorder_): New data member.
|
|||
|
|
|||
|
2018-03-07 Sriraman Tallam <tmsriram@google.com>
|
|||
|
|
|||
|
* layout.cc (Layout::default_section_order): Check for text section
|
|||
|
prefixes.
|
|||
|
(Layout::text_section_name_mapping): New static member.
|
|||
|
(Layout::text_section_name_mapping_count): New static member.
|
|||
|
(Layout::match_section_name): New static function.
|
|||
|
(Layout::output_section_name): Check for text section prefixes.
|
|||
|
* layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value.
|
|||
|
(Output_section_order::ORDER_TEXT_STARTUP): New enum value.
|
|||
|
(Output_section_order::ORDER_TEXT_EXIT): New enum value.
|
|||
|
(Output_section_order::ORDER_TEXT_UNLIKELY): New enum value.
|
|||
|
(Layout::text_section_name_mapping): New static member.
|
|||
|
(Layout::text_section_name_mapping_count): New static member.
|
|||
|
(Layout::match_section_name): New static function.
|
|||
|
* options.h (keep_text_section_prefix): New -z option.
|
|||
|
* testsuite/Makefile.am (keep_text_section_prefix): New test.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
* testsuite/keep_text_section_prefix.cc: New test source.
|
|||
|
* testsuite/keep_text_section_prefix.sh: New test script.
|
|||
|
|
|||
|
2018-02-22 Sriraman Tallam <tmsriram@google.com>
|
|||
|
|
|||
|
* plugin.cc (get_wrap_symbols): New plugin interface.
|
|||
|
(load): Add get_wrap_symbols to transfer vector.
|
|||
|
* plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
|
|||
|
* testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
|
|||
|
interface.
|
|||
|
* testsuite/plugin_test_wrap_symbols.sh: New test script.
|
|||
|
* testsuite/plugin_test_wrap_symbols_1.cc: New file.
|
|||
|
* testsuite/plugin_test_wrap_symbols_2.cc: New file.
|
|||
|
* testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
|
|||
|
2018-02-07 Sriraman Tallam <tmsriram@google.com>
|
|||
|
|
|||
|
* expression.cc (Symbol_expression::set_expr_sym_in_real_elf):
|
|||
|
New method.
|
|||
|
(Unary_expression::set_expr_sym_in_real_elf): New method.
|
|||
|
(Binary_expression::set_expr_sym_in_real_elf): New method.
|
|||
|
(Trinary_expression::set_expr_sym_in_real_elf): New method.
|
|||
|
* plugin.cc (get_symbol_resolution_info): Fix symbol resolution if
|
|||
|
defined or used in defsyms.
|
|||
|
* plugin.h (Plugin_manager::is_defsym_def): New method.
|
|||
|
(Plugin_manager::Plugin_manager): Initialize defsym_defines_set_.
|
|||
|
(Plugin_manager::defsym_defines_set_): New member.
|
|||
|
(Plugin_manager::Defsym_defines_set): New typedef.
|
|||
|
* script.cc (Script_options::set_defsym_uses_in_real_elf): New method.
|
|||
|
(Script_options::find_defsym_defs): New method.
|
|||
|
* script.h (Expression::set_expr_sym_in_real_elf): New method.
|
|||
|
(Symbol_assignment::is_defsym): New method.
|
|||
|
(Symbol_assignment::value): New method.
|
|||
|
(Script_options::find_defsym_defs): New method.
|
|||
|
(Script_options::set_defsym_uses_in_real_elf): New method.
|
|||
|
* testsuite/Makefile.am (plugin_test_defsym): New test.
|
|||
|
* testsuite/Makefile.in: Regenerate.
|
|||
|
* testsuite/plugin_test.c: Check for new symbol resolution.
|
|||
|
* testsuite/plugin_test_defsym.sh: New script.
|
|||
|
* testsuite/plugin_test_defsym.c: New test source.
|
|||
|
|
|||
|
2018-02-07 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
Revert 2018-01-17 Alan Modra <amodra@gmail.com>
|
|||
|
* options.h: Remove --speculate-indirect-jumps support.
|
|||
|
* powerpc.cc: Likewise.
|
|||
|
|
|||
|
2018-02-02 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
* PR gold/22776
|
|||
|
* dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): Add
|
|||
|
support for DWARF-4 line number tables.
|
|||
|
* dwarf_reader.h (Sized_dwarf_line_info::max_ops_per_insn): New field.
|
|||
|
|
|||
|
2018-01-18 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* powerpc.cc (param_plt_align): New function supplying default
|
|||
|
--plt-align values. Use it..
|
|||
|
(Stub_table::plt_call_align): ..here, and..
|
|||
|
(Output_data_glink::global_entry_align): ..here.
|
|||
|
(Stub_table::stub_align): Correct 32-bit minimum alignment.
|
|||
|
|
|||
|
2018-01-17 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* options.h (speculate_indirect_jumps): New option.
|
|||
|
* powerpc.cc (beqctrm, beqctrlm, crseteq): New insn constants.
|
|||
|
(output_bctr): New function.
|
|||
|
(Stub_table::plt_call_size): Add space for speculation barrier.
|
|||
|
(Stub_table::branch_stub_size): Likewise.
|
|||
|
(Output_data_glink::pltresolve_size): Likewise.
|
|||
|
(Stub_table::do_write): Output speculation barriers.
|
|||
|
|
|||
|
2018-01-17 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
* options.h (plt_align): Support for PowerPC32 too.
|
|||
|
* powerpc.cc (Stub_table::stub_align): Heed --plt-align for 32-bit.
|
|||
|
(Stub_table::plt_call_size, branch_stub_size): Tidy.
|
|||
|
(Stub_table::plt_call_align): Implement using stub_align.
|
|||
|
(Output_data_glink::global_entry_align): New function.
|
|||
|
(Output_data_glink::global_entry_off): New function.
|
|||
|
(Output_data_glink::global_entry_address): Use global_entry_off.
|
|||
|
(Output_data_glink::pltresolve_size): New function, replacing
|
|||
|
pltresolve_size_ constant. Update all uses.
|
|||
|
(Output_data_glink::add_global_entry): Align offset.
|
|||
|
(Output_data_glink::set_final_data_size): Use global_entry_align.
|
|||
|
(Stub_table::do_write): Don't pad __glink_PLTrelsolve with nops.
|
|||
|
Tidy stub output. Use global_entry_off.
|
|||
|
|
|||
|
2018-01-15 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
PR gold/22694
|
|||
|
* options.h (-fuse-ld): Add correct helparg.
|
|||
|
|
|||
|
2018-01-15 Nick Clifton <nickc@redhat.com>
|
|||
|
|
|||
|
* po/uk.po: Updated Ukranian translation.
|
|||
|
|
|||
|
2018-01-13 Nick Clifton <nickc@redhat.com>
|
|||
|
|
|||
|
* po/gold.pot: Regenerated.
|
|||
|
|
|||
|
2018-01-13 Nick Clifton <nickc@redhat.com>
|
|||
|
|
|||
|
2.30 branch created.
|
|||
|
|
|||
|
2018-01-12 Cary Coutant <ccoutant@gmail.com>
|
|||
|
|
|||
|
* NEWS: Add new features in 1.15.
|
|||
|
* version.cc (version_string): Bump to 1.15.
|
|||
|
|
|||
|
2018-01-12 Sterling Augustine <saugustine@google.com>
|
|||
|
|
|||
|
* cref.cc (Cref_inputs::Cref_table_compare::operator): Add
|
|||
|
conditionals and calls to is_forwarder.
|
|||
|
|
|||
|
2018-01-03 Alan Modra <amodra@gmail.com>
|
|||
|
|
|||
|
Update year range in copyright notice of all files.
|
|||
|
|
|||
|
For older changes see ChangeLog-2017
|
|||
|
|
|||
|
Copyright (C) 2018 Free Software Foundation, Inc.
|
|||
|
|
|||
|
Copying and distribution of this file, with or without modification,
|
|||
|
are permitted in any medium without royalty provided the copyright
|
|||
|
notice and this notice are preserved.
|
|||
|
|
|||
|
Local Variables:
|
|||
|
mode: change-log
|
|||
|
left-margin: 8
|
|||
|
fill-column: 74
|
|||
|
version-control: never
|
|||
|
End:
|