From d5c04e1bf81c06ab5c30e69eb41b5cea9136a109 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 1 Jan 2019 21:23:15 +1030 Subject: ChangeLog rotation --- gold/ChangeLog | 775 +-------------------------------------------------- gold/ChangeLog-2018 | 785 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 787 insertions(+), 773 deletions(-) create mode 100644 gold/ChangeLog-2018 (limited to 'gold') diff --git a/gold/ChangeLog b/gold/ChangeLog index cdbddde..c2900e0 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,777 +1,6 @@ -2018-12-18 Alan Modra - - * testsuite/Makefile.am (keep_text_section_prefix_nm.stdout): - Pass --synthetic to nm. - * testsuite/Makefile.in: Regenerate. - -2018-12-08 Alan Modra - - 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 - - * 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 - - * symtab.h (Symbol::Symbol): Avoid -Wclass-memaccess warning. - -2018-12-03 Alexey Neyman - - 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 - - PR binutils/23919 - * merge.cc (Output_merge_string::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 - - * 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 - - * testsuite/ver_test_14.sh: Accept objdump -T display of st_other - bits on powerpc64le. - -2018-11-08 Alan Modra - - * 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 - - * 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 - - PR 23769 - * gold.cc (queue_middle_tasks): Correct split-stack error message. - -2018-08-29 Chenghua Xu - - * 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 - - * object.cc (Sized_relobj_file::map_to_kept_section): Initialize - kept_file. - -2018-08-07 Cary Coutant - - 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 - - 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 - - * 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 - - * layout.cc (section_name_mapping): Add an entry for - .gnu.build.attributes. - -2018-07-18 Nick Clifton - - * po/fr.po: Updated French translation. - -2018-07-14 Cary Coutant - - 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 - - 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 - - * main.cc (main): Print m.arena as long long. - -2018-07-09 Cary Coutant - - * incremental.cc (Sized_incremental_binary::setup_readers): Use - emplace_back for C++ 11 or later. - -2018-07-06 Alan Modra - - * 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 - - * po/uk.po: Updated Ukranian translation. - -2018-06-24 Nick Clifton - - * po/gold.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.31 branch created. - -2018-06-23 Cary Coutant - - * version.cc (version_string): Bump to 1.16. - * NEWS: Add new features in 1.16. - -2018-06-23 Cary Coutant - - PR gold/22914 - * x86_64.cc (Target_x86_64::record_gnu_property): Initialize val. - -2018-06-23 Cary Coutant - - 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 - - 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 - - * 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 - - 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 - - * 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 - - 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 - Cary Coutant - - * 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 - - * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr. - * testsuite/Makefile.in: Regenerate. - -2018-06-19 Simon Marchi - - * 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 - - * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of - .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation. - -2018-04-24 Cary Coutant - - 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 - - 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 - - PR gold/23046 - * gc.h (gc_process_relocs): Pass target to - scan.local_reloc_may_be_function_pointer. - -2018-04-18 Nick Clifton - - * po/es.po: Updated Spanish translation. - -2018-04-14 Cary Coutant - - PR gold/23046 - * gc.h (gc_process_relocs): Pass target to - scan.global_reloc_may_be_function_pointer. - -2018-04-09 Alan Modra - - * configure: Regenerate. - -2018-04-09 Alan Modra - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - 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 - - 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 - - * powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro. - -2018-04-04 Nick Clifton - - * po/es.po: Updated Spanish translation. - -2018-04-02 Cary Coutant - - 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::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 - - 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 - - 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 - - * testsuite/split_x86_64.sh: Fix bad regexp. - -2018-03-26 Cary Coutant - - 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 - - * plugin.cc (link_or_copy_file): Remove newlines from warning messages. - Add pedantic check for return value from ::write. - -2018-03-23 Cary Coutant - - * 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 - - * 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 - - * 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 - - * 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 - - Revert 2018-01-17 Alan Modra - * options.h: Remove --speculate-indirect-jumps support. - * powerpc.cc: Likewise. - -2018-02-02 Cary Coutant - - * 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 - - * 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 - - * 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 - - * 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 - - PR gold/22694 - * options.h (-fuse-ld): Add correct helparg. - -2018-01-15 Nick Clifton - - * po/uk.po: Updated Ukranian translation. - -2018-01-13 Nick Clifton - - * po/gold.pot: Regenerated. - -2018-01-13 Nick Clifton - - 2.30 branch created. - -2018-01-12 Cary Coutant - - * NEWS: Add new features in 1.15. - * version.cc (version_string): Bump to 1.15. - -2018-01-12 Sterling Augustine - - * cref.cc (Cref_inputs::Cref_table_compare::operator): Add - conditionals and calls to is_forwarder. - -2018-01-03 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2017 +For older changes see ChangeLog-2018 -Copyright (C) 2018 Free Software Foundation, Inc. +Copyright (C) 2019 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gold/ChangeLog-2018 b/gold/ChangeLog-2018 new file mode 100644 index 0000000..cdbddde --- /dev/null +++ b/gold/ChangeLog-2018 @@ -0,0 +1,785 @@ +2018-12-18 Alan Modra + + * testsuite/Makefile.am (keep_text_section_prefix_nm.stdout): + Pass --synthetic to nm. + * testsuite/Makefile.in: Regenerate. + +2018-12-08 Alan Modra + + 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 + + * 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 + + * symtab.h (Symbol::Symbol): Avoid -Wclass-memaccess warning. + +2018-12-03 Alexey Neyman + + 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 + + PR binutils/23919 + * merge.cc (Output_merge_string::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 + + * 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 + + * testsuite/ver_test_14.sh: Accept objdump -T display of st_other + bits on powerpc64le. + +2018-11-08 Alan Modra + + * 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 + + * 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 + + PR 23769 + * gold.cc (queue_middle_tasks): Correct split-stack error message. + +2018-08-29 Chenghua Xu + + * 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 + + * object.cc (Sized_relobj_file::map_to_kept_section): Initialize + kept_file. + +2018-08-07 Cary Coutant + + 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 + + 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 + + * 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 + + * layout.cc (section_name_mapping): Add an entry for + .gnu.build.attributes. + +2018-07-18 Nick Clifton + + * po/fr.po: Updated French translation. + +2018-07-14 Cary Coutant + + 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 + + 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 + + * main.cc (main): Print m.arena as long long. + +2018-07-09 Cary Coutant + + * incremental.cc (Sized_incremental_binary::setup_readers): Use + emplace_back for C++ 11 or later. + +2018-07-06 Alan Modra + + * 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 + + * po/uk.po: Updated Ukranian translation. + +2018-06-24 Nick Clifton + + * po/gold.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.31 branch created. + +2018-06-23 Cary Coutant + + * version.cc (version_string): Bump to 1.16. + * NEWS: Add new features in 1.16. + +2018-06-23 Cary Coutant + + PR gold/22914 + * x86_64.cc (Target_x86_64::record_gnu_property): Initialize val. + +2018-06-23 Cary Coutant + + 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 + + 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 + + * 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 + + 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 + + * 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 + + 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 + Cary Coutant + + * 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 + + * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr. + * testsuite/Makefile.in: Regenerate. + +2018-06-19 Simon Marchi + + * 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 + + * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of + .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation. + +2018-04-24 Cary Coutant + + 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 + + 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 + + PR gold/23046 + * gc.h (gc_process_relocs): Pass target to + scan.local_reloc_may_be_function_pointer. + +2018-04-18 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2018-04-14 Cary Coutant + + PR gold/23046 + * gc.h (gc_process_relocs): Pass target to + scan.global_reloc_may_be_function_pointer. + +2018-04-09 Alan Modra + + * configure: Regenerate. + +2018-04-09 Alan Modra + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + * powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro. + +2018-04-04 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2018-04-02 Cary Coutant + + 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::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 + + 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 + + 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 + + * testsuite/split_x86_64.sh: Fix bad regexp. + +2018-03-26 Cary Coutant + + 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 + + * plugin.cc (link_or_copy_file): Remove newlines from warning messages. + Add pedantic check for return value from ::write. + +2018-03-23 Cary Coutant + + * 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 + + * 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 + + * 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 + + * 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 + + Revert 2018-01-17 Alan Modra + * options.h: Remove --speculate-indirect-jumps support. + * powerpc.cc: Likewise. + +2018-02-02 Cary Coutant + + * 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 + + * 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 + + * 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 + + * 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 + + PR gold/22694 + * options.h (-fuse-ld): Add correct helparg. + +2018-01-15 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2018-01-13 Nick Clifton + + * po/gold.pot: Regenerated. + +2018-01-13 Nick Clifton + + 2.30 branch created. + +2018-01-12 Cary Coutant + + * NEWS: Add new features in 1.15. + * version.cc (version_string): Bump to 1.15. + +2018-01-12 Sterling Augustine + + * cref.cc (Cref_inputs::Cref_table_compare::operator): Add + conditionals and calls to is_forwarder. + +2018-01-03 Alan Modra + + 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: -- cgit v1.1