gold: Avoid sharing Plugin_list::iterator
[deliverable/binutils-gdb.git] / gold / ChangeLog
1 2020-11-08 H.J. Lu <hongjiu.lu@intel.com>
2
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.
8
9 2020-11-03 Alan Modra <amodra@gmail.com>
10
11 * powerpc.cc (Target_powerpc::tocsave_loc): Return a pointer.
12 (Target_powerpc::Relocate::relocate): Avoid -Wdangling-gsl error.
13
14 2020-11-03 Nick Gasson <nick.gasson@arm.com>
15
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.
22
23 2020-10-30 H.J. Lu <hongjiu.lu@intel.com>
24
25 * testsuite/gnu_property_test.sh: Updated.
26
27 2020-10-22 H.J. Lu <hongjiu.lu@intel.com>
28
29 * Makefile.am (bootstrap-test): Skip for LTO build.
30 (bootstrap-test-r): Likewise.
31
32 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
33
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.
44
45 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
46
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.
53
54 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
55
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.
83
84 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
85
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.
105
106 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
107
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.
117
118 2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
119
120 * icf.cc (Icf::find_identical_sections): Skip zero-sized sections.
121
122 2020-10-09 Alan Modra <amodra@gmail.com>
123
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.
135
136 2020-10-09 Alan Modra <amodra@gmail.com>
137
138 * powerpc.cc (is_got_reloc): New function.
139 (Target_powerpc::Relocate::relocate): Use it here, exclude GOT
140 relocs when looking for stubs.
141
142 2020-10-08 H.J. Lu <hongjiu.lu@intel.com>
143
144 * testsuite/split_i386.sh: Updated for --split-stack-adjust-size
145 default change.
146 * testsuite/split_x86_64.sh: Likewise.
147
148 2020-10-08 Alan Modra <amodra@gmail.com>
149
150 * options.h (split_stack_adjust_size): Default to 0x100000.
151
152 2020-09-26 Alan Modra <amodra@gmail.com>
153
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_.
170
171 2020-09-24 Alan Modra <amodra@gmail.com>
172
173 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip
174 first insn of __tls_get_addr_opt stub.
175
176 2020-08-24 Alan Modra <amodra@gmail.com>
177
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.
183
184 2020-08-12 Nick Clifton <nickc@redhat.com>
185
186 * po/sr.po: Updated Serbian translation.
187
188 2020-07-27 Alan Modra <amodra@gmail.com>
189
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.
212
213 2020-07-19 H.J. Lu <hongjiu.lu@intel.com>
214
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.
220
221 2020-07-08 Nick Clifton <nickc@redhat.com>
222
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.
228
229 2020-07-07 Nick Clifton <nickc@redhat.com>
230
231 * target-reloc.h: (Default_comdat_behaviour:get): Ignore discarded
232 relocs that refer to the .gnu.build.attributes section.
233
234 2020-07-06 Nick Clifton <nickc@redhat.com>
235
236 * po/fr.po: Updated French translation.
237 * po/uk.po: Updated Ukranian translation.
238
239 2020-07-04 Nick Clifton <nickc@redhat.com>
240
241 Binutils 2.35 branch created.
242
243 2020-07-03 Alan Modra <amodra@gmail.com>
244
245 PR 26028
246 * testsuite/Makefile.am (file_in_many_sections.stdout): Add -W
247 to readelf options.
248 * testsuite/Makefile.in: Regenerate.
249
250 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
251
252 * configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
253 * configure: Regenerated.
254 * config.h.in: Likewise.
255
256 2020-06-24 Nick Clifton <nickc@redhat.com>
257
258 * target-reloc.h (issue_discarded_error): Initialise the
259 key_symndx variable.
260
261 2020-06-23 Roland McGrath <mcgrathr@google.com>
262
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.
273
274 2020-06-18 Fangrui Song <i@maskray.me>
275
276 PR gold/26039
277 * layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.
278
279 2020-06-16 Alan Modra <amodra@gmail.com>
280
281 * testsuite/discard_locals_test.c: Replace uses of asm with __asm__.
282 * testsuite/discard_locals_relocatable_test.c: Likewise.
283
284 2020-06-16 Alan Modra <amodra@gmail.com>
285
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.
290
291 2020-06-15 Roland McGrath <mcgrathr@google.com>
292
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.
302
303 2020-06-06 Alan Modra <amodra@gmail.com>
304
305 * powerpc.cc: Update throughout for reloc renaming.
306
307 2020-05-22 Alan Modra <amodra@gmail.com>
308
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.
313
314 2020-05-15 Nikita Ermakov <coffe92@gmail.com>
315
316 * powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
317
318 2020-05-14 Nick Clifton <nickc@redhat.com>
319
320 * po/sr.po: New Serbian translation.
321
322 2020-05-11 Alan Modra <amodra@gmail.com>
323
324 * powerpc.cc: Rename powerxx to power10 throughout.
325
326 2020-05-02 H.J. Lu <hongjiu.lu@intel.com>
327
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.
340
341 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
342
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.
357
358 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
359
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.
374
375 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
376
377 * testsuite/odr_violation2.cc (Ordering::operator()): Make
378 expression even more complex.
379
380 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
381
382 * testsuite/ver_test_pr16504.sh: Updated.
383
384 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
385
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.
390
391 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
392
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.
397
398 2020-03-19 Fangrui Song <maskray@google.com>
399
400 * options.h (General_options): Add --no-rosegment option.
401
402 2020-02-24 Nick Clifton <nickc@redhat.com>
403
404 * po/fr.po: Update French translation.
405
406 2020-01-20 Nick Clifton <nickc@redhat.com>
407
408 * po/uk.po: Updated Ukranian translation.
409
410 2020-01-18 Nick Clifton <nickc@redhat.com>
411
412 * configure: Regenerate.
413 * po/gold.pot: Regenerate.
414
415 2020-01-18 Nick Clifton <nickc@redhat.com>
416
417 Binutils 2.34 branch created.
418
419 2020-01-01 Alan Modra <amodra@gmail.com>
420
421 Update year range in copyright notice of all files.
422
423 For older changes see ChangeLog-2019
424 \f
425 Copyright (C) 2020 Free Software Foundation, Inc.
426
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.
430
431 Local Variables:
432 mode: change-log
433 left-margin: 8
434 fill-column: 74
435 version-control: never
436 End:
This page took 0.037449 seconds and 5 git commands to generate.