X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gold%2FChangeLog;h=82dae337bb369b68f9e2d6c4cd9931fcd194d804;hb=9d4fc61d41a0aef2d199e2b18d238603a8e4be98;hp=41fe6e033e95b5bc913ac57c5341e6178d82eda7;hpb=586e30940e640f67bd55bd72e1d1355a4faf8079;p=binutils-gdb.git diff --git a/gold/ChangeLog b/gold/ChangeLog index 41fe6e033e9..82dae337bb3 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,375 +1,151 @@ -2020-10-13 H.J. Lu - - * x86_64.cc (Target_x86_64::Target_x86_64): Initialize - feature_2_used_, feature_2_needed_ and object_feature_2_used_. - (Target_x86_64::feature_2_used_): New data member. - (Target_x86_64::feature_2_needed_): Likewise. - (Target_x86_64::object_isa_1_used_): Likewise. - (Target_x86_64::record_gnu_property): Support - GNU_PROPERTY_X86_COMPAT_ISA_1_USED, - GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED, - GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED, - GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED, - GNU_PROPERTY_X86_FEATURE_2_USED and - GNU_PROPERTY_X86_FEATURE_2_NEEDED. - (Target_x86_64::merge_gnu_properties): Merge FEATURE_2_USED bits. - Initialize object_feature_2_used_. - (Target_x86_64::do_finalize_gnu_properties): Support - GNU_PROPERTY_X86_FEATURE_2_USED and - GNU_PROPERTY_X86_FEATURE_2_NEEDED. - * testsuite/gnu_property_a.S (GNU_PROPERTY_X86_ISA_1_USED): Set - to 0xc0010002. - (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002. - * testsuite/gnu_property_b.S (GNU_PROPERTY_X86_ISA_1_USED): Set - to 0xc0010002. - (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002. - * testsuite/gnu_property_c.S (GNU_PROPERTY_X86_ISA_1_USED): Set - to 0xc0010002. - (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002. - * testsuite/gnu_property_test.sh: Updated. - -2020-10-13 H.J. Lu - - PR gold/22914 - PR gold/23535 - * layout.cc (Layout::attach_allocated_section_to_segment): Place - a note section in a PT_NOTE segment with the same alignment. Set - the alignment of the PT_NOTE segment from the alignment of the - note section. - (Layout::create_note): Align the NT_GNU_PROPERTY_TYPE_0 note to 8 - bytes for 64-bit ELF. - (Layout::segment_precedes): Place segments with larger alignments - first. - * output.cc (Output_segment::Output_segment): Initialize align_. - * output.h (Output_segment): Add align, set_align and align_. - * testsuite/Makefile.am (gnu_property_test.stdout): Pass -lhSWn - to $(TEST_READELF). - (gnu_property_test): Pass --build-id to ld. - * testsuite/Makefile.in: Regenerated. - * testsuite/gnu_property_test.sh (check_alignment): New. - Use check_alignment to check the NT_GNU_PROPERTY_TYPE_0 note - alignment. Verify that there are 2 PT_NOTE segments. - -2020-10-13 H.J. Lu - - PR gold/21452 - * x86_64.cc (Scan::local_reloc_may_be_function_pointer): Remove - check for shared library. - (Scan::global_reloc_may_be_function_pointer): Remove check for - shared library and symbol visibility. - * testsuite/icf_safe_so_test.cc (bar_static): New function. - (main): Take function address of bar_static and use it. - * testsuite/icf_safe_so_test.sh (arch_specific_safe_fold): Also - check fold on x86-64. Check bar_static isn't folded. - -2020-10-13 H.J. Lu - - * icf.cc (Icf::find_identical_sections): Skip zero-sized sections. - -2020-10-09 Alan Modra - - * powerpc.cc (Powerpc_relobj::do_relocate_sections): Don't do - local entry offset optimisation for lplt_section. - (Target_powerpc::Branch_info::make_stub): Don't add local - entry offset to long branch dest passed to - add_long_branch_entry. Do pass st_other bits. - (Stub_table::Branch_stub_ent): Add "other_" field. - (Stub_table::add_long_branch_entry): Add "other" param, and - save. - (Stub_table::branch_stub_size): Adjust long branch offset. - (Stub_table::do_write): Likewise. - (Target_powerpc::Relocate::relocate): Likewise. - -2020-10-09 Alan Modra - - * powerpc.cc (is_got_reloc): New function. - (Target_powerpc::Relocate::relocate): Use it here, exclude GOT - relocs when looking for stubs. - -2020-10-08 H.J. Lu - - * testsuite/split_i386.sh: Updated for --split-stack-adjust-size - default change. - * testsuite/split_x86_64.sh: Likewise. - -2020-10-08 Alan Modra - - * options.h (split_stack_adjust_size): Default to 0x100000. - -2020-09-26 Alan Modra - - * powerpc.cc (Target_powerpc): Rename power10_stubs_ to - power10_relocs_. - (Target_powerpc::set_power10_relocs): New accessor. - (Target_powerpc::set_power10_stubs): Delete. - (Target_powerpc::power10_stubs): Adjust. - (Target_powerpc::has_localentry0): New accessor. - (ld_0_11): New constant. - (glink_eh_frame_fde_64v1, glink_eh_frame_fde_64v2): Adjust. - (glink_eh_frame_fde_64v2_localentry0): New. - (Output_data_glink::pltresolve_size): Update. - (Output_data_glink::add_eh_frame): Use localentry0 version eh_frame. - (Output_data_glink::do_write): Move r2 save to start of ELFv2 stub - and only emit for has_localentry0. Don't use r2 in the stub. - (Target_powerpc::Scan::local, global): Adjust for - set_power10_relocs renaming. - (Target_powerpc::scan_relocs): Warn and reset plt_localentry0_. - -2020-09-24 Alan Modra - - * powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip - first insn of __tls_get_addr_opt stub. - -2020-08-24 Alan Modra - - * powerpc.cc (Target_powerpc): Add tprel_opt_ and accessors. - (Target_powerpc::Scan::local): Sanity check tprel high relocs. - (Target_powerpc::Scan::global): Likewise. - (Target_powerpc::Relocate::relocate): Control tprel optimisation - with tprel_opt_ and enable for 32-bit. - -2020-08-12 Nick Clifton +2021-03-30 Alan Modra - * po/sr.po: Updated Serbian translation. - -2020-07-27 Alan Modra - - * options.h (DEFINE_enum): Add optional_arg__ param, adjust - all uses. - (General_options): Add --power10-stubs and --no-power10-stubs. - * options.cc (General_options::parse_no_power10_stubs): New. - (General_options::finalize): Handle --power10-stubs. - * powerpc.cc (set_power10_stubs): Don't set when --power10-stubs=no. - (power10_stubs_auto): New. - (struct Plt_stub_ent): Add toc_ and tocoff_. Don't use a bitfield - for indx_. - (struct Branch_stub_ent): Add toc_and tocoff_. Use bitfields for - iter_, notoc_ and save_res_. - (add_plt_call_entry): Set toc_. Adjust resizing conditions for - --power10-stubs=auto. - (add_long_branch_entry): Set toc_. - (add_eh_frame, define_stub_syms): No longer use const_iterators - for plt and long branch stub iteration. - (build_tls_opt_head, build_tls_opt_tail): Change parameters and - return value. Move tests for __tls_get_addr to callers. - (plt_call_size): Handle --power10-stubs=auto. - (branch_stub_size): Likewise. - (Stub_table::do_write): Likewise. - (relocate): Likewise. - -2020-07-19 H.J. Lu - - * testsuite/bnd_ifunc_1.sh: Updated. - * testsuite/bnd_plt_1.sh: Likewise. - * testsuite/split_x32.sh: Likewise. - * testsuite/split_x86_64.sh: Likewise. - * testsuite/x86_64_indirect_call_to_direct.sh: Likewise. - -2020-07-08 Nick Clifton - - * testsuite/script_test_7.sh: Adjust expected address of the .bss - section. - * testsuite/script_test_9.sh: Do not expect the .init section to - immediately follow the .text section in the mapping of sections to - segments. - -2020-07-07 Nick Clifton - - * target-reloc.h: (Default_comdat_behaviour:get): Ignore discarded - relocs that refer to the .gnu.build.attributes section. - -2020-07-06 Nick Clifton - - * po/fr.po: Updated French translation. - * po/uk.po: Updated Ukranian translation. - -2020-07-04 Nick Clifton - - Binutils 2.35 branch created. - -2020-07-03 Alan Modra - - PR 26028 - * testsuite/Makefile.am (file_in_many_sections.stdout): Add -W - to readelf options. - * testsuite/Makefile.in: Regenerate. - -2020-06-26 Nick Alcock - - * configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls. - * configure: Regenerated. - * config.h.in: Likewise. - -2020-06-24 Nick Clifton - - * target-reloc.h (issue_discarded_error): Initialise the - key_symndx variable. - -2020-06-23 Roland McGrath - - PR 22843 - * options.h (class General_options): Add --dependency-file option. - * fileread.cc (File_read::files_read): New static variable. - (File_read::open): Add the file to the files_read list. - (File_read::record_file_read): New static member function. - (File_read::write_dependency_file): New static member function. - * fileread.h (class File_read): Declare them. - * layout.cc (Layout::read_layout_from_file): Call record_file_read. - (Close_task_runner::run): Call write_dependency_file if - --dependency-file was passed. - -2020-06-18 Fangrui Song - - PR gold/26039 - * layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE. - -2020-06-16 Alan Modra - - * testsuite/discard_locals_test.c: Replace uses of asm with __asm__. - * testsuite/discard_locals_relocatable_test.c: Likewise. - -2020-06-16 Alan Modra - - * testsuite/Makefile.am (export_dynamic_plugin.o): Use CXXCOMPILE. - (plugin_test_wrap_symbols_1.o): Likewise. - (plugin_test_wrap_symbols_2.o): Likewise. - * testsuite/Makefile.in: Regenerate. - -2020-06-15 Roland McGrath + PR gold/27625 + * powerpc.cc (Powerpc_relobj): Add no_tls_marker_, tls_marker_, + and tls_opt_error_ variables and accessors. + (Target_powerpc::Scan::local, global): Call set_tls_marker and + set_no_tls_marker for GD and LD code sequence relocations. + (Target_powerpc::Relocate::relocate): Downgrade the "lacks marker + reloc" error to a warning when safe to do so, and omit the error + entirely if not optimising TLS sequences. Do not optimise GD and + LD sequences for objects lacking marker relocs. + (Target_powerpc::relocate_relocs): Heed no_tls_marker here too. - Implement -z start-stop-visibility=... option. - * options.h (class General_options): Handle -z start-stop-visibility=. - (General_options::start_stop_visibility_enum): New public method. - (General_options::set_start_stop_visibility_enum): New private method. - (General_options::start_stop_visibility_enum_): New private member. - * options.cc (General_options::General_options): Add initializer. - (General_options::finalize): Set this->start_stop_visibility_enum_ - from string value. - * layout.cc (Layout::define_section_symbols): Use option setting. +2021-03-19 Cary Coutant -2020-06-06 Alan Modra + PR gold/27615 + * errors.cc (Errors::trace): New method. + (gold_trace): New function. + * errors.h (Errors::trace): New method. + * gold.h (gold_trace): New function. + * object.cc (Input_objects::add_object): Use gold_trace to print + object file names. - * powerpc.cc: Update throughout for reloc renaming. +2021-03-19 Cary Coutant -2020-05-22 Alan Modra + PR gold/pr23870 + * testsuite/aarch64_pr23870_bar.c: Return a magic value. + * testsuite/aarch64_pr23870_foo.c: Check the magic value and return + success or failure. - PR 25882 - * powerpc.cc (merge_object_attributes): Replace name param with - obj param. Update callers. Don't init FP attributes from shared - libraries, and do not emit an error if they don't match. +2021-03-19 Holger Berger -2020-05-15 Nikita Ermakov + PR gold/26541 + * output.cc (gold_fallocate): Use errno when calling system fallocate. - * powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols. +2021-03-19 Cary Coutant -2020-05-14 Nick Clifton + PR gold/26585 + * main.cc (main): Fix typo in previous patch. - * po/sr.po: New Serbian translation. +2021-03-19 Duncan Simpson -2020-05-11 Alan Modra - - * powerpc.cc: Rename powerxx to power10 throughout. - -2020-05-02 H.J. Lu - - PR gold/25904 - * testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New. - (common_test_1.o): New rule. - (common_test_2.o): Likewise. - (common_test_3.o): Likewise. - (plugin_common_test_1.o): Likewise. - (plugin_common_test_2.o): Likewise. - (common_test_1_v1.o): Likewise. - (common_test_1_v2.o): Likewise. - (common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS). - (common_test_3_pic.o): Likewise. - * testsuite/Makefile.in: Regenerated. - -2020-05-01 H.J. Lu - - PR gold/25426 - * x86_64.cc (Target_x86_64::Relocate::tls_desc_gd_to_ie): - For x32, relax "rex leal foo@tlsdesc(%rip), %reg" to - "rex movl foo@gottpoff(%rip), %eax" and relax ""call *(%eax)" - to "nopl (%rax)". - (Target_x86_64::Relocate::tls_desc_gd_to_le): For x32, - relax "rex leal foo@tlsdesc(%rip), %reg" to - "rex movl foo@tpoff, %eax" and relax "call *foo@tlscall(%eax)" - to "nopl (%rax)". - * testsuite/Makefile.am (tls_test_gnu2.o): Depend on - gcctestdir/as. - (tls_test_file2_gnu2.o): Likewise. - (tls_test_c_gnu2.o): Likewise. - * testsuite/Makefile.in: Regenerated. - -2020-05-01 H.J. Lu - - PR gold/25473 - * x86_64.cc (Target_x86_64::Relocate::tls_desc_gd_to_ie): - Properly check r8 - r15 in "lea foo@TLSDESC(%rip), %reg". - (Target_x86_64::Relocate::tls_desc_gd_to_le): Properly - relax r8 - r15 in "lea foo@TLSDESC(%rip), %reg". - * testsuite/Makefile.am (check_SCRIPTS): Add x86_64_gd_to_le.sh. - (check_DATA): Add x86_64_gd_to_le.stdout. - (MOSTLYCLEANFILES): Add x86_64_gd_to_le. - (x86_64_gd_to_le.o): New target. - (x86_64_gd_to_le): Likewise. - (x86_64_gd_to_le.stdout): Likewise. - * testsuite/Makefile.in: Regenerated. - * testsuite/x86_64_gd_to_le.s: New file. - * testsuite/x86_64_gd_to_le.sh: Likewise. - -2020-05-01 H.J. Lu - - * testsuite/odr_violation2.cc (Ordering::operator()): Make - expression even more complex. - -2020-05-01 H.J. Lu - - * testsuite/ver_test_pr16504.sh: Updated. - -2020-05-01 H.J. Lu - - PR gold/25872 - * x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment - plt_offset after setting the reserved TLSDESC PLT entry. - (Output_data_plt_x86_64_ibt::do_write): Likewise. - -2020-05-01 H.J. Lu - - PR gold/25872 - * x86_64.cc (Output_data_plt_x86_64_bnd::do_address_for_local): - Handle local IFUNC symbol. - (Output_data_plt_x86_64_ibt::do_address_for_local): Likewise. - -2020-03-19 Fangrui Song + PR gold/26585 + * configure.ac: Add check for mallinfo2. + * configure: Regenerate. + * config.in: Regenerate from previous commit. + * main.cc (main): Use mallinfo2 if available. + +2021-03-19 Cary Coutant + + PR gold/27246 + * dwarf_reader.cc (Dwarf_abbrev_table::do_get_abbrev): Handle + DW_FORM_implicit_const. + (Dwarf_ranges_table::read_ranges_table): Add version parameter; + Adjust all callers. Look for .debug_rnglists section if DWARF 5. + (Dwarf_ranges_table::read_range_list_v5): New method. + (Dwarf_die::read_attributes): Handle new DWARF 5 DW_FORM codes. + (Dwarf_die::skip_attributes): Likewise. + (Dwarf_info_reader::do_parse): Support DWARF 5 unit header format. + (Dwarf_info_reader::read_3bytes_from_pointer): New method. + (Sized_dwarf_line_info::Sized_dwarf_line_info): Initialize + str_buffer_, str_buffer_start, reloc_map_, line_number_map_. + Look for .debug_line_str section. + (Sized_dwarf_line_info::read_header_prolog): Support DWARF 5 prolog. + (Sized_dwarf_line_info::read_header_tables): Rename to... + (Sized_dwarf_line_info::read_header_tables_v2): ... this. + (Sized_dwarf_line_info::read_header_tables_v5): New method. + (Sized_dwarf_line_info::process_one_opcode): Insert missing "this->". + Change advance_line to signed int64_t. + (Sized_dwarf_line_info::read_lines): Add endptr parameter; adjust + callers. Insert missing "this->". + (Sized_dwarf_line_info::read_line_mappings): Support DWARF 5. + (Sized_dwarf_line_info::do_addr2line): Add debug code. + * dwarf_reader.h (Dwarf_abbrev_table::Attribute): Add implicit_const + field. Adjust constructor. + (Dwarf_abbrev_table::add_sttribute): Add implicit_const parameter. + (Dwarf_ranges_table::read_ranges_table): Add version parameter. + (Dwarf_ranges_table::read_range_list_v5): New method. + (Dwarf_die): Remove unused attr_off field. + (Dwarf_info_reader::Dwarf_info_reader): Initialize unit_type_ field. + (Dwarf_info_reader::is_type_unit): New method. + (Dwarf_info_reader::read_3bytes_from_pointer): New method. + (Dwarf_info_reader::read_range_list): Call read_range_list_v5 for + DWARF 5 range lists. + (Dwarf_info_reader::is_type_unit_): Remove. + (Dwarf_info_reader::unit_type_): New field. + (Sized_dwarf_line_info::~Sized_dwarf_line_info): Delete + str_buffer_start_. + (Sized_dwarf_line_info::read_header_tables): Rename to... + (Sized_dwarf_line_info::read_header_tables_v2): ... this. + (Sized_dwarf_line_info::read_header_tables_v5): New method. + (Sized_dwarf_line_info::read_lines): Add endptr parameter. + (Sized_dwarf_line_info::Dwarf_line_infoHeader): Add address_size field. + (Sized_dwarf_line_info::str_buffer_): New field. + (Sized_dwarf_line_info::str_buffer_end_): New field. + (Sized_dwarf_line_info::str_buffer_start_): New field. + (Sized_dwarf_line_info::end_of_header_length_): New field. + (Sized_dwarf_line_info::end_of_unit_): New field. + +2021-01-28 H.J. Lu + + PR gold/27246 + * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): + Skip address size and segment selector for DWARF5. + +2021-01-19 Alan Modra + + PR 27203 + * powerpc.cc (do_plt_fde_location): Remove doing_static_link + assertion. + +2021-01-17 H.J. Lu + + * testsuite/ifuncmain6pie.c: Remove non-JUMP_SLOT relocations + against foo in ifuncmod6.so. + * testsuite/ifuncmod6.c: Likewise. + +2021-01-14 Nick Clifton - * options.h (General_options): Add --no-rosegment option. + * po/fr.po: Updated French translation. -2020-02-24 Nick Clifton +2021-01-11 Nick Clifton - * po/fr.po: Update French translation. + * po/sr.po: Updated Serbian translation. + * po/uk.po: Updated Ukranian translation. -2020-01-20 Nick Clifton +2021-01-09 Nick Clifton - * po/uk.po: Updated Ukranian translation. + * 2.36 release branch crated. -2020-01-18 Nick Clifton +2021-01-03 Alan Modra - * configure: Regenerate. - * po/gold.pot: Regenerate. + PR 27140 + * powerpc.cc (Target_powerpc::Branch_info::make_stub): Only access + object->st_other() when 64-bit. + (Stub_table::add_long_branch_entry): Ignore "other" when 32-bit. -2020-01-18 Nick Clifton +2021-01-01 Nicolas Boulenguez - Binutils 2.34 branch created. + * tilegx.cc: Correct comment spelling. -2020-01-01 Alan Modra +2021-01-01 Alan Modra Update year range in copyright notice of all files. -For older changes see ChangeLog-2019 +For older changes see ChangeLog-2020 -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright