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