Move uinteger_pow gdb/valarith.c to gdb/utils.c and make it public
[binutils-gdb.git] / gold / ChangeLog
blobcb2ad727067ca43f804e89cbf7f43c41b06fa5e2
1 2020-11-08  H.J. Lu  <hongjiu.lu@intel.com>
3         PR gold/26200
4         * plugin.cc (Plugin_manager::claim_file): Don't share Plugin_list
5         iterator.
6         (Plugin_manager::all_symbols_read): Likewise.
7         (Plugin_manager::cleanup): Likewise.
9 2020-11-03  Alan Modra  <amodra@gmail.com>
11         * powerpc.cc (Target_powerpc::tocsave_loc): Return a pointer.
12         (Target_powerpc::Relocate::relocate): Avoid -Wdangling-gsl error.
14 2020-11-03  Nick Gasson  <nick.gasson@arm.com>
16         PR 26827
17         * fileread.cc (File_read::open): Ensure file_counts_lock is
18         initialized.
19         * testsuite/Makefile.am (check_PROGRAMS): Add a test that passes
20         -Wl,--threads.
21         * testsuite/Makefile.in: Regenerate.
23 2020-10-30  H.J. Lu  <hongjiu.lu@intel.com>
25         * testsuite/gnu_property_test.sh: Updated.
27 2020-10-22  H.J. Lu  <hongjiu.lu@intel.com>
29         * Makefile.am (bootstrap-test): Skip for LTO build.
30         (bootstrap-test-r): Likewise.
32 2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
34         PR gold/23539
35         * configure.ac: Check for GCC 9 or later and for -fcf-protection.
36         * configure: Regenerated.
37         * testsuite/Makefile.am (check_PROGRAMS): Skip incremental_test_2,
38         incremental_test_3, incremental_test_4, incremental_test_5,
39         incremental_copy_test, incremental_common_test_1 and
40         incremental_comdat_test_1 for -fcf-protection.  Also Skip
41         incremental_copy_test and incremental_comdat_test_1 for GCC 9 or
42         later.
43         * testsuite/Makefile.in: Regenerated.
45 2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
47         PR gold/23503
48         * testsuite/Makefile.am (justsyms_lib): Pass
49         -T $(srcdir)/justsyms_lib.t to gold.
50         * testsuite/Makefile.in: Regenerated.
51         * testsuite/justsyms_lib.t: New file.
52         * testsuite/script_test_10.t: Discard .note.gnu.property section.
54 2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
56         * x86_64.cc (Target_x86_64::Target_x86_64): Initialize
57         feature_2_used_, feature_2_needed_ and object_feature_2_used_.
58         (Target_x86_64::feature_2_used_): New data member.
59         (Target_x86_64::feature_2_needed_): Likewise.
60         (Target_x86_64::object_isa_1_used_): Likewise.
61         (Target_x86_64::record_gnu_property): Support
62         GNU_PROPERTY_X86_COMPAT_ISA_1_USED,
63         GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED,
64         GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED,
65         GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED,
66         GNU_PROPERTY_X86_FEATURE_2_USED and
67         GNU_PROPERTY_X86_FEATURE_2_NEEDED.
68         (Target_x86_64::merge_gnu_properties): Merge FEATURE_2_USED bits.
69         Initialize object_feature_2_used_.
70         (Target_x86_64::do_finalize_gnu_properties): Support
71         GNU_PROPERTY_X86_FEATURE_2_USED and
72         GNU_PROPERTY_X86_FEATURE_2_NEEDED.
73         * testsuite/gnu_property_a.S (GNU_PROPERTY_X86_ISA_1_USED): Set
74         to 0xc0010002.
75         (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
76         * testsuite/gnu_property_b.S (GNU_PROPERTY_X86_ISA_1_USED): Set
77         to 0xc0010002.
78         (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
79         * testsuite/gnu_property_c.S (GNU_PROPERTY_X86_ISA_1_USED): Set
80         to 0xc0010002.
81         (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
82         * testsuite/gnu_property_test.sh: Updated.
84 2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
86         PR gold/22914
87         PR gold/23535
88         * layout.cc (Layout::attach_allocated_section_to_segment): Place
89         a note section in a PT_NOTE segment with the same alignment.  Set
90         the alignment of the PT_NOTE segment from the alignment of the
91         note section.
92         (Layout::create_note): Align the NT_GNU_PROPERTY_TYPE_0 note to 8
93         bytes for 64-bit ELF.
94         (Layout::segment_precedes): Place segments with larger alignments
95         first.
96         * output.cc (Output_segment::Output_segment): Initialize align_.
97         * output.h (Output_segment): Add align, set_align and align_.
98         * testsuite/Makefile.am (gnu_property_test.stdout): Pass -lhSWn
99         to $(TEST_READELF).
100         (gnu_property_test): Pass --build-id to ld.
101         * testsuite/Makefile.in: Regenerated.
102         * testsuite/gnu_property_test.sh (check_alignment): New.
103         Use check_alignment to check the NT_GNU_PROPERTY_TYPE_0 note
104         alignment.  Verify that there are 2 PT_NOTE segments.
106 2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
108         PR gold/21452
109         * x86_64.cc (Scan::local_reloc_may_be_function_pointer): Remove
110         check for shared library.
111         (Scan::global_reloc_may_be_function_pointer): Remove check for
112         shared library and symbol visibility.
113         * testsuite/icf_safe_so_test.cc (bar_static): New function.
114         (main): Take function address of bar_static and use it.
115         * testsuite/icf_safe_so_test.sh (arch_specific_safe_fold): Also
116         check fold on x86-64.  Check bar_static isn't folded.
118 2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
120         * icf.cc (Icf::find_identical_sections): Skip zero-sized sections.
122 2020-10-09  Alan Modra  <amodra@gmail.com>
124         * powerpc.cc (Powerpc_relobj::do_relocate_sections): Don't do
125         local entry offset optimisation for lplt_section.
126         (Target_powerpc::Branch_info::make_stub): Don't add local
127         entry offset to long branch dest passed to
128         add_long_branch_entry.  Do pass st_other bits.
129         (Stub_table::Branch_stub_ent): Add "other_" field.
130         (Stub_table::add_long_branch_entry): Add "other" param, and
131         save.
132         (Stub_table::branch_stub_size): Adjust long branch offset.
133         (Stub_table::do_write): Likewise.
134         (Target_powerpc::Relocate::relocate): Likewise.
136 2020-10-09  Alan Modra  <amodra@gmail.com>
138         * powerpc.cc (is_got_reloc): New function.
139         (Target_powerpc::Relocate::relocate): Use it here, exclude GOT
140         relocs when looking for stubs.
142 2020-10-08  H.J. Lu  <hongjiu.lu@intel.com>
144         * testsuite/split_i386.sh: Updated for --split-stack-adjust-size
145         default change.
146         * testsuite/split_x86_64.sh: Likewise.
148 2020-10-08  Alan Modra  <amodra@gmail.com>
150         * options.h (split_stack_adjust_size): Default to 0x100000.
152 2020-09-26  Alan Modra  <amodra@gmail.com>
154         * powerpc.cc (Target_powerpc): Rename power10_stubs_ to
155         power10_relocs_.
156         (Target_powerpc::set_power10_relocs): New accessor.
157         (Target_powerpc::set_power10_stubs): Delete.
158         (Target_powerpc::power10_stubs): Adjust.
159         (Target_powerpc::has_localentry0): New accessor.
160         (ld_0_11): New constant.
161         (glink_eh_frame_fde_64v1, glink_eh_frame_fde_64v2): Adjust.
162         (glink_eh_frame_fde_64v2_localentry0): New.
163         (Output_data_glink::pltresolve_size): Update.
164         (Output_data_glink::add_eh_frame): Use localentry0 version eh_frame.
165         (Output_data_glink::do_write): Move r2 save to start of ELFv2 stub
166         and only emit for has_localentry0.  Don't use r2 in the stub.
167         (Target_powerpc::Scan::local, global): Adjust for
168         set_power10_relocs renaming.
169         (Target_powerpc::scan_relocs): Warn and reset plt_localentry0_.
171 2020-09-24  Alan Modra  <amodra@gmail.com>
173         * powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip
174         first insn of __tls_get_addr_opt stub.
176 2020-08-24  Alan Modra  <amodra@gmail.com>
178         * powerpc.cc (Target_powerpc): Add tprel_opt_ and accessors.
179         (Target_powerpc::Scan::local): Sanity check tprel high relocs.
180         (Target_powerpc::Scan::global): Likewise.
181         (Target_powerpc::Relocate::relocate): Control tprel optimisation
182         with tprel_opt_ and enable for 32-bit.
184 2020-08-12  Nick Clifton  <nickc@redhat.com>
186         * po/sr.po: Updated Serbian translation.
188 2020-07-27  Alan Modra  <amodra@gmail.com>
190         * options.h (DEFINE_enum): Add optional_arg__ param, adjust
191         all uses.
192         (General_options): Add --power10-stubs and --no-power10-stubs.
193         * options.cc (General_options::parse_no_power10_stubs): New.
194         (General_options::finalize): Handle --power10-stubs.
195         * powerpc.cc (set_power10_stubs): Don't set when --power10-stubs=no.
196         (power10_stubs_auto): New.
197         (struct Plt_stub_ent): Add toc_ and tocoff_.  Don't use a bitfield
198         for indx_.
199         (struct Branch_stub_ent): Add toc_and tocoff_.  Use bitfields for
200         iter_, notoc_ and save_res_.
201         (add_plt_call_entry): Set toc_.  Adjust resizing conditions for
202         --power10-stubs=auto.
203         (add_long_branch_entry): Set toc_.
204         (add_eh_frame, define_stub_syms): No longer use const_iterators
205         for plt and long branch stub iteration.
206         (build_tls_opt_head, build_tls_opt_tail): Change parameters and
207         return value.  Move tests for __tls_get_addr to callers.
208         (plt_call_size): Handle --power10-stubs=auto.
209         (branch_stub_size): Likewise.
210         (Stub_table::do_write): Likewise.
211         (relocate): Likewise.
213 2020-07-19  H.J. Lu  <hongjiu.lu@intel.com>
215         * testsuite/bnd_ifunc_1.sh: Updated.
216         * testsuite/bnd_plt_1.sh: Likewise.
217         * testsuite/split_x32.sh: Likewise.
218         * testsuite/split_x86_64.sh: Likewise.
219         * testsuite/x86_64_indirect_call_to_direct.sh: Likewise.
221 2020-07-08  Nick Clifton  <nickc@redhat.com>
223         * testsuite/script_test_7.sh: Adjust expected address of the .bss
224         section.
225         * testsuite/script_test_9.sh: Do not expect the .init section to
226         immediately follow the .text section in the mapping of sections to
227         segments.
229 2020-07-07  Nick Clifton  <nickc@redhat.com>
231         * target-reloc.h: (Default_comdat_behaviour:get): Ignore discarded
232         relocs that refer to the .gnu.build.attributes section.
234 2020-07-06  Nick Clifton  <nickc@redhat.com>
236         * po/fr.po: Updated French translation.
237         * po/uk.po: Updated Ukranian translation.
239 2020-07-04  Nick Clifton  <nickc@redhat.com>
241         Binutils 2.35 branch created.
243 2020-07-03  Alan Modra  <amodra@gmail.com>
245         PR 26028
246         * testsuite/Makefile.am (file_in_many_sections.stdout): Add -W
247         to readelf options.
248         * testsuite/Makefile.in: Regenerate.
250 2020-06-26  Nick Alcock  <nick.alcock@oracle.com>
252         * configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
253         * configure: Regenerated.
254         * config.h.in: Likewise.
256 2020-06-24  Nick Clifton  <nickc@redhat.com>
258         * target-reloc.h (issue_discarded_error): Initialise the
259         key_symndx variable.
261 2020-06-23  Roland McGrath  <mcgrathr@google.com>
263         PR 22843
264         * options.h (class General_options): Add --dependency-file option.
265         * fileread.cc (File_read::files_read): New static variable.
266         (File_read::open): Add the file to the files_read list.
267         (File_read::record_file_read): New static member function.
268         (File_read::write_dependency_file): New static member function.
269         * fileread.h (class File_read): Declare them.
270         * layout.cc (Layout::read_layout_from_file): Call record_file_read.
271         (Close_task_runner::run): Call write_dependency_file if
272         --dependency-file was passed.
274 2020-06-18  Fangrui Song  <i@maskray.me>
276         PR gold/26039
277         * layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.
279 2020-06-16  Alan Modra  <amodra@gmail.com>
281         * testsuite/discard_locals_test.c: Replace uses of asm with __asm__.
282         * testsuite/discard_locals_relocatable_test.c: Likewise.
284 2020-06-16  Alan Modra  <amodra@gmail.com>
286         * testsuite/Makefile.am (export_dynamic_plugin.o): Use CXXCOMPILE.
287         (plugin_test_wrap_symbols_1.o): Likewise.
288         (plugin_test_wrap_symbols_2.o): Likewise.
289         * testsuite/Makefile.in: Regenerate.
291 2020-06-15  Roland McGrath  <mcgrathr@google.com>
293         Implement -z start-stop-visibility=... option.
294         * options.h (class General_options): Handle -z start-stop-visibility=.
295         (General_options::start_stop_visibility_enum): New public method.
296         (General_options::set_start_stop_visibility_enum): New private method.
297         (General_options::start_stop_visibility_enum_): New private member.
298         * options.cc (General_options::General_options): Add initializer.
299         (General_options::finalize): Set this->start_stop_visibility_enum_
300         from string value.
301         * layout.cc (Layout::define_section_symbols): Use option setting.
303 2020-06-06  Alan Modra  <amodra@gmail.com>
305         * powerpc.cc: Update throughout for reloc renaming.
307 2020-05-22  Alan Modra  <amodra@gmail.com>
309         PR 25882
310         * powerpc.cc (merge_object_attributes): Replace name param with
311         obj param.  Update callers.  Don't init FP attributes from shared
312         libraries, and do not emit an error if they don't match.
314 2020-05-15  Nikita Ermakov  <coffe92@gmail.com>
316         * powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
318 2020-05-14  Nick Clifton  <nickc@redhat.com>
320         * po/sr.po: New Serbian translation.
322 2020-05-11  Alan Modra  <amodra@gmail.com>
324         * powerpc.cc: Rename powerxx to power10 throughout.
326 2020-05-02  H.J. Lu  <hongjiu.lu@intel.com>
328         PR gold/25904
329         * testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New.
330         (common_test_1.o): New rule.
331         (common_test_2.o): Likewise.
332         (common_test_3.o): Likewise.
333         (plugin_common_test_1.o): Likewise.
334         (plugin_common_test_2.o): Likewise.
335         (common_test_1_v1.o): Likewise.
336         (common_test_1_v2.o): Likewise.
337         (common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS).
338         (common_test_3_pic.o): Likewise.
339         * testsuite/Makefile.in: Regenerated.
341 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
343         PR gold/25426
344         * x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
345         For x32, relax "rex leal foo@tlsdesc(%rip), %reg" to
346         "rex movl foo@gottpoff(%rip), %eax" and relax ""call *(%eax)"
347         to "nopl (%rax)".
348         (Target_x86_64<size>::Relocate::tls_desc_gd_to_le): For x32,
349         relax "rex leal foo@tlsdesc(%rip), %reg" to
350         "rex movl foo@tpoff, %eax" and relax "call *foo@tlscall(%eax)"
351         to "nopl (%rax)".
352         * testsuite/Makefile.am (tls_test_gnu2.o): Depend on
353         gcctestdir/as.
354         (tls_test_file2_gnu2.o): Likewise.
355         (tls_test_c_gnu2.o): Likewise.
356         * testsuite/Makefile.in: Regenerated.
358 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
360         PR gold/25473
361         * x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
362         Properly check r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
363         (Target_x86_64<size>::Relocate::tls_desc_gd_to_le): Properly
364         relax r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
365         * testsuite/Makefile.am (check_SCRIPTS): Add x86_64_gd_to_le.sh.
366         (check_DATA): Add x86_64_gd_to_le.stdout.
367         (MOSTLYCLEANFILES): Add x86_64_gd_to_le.
368         (x86_64_gd_to_le.o): New target.
369         (x86_64_gd_to_le): Likewise.
370         (x86_64_gd_to_le.stdout): Likewise.
371         * testsuite/Makefile.in: Regenerated.
372         * testsuite/x86_64_gd_to_le.s: New file.
373         * testsuite/x86_64_gd_to_le.sh: Likewise.
375 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
377         * testsuite/odr_violation2.cc (Ordering::operator()): Make
378         expression even more complex.
380 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
382         * testsuite/ver_test_pr16504.sh: Updated.
384 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
386         PR gold/25872
387         * x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment
388         plt_offset after setting the reserved TLSDESC PLT entry.
389         (Output_data_plt_x86_64_ibt<size>::do_write): Likewise.
391 2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
393         PR gold/25872
394         * x86_64.cc (Output_data_plt_x86_64_bnd::do_address_for_local):
395         Handle local IFUNC symbol.
396         (Output_data_plt_x86_64_ibt::do_address_for_local): Likewise.
398 2020-03-19  Fangrui Song  <maskray@google.com>
400     * options.h (General_options): Add --no-rosegment option.
402 2020-02-24  Nick Clifton  <nickc@redhat.com>
404         * po/fr.po: Update French translation.
406 2020-01-20  Nick Clifton  <nickc@redhat.com>
408         * po/uk.po: Updated Ukranian translation.
410 2020-01-18  Nick Clifton  <nickc@redhat.com>
412         * configure: Regenerate.
413         * po/gold.pot: Regenerate.
415 2020-01-18  Nick Clifton  <nickc@redhat.com>
417         Binutils 2.34 branch created.
419 2020-01-01  Alan Modra  <amodra@gmail.com>
421         Update year range in copyright notice of all files.
423 For older changes see ChangeLog-2019
425 Copyright (C) 2020 Free Software Foundation, Inc.
427 Copying and distribution of this file, with or without modification,
428 are permitted in any medium without royalty provided the copyright
429 notice and this notice are preserved.
431 Local Variables:
432 mode: change-log
433 left-margin: 8
434 fill-column: 74
435 version-control: never
436 End: