1 2020-11-16 Michael Hudson-Doyle <michael.hudson@canonical.com>
4 * powerpc.cc (Relocate::relocate): Do not include local entry
5 offset of target function when computing the address of a stub.
7 2020-11-08 H.J. Lu <hongjiu.lu@intel.com>
10 * plugin.cc (Plugin_manager::claim_file): Don't share Plugin_list
12 (Plugin_manager::all_symbols_read): Likewise.
13 (Plugin_manager::cleanup): Likewise.
15 2020-11-03 Alan Modra <amodra@gmail.com>
17 * powerpc.cc (Target_powerpc::tocsave_loc): Return a pointer.
18 (Target_powerpc::Relocate::relocate): Avoid -Wdangling-gsl error.
20 2020-11-03 Nick Gasson <nick.gasson@arm.com>
23 * fileread.cc (File_read::open): Ensure file_counts_lock is
25 * testsuite/Makefile.am (check_PROGRAMS): Add a test that passes
27 * testsuite/Makefile.in: Regenerate.
29 2020-10-30 H.J. Lu <hongjiu.lu@intel.com>
31 * testsuite/gnu_property_test.sh: Updated.
33 2020-10-22 H.J. Lu <hongjiu.lu@intel.com>
35 * Makefile.am (bootstrap-test): Skip for LTO build.
36 (bootstrap-test-r): Likewise.
38 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
41 * configure.ac: Check for GCC 9 or later and for -fcf-protection.
42 * configure: Regenerated.
43 * testsuite/Makefile.am (check_PROGRAMS): Skip incremental_test_2,
44 incremental_test_3, incremental_test_4, incremental_test_5,
45 incremental_copy_test, incremental_common_test_1 and
46 incremental_comdat_test_1 for -fcf-protection. Also Skip
47 incremental_copy_test and incremental_comdat_test_1 for GCC 9 or
49 * testsuite/Makefile.in: Regenerated.
51 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
54 * testsuite/Makefile.am (justsyms_lib): Pass
55 -T $(srcdir)/justsyms_lib.t to gold.
56 * testsuite/Makefile.in: Regenerated.
57 * testsuite/justsyms_lib.t: New file.
58 * testsuite/script_test_10.t: Discard .note.gnu.property section.
60 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
62 * x86_64.cc (Target_x86_64::Target_x86_64): Initialize
63 feature_2_used_, feature_2_needed_ and object_feature_2_used_.
64 (Target_x86_64::feature_2_used_): New data member.
65 (Target_x86_64::feature_2_needed_): Likewise.
66 (Target_x86_64::object_isa_1_used_): Likewise.
67 (Target_x86_64::record_gnu_property): Support
68 GNU_PROPERTY_X86_COMPAT_ISA_1_USED,
69 GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED,
70 GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED,
71 GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED,
72 GNU_PROPERTY_X86_FEATURE_2_USED and
73 GNU_PROPERTY_X86_FEATURE_2_NEEDED.
74 (Target_x86_64::merge_gnu_properties): Merge FEATURE_2_USED bits.
75 Initialize object_feature_2_used_.
76 (Target_x86_64::do_finalize_gnu_properties): Support
77 GNU_PROPERTY_X86_FEATURE_2_USED and
78 GNU_PROPERTY_X86_FEATURE_2_NEEDED.
79 * testsuite/gnu_property_a.S (GNU_PROPERTY_X86_ISA_1_USED): Set
81 (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
82 * testsuite/gnu_property_b.S (GNU_PROPERTY_X86_ISA_1_USED): Set
84 (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
85 * testsuite/gnu_property_c.S (GNU_PROPERTY_X86_ISA_1_USED): Set
87 (GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
88 * testsuite/gnu_property_test.sh: Updated.
90 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
94 * layout.cc (Layout::attach_allocated_section_to_segment): Place
95 a note section in a PT_NOTE segment with the same alignment. Set
96 the alignment of the PT_NOTE segment from the alignment of the
98 (Layout::create_note): Align the NT_GNU_PROPERTY_TYPE_0 note to 8
100 (Layout::segment_precedes): Place segments with larger alignments
102 * output.cc (Output_segment::Output_segment): Initialize align_.
103 * output.h (Output_segment): Add align, set_align and align_.
104 * testsuite/Makefile.am (gnu_property_test.stdout): Pass -lhSWn
106 (gnu_property_test): Pass --build-id to ld.
107 * testsuite/Makefile.in: Regenerated.
108 * testsuite/gnu_property_test.sh (check_alignment): New.
109 Use check_alignment to check the NT_GNU_PROPERTY_TYPE_0 note
110 alignment. Verify that there are 2 PT_NOTE segments.
112 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
115 * x86_64.cc (Scan::local_reloc_may_be_function_pointer): Remove
116 check for shared library.
117 (Scan::global_reloc_may_be_function_pointer): Remove check for
118 shared library and symbol visibility.
119 * testsuite/icf_safe_so_test.cc (bar_static): New function.
120 (main): Take function address of bar_static and use it.
121 * testsuite/icf_safe_so_test.sh (arch_specific_safe_fold): Also
122 check fold on x86-64. Check bar_static isn't folded.
124 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
126 * icf.cc (Icf::find_identical_sections): Skip zero-sized sections.
128 2020-10-09 Alan Modra <amodra@gmail.com>
130 * powerpc.cc (Powerpc_relobj::do_relocate_sections): Don't do
131 local entry offset optimisation for lplt_section.
132 (Target_powerpc::Branch_info::make_stub): Don't add local
133 entry offset to long branch dest passed to
134 add_long_branch_entry. Do pass st_other bits.
135 (Stub_table::Branch_stub_ent): Add "other_" field.
136 (Stub_table::add_long_branch_entry): Add "other" param, and
138 (Stub_table::branch_stub_size): Adjust long branch offset.
139 (Stub_table::do_write): Likewise.
140 (Target_powerpc::Relocate::relocate): Likewise.
142 2020-10-09 Alan Modra <amodra@gmail.com>
144 * powerpc.cc (is_got_reloc): New function.
145 (Target_powerpc::Relocate::relocate): Use it here, exclude GOT
146 relocs when looking for stubs.
148 2020-10-08 H.J. Lu <hongjiu.lu@intel.com>
150 * testsuite/split_i386.sh: Updated for --split-stack-adjust-size
152 * testsuite/split_x86_64.sh: Likewise.
154 2020-10-08 Alan Modra <amodra@gmail.com>
156 * options.h (split_stack_adjust_size): Default to 0x100000.
158 2020-09-26 Alan Modra <amodra@gmail.com>
160 * powerpc.cc (Target_powerpc): Rename power10_stubs_ to
162 (Target_powerpc::set_power10_relocs): New accessor.
163 (Target_powerpc::set_power10_stubs): Delete.
164 (Target_powerpc::power10_stubs): Adjust.
165 (Target_powerpc::has_localentry0): New accessor.
166 (ld_0_11): New constant.
167 (glink_eh_frame_fde_64v1, glink_eh_frame_fde_64v2): Adjust.
168 (glink_eh_frame_fde_64v2_localentry0): New.
169 (Output_data_glink::pltresolve_size): Update.
170 (Output_data_glink::add_eh_frame): Use localentry0 version eh_frame.
171 (Output_data_glink::do_write): Move r2 save to start of ELFv2 stub
172 and only emit for has_localentry0. Don't use r2 in the stub.
173 (Target_powerpc::Scan::local, global): Adjust for
174 set_power10_relocs renaming.
175 (Target_powerpc::scan_relocs): Warn and reset plt_localentry0_.
177 2020-09-24 Alan Modra <amodra@gmail.com>
179 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip
180 first insn of __tls_get_addr_opt stub.
182 2020-08-24 Alan Modra <amodra@gmail.com>
184 * powerpc.cc (Target_powerpc): Add tprel_opt_ and accessors.
185 (Target_powerpc::Scan::local): Sanity check tprel high relocs.
186 (Target_powerpc::Scan::global): Likewise.
187 (Target_powerpc::Relocate::relocate): Control tprel optimisation
188 with tprel_opt_ and enable for 32-bit.
190 2020-08-12 Nick Clifton <nickc@redhat.com>
192 * po/sr.po: Updated Serbian translation.
194 2020-07-27 Alan Modra <amodra@gmail.com>
196 * options.h (DEFINE_enum): Add optional_arg__ param, adjust
198 (General_options): Add --power10-stubs and --no-power10-stubs.
199 * options.cc (General_options::parse_no_power10_stubs): New.
200 (General_options::finalize): Handle --power10-stubs.
201 * powerpc.cc (set_power10_stubs): Don't set when --power10-stubs=no.
202 (power10_stubs_auto): New.
203 (struct Plt_stub_ent): Add toc_ and tocoff_. Don't use a bitfield
205 (struct Branch_stub_ent): Add toc_and tocoff_. Use bitfields for
206 iter_, notoc_ and save_res_.
207 (add_plt_call_entry): Set toc_. Adjust resizing conditions for
208 --power10-stubs=auto.
209 (add_long_branch_entry): Set toc_.
210 (add_eh_frame, define_stub_syms): No longer use const_iterators
211 for plt and long branch stub iteration.
212 (build_tls_opt_head, build_tls_opt_tail): Change parameters and
213 return value. Move tests for __tls_get_addr to callers.
214 (plt_call_size): Handle --power10-stubs=auto.
215 (branch_stub_size): Likewise.
216 (Stub_table::do_write): Likewise.
217 (relocate): Likewise.
219 2020-07-19 H.J. Lu <hongjiu.lu@intel.com>
221 * testsuite/bnd_ifunc_1.sh: Updated.
222 * testsuite/bnd_plt_1.sh: Likewise.
223 * testsuite/split_x32.sh: Likewise.
224 * testsuite/split_x86_64.sh: Likewise.
225 * testsuite/x86_64_indirect_call_to_direct.sh: Likewise.
227 2020-07-08 Nick Clifton <nickc@redhat.com>
229 * testsuite/script_test_7.sh: Adjust expected address of the .bss
231 * testsuite/script_test_9.sh: Do not expect the .init section to
232 immediately follow the .text section in the mapping of sections to
235 2020-07-07 Nick Clifton <nickc@redhat.com>
237 * target-reloc.h: (Default_comdat_behaviour:get): Ignore discarded
238 relocs that refer to the .gnu.build.attributes section.
240 2020-07-06 Nick Clifton <nickc@redhat.com>
242 * po/fr.po: Updated French translation.
243 * po/uk.po: Updated Ukranian translation.
245 2020-07-04 Nick Clifton <nickc@redhat.com>
247 Binutils 2.35 branch created.
249 2020-07-03 Alan Modra <amodra@gmail.com>
252 * testsuite/Makefile.am (file_in_many_sections.stdout): Add -W
254 * testsuite/Makefile.in: Regenerate.
256 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
258 * configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
259 * configure: Regenerated.
260 * config.h.in: Likewise.
262 2020-06-24 Nick Clifton <nickc@redhat.com>
264 * target-reloc.h (issue_discarded_error): Initialise the
267 2020-06-23 Roland McGrath <mcgrathr@google.com>
270 * options.h (class General_options): Add --dependency-file option.
271 * fileread.cc (File_read::files_read): New static variable.
272 (File_read::open): Add the file to the files_read list.
273 (File_read::record_file_read): New static member function.
274 (File_read::write_dependency_file): New static member function.
275 * fileread.h (class File_read): Declare them.
276 * layout.cc (Layout::read_layout_from_file): Call record_file_read.
277 (Close_task_runner::run): Call write_dependency_file if
278 --dependency-file was passed.
280 2020-06-18 Fangrui Song <i@maskray.me>
283 * layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.
285 2020-06-16 Alan Modra <amodra@gmail.com>
287 * testsuite/discard_locals_test.c: Replace uses of asm with __asm__.
288 * testsuite/discard_locals_relocatable_test.c: Likewise.
290 2020-06-16 Alan Modra <amodra@gmail.com>
292 * testsuite/Makefile.am (export_dynamic_plugin.o): Use CXXCOMPILE.
293 (plugin_test_wrap_symbols_1.o): Likewise.
294 (plugin_test_wrap_symbols_2.o): Likewise.
295 * testsuite/Makefile.in: Regenerate.
297 2020-06-15 Roland McGrath <mcgrathr@google.com>
299 Implement -z start-stop-visibility=... option.
300 * options.h (class General_options): Handle -z start-stop-visibility=.
301 (General_options::start_stop_visibility_enum): New public method.
302 (General_options::set_start_stop_visibility_enum): New private method.
303 (General_options::start_stop_visibility_enum_): New private member.
304 * options.cc (General_options::General_options): Add initializer.
305 (General_options::finalize): Set this->start_stop_visibility_enum_
307 * layout.cc (Layout::define_section_symbols): Use option setting.
309 2020-06-06 Alan Modra <amodra@gmail.com>
311 * powerpc.cc: Update throughout for reloc renaming.
313 2020-05-22 Alan Modra <amodra@gmail.com>
316 * powerpc.cc (merge_object_attributes): Replace name param with
317 obj param. Update callers. Don't init FP attributes from shared
318 libraries, and do not emit an error if they don't match.
320 2020-05-15 Nikita Ermakov <coffe92@gmail.com>
322 * powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
324 2020-05-14 Nick Clifton <nickc@redhat.com>
326 * po/sr.po: New Serbian translation.
328 2020-05-11 Alan Modra <amodra@gmail.com>
330 * powerpc.cc: Rename powerxx to power10 throughout.
332 2020-05-02 H.J. Lu <hongjiu.lu@intel.com>
335 * testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New.
336 (common_test_1.o): New rule.
337 (common_test_2.o): Likewise.
338 (common_test_3.o): Likewise.
339 (plugin_common_test_1.o): Likewise.
340 (plugin_common_test_2.o): Likewise.
341 (common_test_1_v1.o): Likewise.
342 (common_test_1_v2.o): Likewise.
343 (common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS).
344 (common_test_3_pic.o): Likewise.
345 * testsuite/Makefile.in: Regenerated.
347 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
350 * x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
351 For x32, relax "rex leal foo@tlsdesc(%rip), %reg" to
352 "rex movl foo@gottpoff(%rip), %eax" and relax ""call *(%eax)"
354 (Target_x86_64<size>::Relocate::tls_desc_gd_to_le): For x32,
355 relax "rex leal foo@tlsdesc(%rip), %reg" to
356 "rex movl foo@tpoff, %eax" and relax "call *foo@tlscall(%eax)"
358 * testsuite/Makefile.am (tls_test_gnu2.o): Depend on
360 (tls_test_file2_gnu2.o): Likewise.
361 (tls_test_c_gnu2.o): Likewise.
362 * testsuite/Makefile.in: Regenerated.
364 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
367 * x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
368 Properly check r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
369 (Target_x86_64<size>::Relocate::tls_desc_gd_to_le): Properly
370 relax r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
371 * testsuite/Makefile.am (check_SCRIPTS): Add x86_64_gd_to_le.sh.
372 (check_DATA): Add x86_64_gd_to_le.stdout.
373 (MOSTLYCLEANFILES): Add x86_64_gd_to_le.
374 (x86_64_gd_to_le.o): New target.
375 (x86_64_gd_to_le): Likewise.
376 (x86_64_gd_to_le.stdout): Likewise.
377 * testsuite/Makefile.in: Regenerated.
378 * testsuite/x86_64_gd_to_le.s: New file.
379 * testsuite/x86_64_gd_to_le.sh: Likewise.
381 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
383 * testsuite/odr_violation2.cc (Ordering::operator()): Make
384 expression even more complex.
386 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
388 * testsuite/ver_test_pr16504.sh: Updated.
390 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
393 * x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment
394 plt_offset after setting the reserved TLSDESC PLT entry.
395 (Output_data_plt_x86_64_ibt<size>::do_write): Likewise.
397 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
400 * x86_64.cc (Output_data_plt_x86_64_bnd::do_address_for_local):
401 Handle local IFUNC symbol.
402 (Output_data_plt_x86_64_ibt::do_address_for_local): Likewise.
404 2020-03-19 Fangrui Song <maskray@google.com>
406 * options.h (General_options): Add --no-rosegment option.
408 2020-02-24 Nick Clifton <nickc@redhat.com>
410 * po/fr.po: Update French translation.
412 2020-01-20 Nick Clifton <nickc@redhat.com>
414 * po/uk.po: Updated Ukranian translation.
416 2020-01-18 Nick Clifton <nickc@redhat.com>
418 * configure: Regenerate.
419 * po/gold.pot: Regenerate.
421 2020-01-18 Nick Clifton <nickc@redhat.com>
423 Binutils 2.34 branch created.
425 2020-01-01 Alan Modra <amodra@gmail.com>
427 Update year range in copyright notice of all files.
429 For older changes see ChangeLog-2019
431 Copyright (C) 2020 Free Software Foundation, Inc.
433 Copying and distribution of this file, with or without modification,
434 are permitted in any medium without royalty provided the copyright
435 notice and this notice are preserved.
441 version-control: never