3bcf6a7d96fa1437682c9b0a4fe4979df619da7a
[external/binutils.git] / gold / ChangeLog
1 2018-11-26  Alan Modra  <amodra@gmail.com>
2
3         * testsuite/ver_test_14.sh: Accept objdump -T display of st_other
4         bits on powerpc64le.
5
6 2018-11-08  Alan Modra  <amodra@gmail.com>
7
8         * Makefile.am (gcctestdir1/ld): Use $@ and absolute paths.
9         (gcctestdir1/collect-ld): New.
10         (ld1_DEPENDENCIES): Add gcctestdir1/collect-ld.
11         (ld1_LDFLAGS): Remove -Bgcctestdir1/.
12         (editcc1, ld1_LINK): Define.
13         (gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES),
14         (ld2_LDFLAGS, editcc2, ld2_LINK),
15         (ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK),
16         (gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES),
17         (ld2_r_LDFLAGS, editcc2r, ld2_r_LINK),
18         (gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES),
19         (ld3_LDFLAGS, editcc3, ld3_LINK),
20         (gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES),
21         (ld4_LDFLAGS, editcc4, ld4_LINK): Similarly.
22         * Makefile.in: Regenerate.
23         * testsuite/Makefile.am (editcc): Define sed command to put
24         our -B option first.  Remove other occurrences of -Bgcctestdir/
25         throughout file.
26         (editcc1): Define for -D_FORTIFY_SOURCE stripping.
27         (editcc2): Define for -static-libgcc/libstdc++ stripping.
28         (LINK1, CXXLINK1): Don't use CCLD or CXXLD.
29         (CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define
30         using editcc macros.
31         (gcctestdir/collect-ld): New rule, add as a dependency of..
32         (gcctestdir/ld): ..this.  Use $@ and abs_top_buildir.
33         (gcctestdir/as): Use $@.
34         * testsuite/Makefile.in: Regenerate.
35         * testsuite/incremental_test.sh (actual): Match collect-ld too.
36
37 2018-11-02  Alan Modra  <amodra@gmail.com>
38
39         * Makefile.am (MOSTLYCLEANFILES): Define.
40         * Makefile.in: Regnerate.
41         * testsuite/Makefile.am (MOSTLYCLEANFILES): Add ver_test_14 and
42         gnu_property_test.
43         * testsuite/Makefile.in: Regnerate.
44
45 2018-10-16  Cherry Zhang  <cherryyz@google.com>
46
47         PR 23769
48         * gold.cc (queue_middle_tasks): Correct split-stack error message.
49
50 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
51
52         * mips.cc (Mips_mach, add_machine_extensions, elf_mips_mach):
53         Rename loongson3a to gs464.
54         (mips_isa_ext_mach, mips_isa_ext): Delete loongson3a.
55         (infer_abiflags): Use ases instead of isa_ext for infer ABI
56         flags.
57         (elf_mips_mach_name): Rename loongson3a to gs464.
58
59 2018-07-10  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
60
61         * object.cc (Sized_relobj_file::map_to_kept_section): Initialize
62         kept_file.
63
64 2018-08-07  Cary Coutant  <ccoutant@gmail.com>
65
66         PR ld/23486
67         * x86_64.cc (Target_x86_64::Target_x86_64): Initialize
68         object_isa_1_used_.
69         (Target_x86_64::object_isa_1_used_): New data member.
70         (Target_x86_64::record_gnu_property): Save ISA_1_USED bits for object.
71         (Target_x86_64::merge_gnu_properties): Merge ISA_1_USED bits.
72
73 2018-08-06  Cary Coutant  <ccoutant@gmail.com>
74
75         PR gold/23455
76         * options.h (General_options): Add --warn-drop-version option.
77         * symtab.cc (Symbol_table::set_dynsym_indexes): Check it.
78
79 2018-08-06  Cary Coutant  <ccoutant@gmail.com>
80
81         * target.h (Sized_target::record_gnu_property): Change first two
82         parameters to unsigned int.
83         * x86_64.cc (Target_x86_64::record_gnu_property): Likewise.
84
85 2018-07-30  Nick Clifton  <nickc@redhat.com>
86
87         * layout.cc (section_name_mapping): Add an entry for
88         .gnu.build.attributes.
89
90 2018-07-18  Nick Clifton  <nickc@redhat.com>
91
92         * po/fr.po: Updated French translation.
93
94 2018-07-14  Cary Coutant  <ccoutant@gmail.com>
95
96         PR gold/23397
97         * object.cc (Sized_relobj_file::do_layout): Mark section as deferred.
98         * testsuite/Makefile.am (plugin_test_1): Add --emit-relocs option to
99         existing test case.
100         * testsuite/Makefile.in: Regenerate.
101
102 2018-07-14  Cary Coutant  <ccoutant@gmail.com>
103
104         PR gold/23409
105         * symtab.cc (Symbol_table::define_special_symbol): Add check for
106         version name on existing symbol.
107         * testsuite/Makefile.am (ver_test_pr23409): New test case.
108         * testsuite/Makefile.in: Regenerate.
109         * testsuite/ver_test_pr23409.sh: New test script.
110         * testsuite/ver_test_pr23409_1.script: New version script.
111         * testsuite/ver_test_pr23409_2.script: New version script.
112
113 2018-07-11  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
114
115         * main.cc (main): Print m.arena as long long.
116
117 2018-07-09  Cary Coutant  <ccoutant@gmail.com>
118
119         * incremental.cc (Sized_incremental_binary::setup_readers): Use
120         emplace_back for C++ 11 or later.
121
122 2018-07-06  Alan Modra  <amodra@gmail.com>
123
124         * powerpc.cc: Include attributes.h.
125         (Powerpc_relobj::attributes_section_data_): New variable, with
126         accessor and associated constructor and destructor support.
127         (Powerpc_dynobj::attributes_section_data_): Likewise.
128         (Powerpc_relobj::do_read_symbols): Stash SHT_GNU_ATTRIBUTES section
129         contents in attributes_section_data_.
130         (Powerpc_dynobj::do_read_symbols): Likewise.
131         (Target_powerpc): Add attributes_section_data_, last_fp_, last_ld_,
132         last_vec_, and last_struct_ vars.
133         (Target_powerpc::merge_object_attributes): New function.
134         (Target_powerpc::do_finalize_sections): Iterate over input objects
135         merging attributes.  Create output attributes section.
136
137 2018-06-26  Nick Clifton  <nickc@redhat.com>
138
139         * po/uk.po: Updated Ukranian translation.
140
141 2018-06-24  Nick Clifton  <nickc@redhat.com>
142
143         * po/gold.pot: Regenerate.
144
145 2018-06-24  Nick Clifton  <nickc@redhat.com>
146
147         2.31 branch created.
148
149 2018-06-23  Cary Coutant  <ccoutant@gmail.com>
150
151         * version.cc (version_string): Bump to 1.16.
152         * NEWS: Add new features in 1.16.
153
154 2018-06-23  Cary Coutant  <ccoutant@gmail.com>
155
156         PR gold/22914
157         * x86_64.cc (Target_x86_64::record_gnu_property): Initialize val.
158
159 2018-06-23  Cary Coutant  <ccoutant@gmail.com>
160
161         PR gold/22915
162         * x86_64.cc (Output_data_plt_x86_64_ibt): New class.
163         (Target_x86_64::do_make_data_plt): (All instantiations) Check for
164         IBT feature bit and create IBT PLTs.
165
166 2018-06-22  Cary Coutant  <ccoutant@gmail.com>
167
168         PR gold/22914
169         * layout.cc (read_sized_value): Fix spelling of section name.
170         (Layout::layout_gnu_property): Call Sized_target::record_gnu_property
171         for target-specific properties;
172         don't store them with target-independent properties yet.
173         (Layout::merge_gnu_properties): New method.
174         (Layout::add_gnu_property): New method.
175         (Layout::create_gnu_properties_note): Call target to finalize
176         target-specific properties. Fix spelling of output section name.
177         * layout.h (Layout::merge_gnu_properties): New method.
178         (Layout::add_gnu_property): New method.
179         * object.cc (Sized_relobj_file::do_layout): Call
180         Layout::merge_gnu_properties.
181         * target.h (Target::merge_gnu_property): Remove.
182         (Target::finalize_gnu_properties): New method.
183         (Target::do_merge_gnu_property): Move to Sized_target and rename.
184         (Target::do_finalize_gnu_properties): New virtual method.
185         (Sized_target::record_gnu_property): Moved and renamed from
186         Target::do_merge_gnu_property.
187         (Sized_target::merge_gnu_properties): New virtual method.
188         * x86_64.cc (Target_x86_64::isa_1_used_, isa_1_needed_)
189         (feature_1_, object_feature_1_, seen_first_object_): New data members.
190         (Target_x86_64::do_merge_gnu_property): Rename to ...
191         (Target_x86_64::record_gnu_property): ... this.  Save target-specific
192         properties in Target class object.
193         (Target_x86_64::merge_gnu_properties): New method.
194         (add_property): New static inline function.
195         (Target_x86_64::do_finalize_gnu_properties): New method.
196         * testsuite/Makefile.am (gnu_property_test): Remove C source file;
197         link directly without compiler driver.
198         * testsuite/Makefile.in: Regenerate.
199         * testsuite/gnu_property_a.S: Add _start.
200
201 2018-06-22  Cary Coutant  <ccoutant@gmail.com>
202
203         * incremental.cc (Sized_incremental_binary::setup_readers): Use
204         emplace_back for GCC 5 and later.
205         * incremental.h (Incremental_binary::Input_reader): Provide copy
206         constructor.
207         (Sized_incremental_binary::Sized_input_reader): Likewise.
208
209 2018-06-22  Cary Coutant  <ccoutant@gmail.com>
210
211         PR gold/22914
212         * layout.cc (Layout::Layout): Initialize gnu_properties_.
213         (read_sized_value, write_sized_value): New functions.
214         (Layout::layout_gnu_property): New method.
215         (Layout::create_notes): Call create_gnu_properties_note.
216         (Layout::create_gnu_properties_note): New method.
217         * layout.h (Layout::layout_gnu_property): New method.
218         (Layout::create_gnu_properties_note): New method.
219         (Layout::Gnu_property, Layout::Gnu_properties): New types.
220         (Layout::gnu_properties_): New data member.
221         * object.cc (Sized_relobj_file::layout_gnu_property_section): New
222         method.
223         (Sized_relobj_file::do_layout): Handle .note.gnu.property sections.
224         * object.h (Sized_relobj_file::layout_gnu_property_section): New
225         method.
226         * target.h (Target::merge_gnu_property): New method.
227         (Target::do_merge_gnu_property): New virtual method.
228         * x86_64.cc (Target_x86_64::do_merge_gnu_property): New method.
229         * testsuite/Makefile.am (gnu_property_test): New test case.
230         * testsuite/Makefile.in: Regenerate.
231         * testsuite/gnu_property_a.S: New source file.
232         * testsuite/gnu_property_b.S: New source file.
233         * testsuite/gnu_property_c.S: New source file.
234         * testsuite/gnu_property_main.c: New source file.
235         * testsuite/gnu_property_test.sh: New test script.
236
237 2018-06-21  Cary Coutant  <ccoutant@gmail.com>
238
239         * resolve.cc (Symbol_table::resolve): Rename tobinding to
240         orig_tobinding.  Call set_is_needed() for objects that resolve
241         non-weak references.
242         (Symbol_table::should_override): Allow a dynamic definition to
243         override an earlier one in a not-needed library.
244         * symtab.cc (Symbol_table::set_dynsym_indexes): Remove separate
245         processing for as-needed symbols.  Add warning when discarding
246         version informatin.
247         * testsuite/Makefile.am (weak_as_needed): New test case.
248         * testsuite/Makefile.in: Regenerate.
249         * testsuite/weak_as_needed.sh: New test script.
250         * testsuite/weak_as_needed_a.c: New source file.
251         * testsuite/weak_as_needed_b.c: New source file.
252         * testsuite/weak_as_needed_b.script: New version script.
253         * testsuite/weak_as_needed_c.c: New source file.
254         * testsuite/weak_as_needed_c.script: New version script.
255
256 2018-06-20  Cary Coutant  <ccoutant@gmail.com>
257
258         PR gold/23268
259         * dynobj.cc (Versions::Versions): Change init for needs_base_version_.
260         (Versions::record_version): Add verdefs for both shared objects and
261         executables.
262         (Versions::add_def): Likewise for base version.
263         (Versions::add_need): Don't add base version for executables.
264         (Versions::version_index): Look up version for both shared objects and
265         executables.
266         * testsuite/Makefile.am (ver_test_14): New test case.
267         * testsuite/Makefile.in: Regenerate.
268         * testsuite/ver_test_14.script: New version script.
269         * testsuite/ver_test_14.sh: New test script.
270
271 2018-06-19  Joshua Watt  <jpewhacker@gmail.com>
272             Cary Coutant  <ccoutant@gmail.com>
273
274         * configure.ac: Replace manual thread configuration with AX_PTHREAD.
275         Add --enable-threads=auto.
276         * Makefile.am (THREADFLAGS, THREADLIBS): New defines.
277         (AM_CFLAGS, AM_CXXFLAGS): Add $(THREADFLAGS).
278         (THREADSLIB): Remove; change all references to THREADLIBS.
279         * Makefile.in: Regenerate.
280         * aclocal.m4: Regenerate.
281         * config.in: Regenerate.
282         * configure: Regenerate.
283         * testsuite/Makefile.am (THREADSLIB): Replace with...
284         (THREADFLAGS, THREADLIBS): ... these.
285         (LDADD): Remove; add as individual defines for...
286         (object_unittest, binary_unittest, leb128_unittest)
287         (overflow_unittest): ... these tests.
288         (tls_test, tls_pic_test, tls_pie_test, tls_pie_pic_test)
289         (tls_shared_test, tls_shared_ie_test, tls_shared_gd_to_ie_test)
290         (tls_shared_gnu2_gd_to_ie_test, tls_shared_gnu2_test_LDFLAGS)
291         (tls_shared_nonpic_test_LDFLAGS): Add $(THREADFLAGS) and ($THREADLIBS).
292         * testsuite/Makefile.in: Regenerate.
293
294 2018-06-19  Cary Coutant  <ccoutant@gmail.com>
295
296         * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr.
297         * testsuite/Makefile.in: Regenerate.
298
299 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
300
301         * configure.ac: Remove AC_PREREQ, add missing quoting and usage
302         of AC_LANG_SOURCE.
303         * Makefile.in: Re-generate.
304         * aclocal.m4: Re-generate.
305         * configure: Re-generate.
306         * testsuite/Makefile.in: Re-generate.
307
308 2018-05-10  Stephen Crane  <sjc@immunant.com>
309
310         * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of
311         .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation.
312
313 2018-04-24  Cary Coutant  <ccoutant@gmail.com>
314
315         PR gold/20642
316         PR gold/22820
317         * gc.h (gc_process_relocs): Flag STT_SECTION symbols in symvec.
318         * icf.cc (get_section_contents): For merge sections, ignore the
319         addend for relocations against non-section symbols.
320
321 2018-04-24  Cary Coutant  <ccoutant@gmail.com>
322
323         PR gold/16504
324         * dynobj.cc (Versions::symbol_section_contents): Don't set
325         VERSYM_HIDDEN flag for undefined symbols.
326         * symtab.cc (Symbol_table::add_from_object): Don't override default
327         version definition with a different default version.
328         * symtab.h (Symbol::from_dyn): New method.
329         * testsuite/plugin_test.c (struct sym_info): Add ver field.
330         (claim_file_hook): Pass symbol version to plugin API.
331         (parse_readelf_line): Parse symbol version.
332         * testsuite/Makefile.am (ver_test_pr16504): New test case.
333         * testsuite/Makefile.in: Regenerate.
334         * testsuite/ver_test_pr16504.sh: New test script.
335         * testsuite/ver_test_pr16504_a.c: New source file.
336         * testsuite/ver_test_pr16504_a.script: New version script.
337         * testsuite/ver_test_pr16504_b.c: New source file.
338         * testsuite/ver_test_pr16504_b.script: New version script.
339
340 2018-04-19  Cary Coutant  <ccoutant@gmail.com>
341
342         PR gold/23046
343         * gc.h (gc_process_relocs): Pass target to
344         scan.local_reloc_may_be_function_pointer.
345
346 2018-04-18  Nick Clifton  <nickc@redhat.com>
347
348         * po/es.po: Updated Spanish translation.
349
350 2018-04-14  Cary Coutant  <ccoutant@gmail.com>
351
352         PR gold/23046
353         * gc.h (gc_process_relocs): Pass target to
354         scan.global_reloc_may_be_function_pointer.
355
356 2018-04-09  Alan Modra  <amodra@gmail.com>
357
358         * configure: Regenerate.
359
360 2018-04-09  Alan Modra  <amodra@gmail.com>
361
362         * powerpc.cc (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call):
363         Handle inline plt sequence relocs.
364         (Stub_table::Plt_stub_key::Plt_stub_key): Likewise.
365         (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise.
366         (Target_powerpc::Relocate::relocate): Likewise.
367
368 2018-04-09  Alan Modra  <amodra@gmail.com>
369
370         * powerpc.cc (Target_powerpc::lplt_): New variable.
371         (Target_powerpc::lplt_section): Associated accessor.
372         (Target_powerpc::plt_off): Handle local non-ifunc symbols.
373         (Target_powerpc::make_lplt_section): New function.
374         (Target_powerpc::make_local_plt_entry): New function.
375         (Powerpc_relobj::do_relocate_sections): Write out lplt.
376         (Output_data_plt_powerpc::first_plt_entry_offset): Zero for lplt.
377         (Output_data_plt_powerpc::add_local_entry): New function.
378         (Output_data_plt_powerpc::do_write): Ignore lplt.
379         (Target_powerpc::make_iplt_section): Make lplt first.
380         (Target_powerpc::make_brlt_section): Make .branch_lt relro.
381         (Target_powerpc::Scan::local): Handle PLT16 relocs.
382
383 2018-04-09  Alan Modra  <amodra@gmail.com>
384
385         * powerpc.cc (Target_powerpc::plt_off): New functions.
386         (is_plt16_reloc): New function.
387         (Stub_table::plt_off): Use Target_powerpc::plt_off.
388         (Stub_table::plt_call_size): Use plt_off.
389         (Stub_table::do_write): Likewise.
390         (Target_powerpc::Scan::get_reference_flags): Return RELATIVE_REF
391         for PLT16 relocations.
392         (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Return true
393         for PLT16 relocations.
394         (Target_powerpc::Scan::global): Make a PLT entry for PLT16 relocations.
395         (Target_powerpc::Relocate::relocate): Support PLT16 relocations.
396         (Powerpc_scan_relocatable_reloc::global_strategy): Return RELOC_SPECIAL
397         for ppc32 plt16 relocs.
398
399 2018-04-06  Cary Coutant  <ccoutant@gmail.com>
400
401         * object.cc (Sized_relobj_file::include_section_group): Store
402         reference to Kept_section info for discarded comdat sections
403         regardless of size.  Move size checking to map_to_kept_section.
404         (Sized_relobj_file::include_linkonce_section): Likewise.
405         (Sized_relobj_file::map_to_kept_section): Add section name parameter.
406         Insert size checking logic from above functions.
407         (Sized_relobj_file::find_kept_section_object): New method.
408         (Sized_relobj_file::get_symbol_name): New method.
409         * object.h (Sized_relobj_file::map_to_kept_section): Add section_name
410         parameter.  Adjust all callers.
411         (Sized_relobj_file::find_kept_section_object): New method.
412         (Sized_relobj_file::get_symbol_name): New method.
413         (Sized_relobj_file::Kept_comdat_section): Replace object and shndx
414         fields with sh_size, kept_section, symndx, and is_comdat fields.
415         (Sized_relobj_file::set_kept_comdat_section): Replace kept_object
416         and kept_shndx parameters with is_comdat, symndx, sh_size, and
417         kept_section.
418         (Sized_relobj_file::get_kept_comdat_section): Likewise.
419         * target-reloc.h (enum Comdat_behavior): Change CB_WARNING to CB_ERROR.
420         Adjust all references.
421         (issue_undefined_symbol_error): New function template.
422         (relocate_section): Pass section name to map_to_kept_section.
423         Move discarded section code to new function above.
424         * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Move
425         declaration for gsym out one level.  Call issue_discarded_error.
426         * arm.cc (Target_arm::scan_reloc_section_for_stubs): Likewise.
427         * powerpc.cc (Relocate_comdat_behavior): Change CB_WARNING to CB_ERROR.
428
429 2018-04-05  Cary Coutant  <ccoutant@gmail.com>
430
431         * target-reloc.h (relocate_section): Add local symbol index or global
432         symbol name to warning about relocation that refers to discarded
433         section.
434
435 2018-04-05  James Cowgill  <james.cowgill@mips.com>
436
437         Revert previous patch and apply revised patch.
438
439         PR gold/22770
440         * mips.cc (Mips_got_info::record_got_page_entry): Don't insert
441         Got_page_entry for object's GOT.
442         (Mips_got_info::add_got_page_entries): Add all pages from from's GOT.
443         Rename to add_got_page_count.
444         (Got_page_entry): Remove num_pages.
445
446 2018-04-05  James Cowgill  <james.cowgill@mips.com>
447
448         PR gold/22770
449         * mips.cc (Mips_got_info::record_got_page_entry): Fetch existing
450         page entries for the object's GOT.
451
452 2018-04-05  Alan Modra  <amodra@gmail.com>
453
454         * powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro.
455
456 2018-04-04  Nick Clifton  <nickc@redhat.com>
457
458         * po/es.po: Updated Spanish translation.
459
460 2018-04-02  Cary Coutant  <ccoutant@gmail.com>
461
462         PR gold/23016
463         * incremental.cc (can_incremental_update): Check for unwind section
464         type.
465         * layout.h (Layout::layout): Add sh_type parameter.
466         * layout.cc (Layout::layout): Likewise.
467         (Layout::layout_reloc): Create new output reloc section if data
468         section does not already have one.
469         (Layout::layout_eh_frame): Check for unwind section type.
470         (Layout::make_eh_frame_section): Use unwind section type for .eh_frame
471         and .eh_frame_hdr.
472         * object.h (Sized_relobj_file::Shdr_write): New typedef.
473         (Sized_relobj_file::layout_section): Add sh_type parameter.
474         (Sized_relobj_file::Deferred_layout::Deferred_layout): Add sh_type
475         parameter.
476         * object.cc (Sized_relobj_file::check_eh_frame_flags): Check for
477         unwind section type.
478         (Sized_relobj_file::layout_section): Add sh_type parameter; pass it
479         to Layout::layout.
480         (Sized_relobj_file::do_layout): Make local copy of sh_type.
481         Force .eh_frame sections to unwind section type.
482         Pass sh_type to layout_section.
483         (Sized_relobj_file<size, big_endian>::do_layout_deferred_sections):
484         Pass sh_type to layout_section.
485         * output.cc (Output_section::Output_section): Initialize reloc_section_.
486         * output.h (Output_section::reloc_section): New method.
487         (Output_section::set_reloc_section): New method.
488         (Output_section::reloc_section_): New data member.
489         * target.h (Target::unwind_section_type): New method.
490         (Target::Target_info::unwind_section_type): New data member.
491
492         * aarch64.cc (aarch64_info): Add unwind_section_type.
493         * arm.cc (arm_info, arm_nacl_info): Likewise.
494         * i386.cc (i386_info, i386_nacl_info, iamcu_info): Likewise.
495         * mips.cc (mips_info, mips_nacl_info): Likewise.
496         * powerpc.cc (powerpc_info): Likewise.
497         * s390.cc (s390_info): Likewise.
498         * sparc.cc (sparc_info): Likewise.
499         * tilegx.cc (tilegx_info): Likewise.
500         * x86_64.cc (x86_64_info, x86_64_nacl_info): Likewise.
501
502         * testsuite/Makefile.am (pr23016_1, pr23016_2): New test cases.
503         * testsuite/Makefile.in: Regenerate.
504         * testsuite/testfile.cc: Add unwind_section_type.
505         * testsuite/pr23016_1.sh: New test script.
506         * testsuite/pr23016_1a.s: New source file.
507         * testsuite/pr23016_1b.s: New source file.
508         * testsuite/pr23016_2.sh: New test script.
509         * testsuite/pr23016_2a.s: New source file.
510         * testsuite/pr23016_2b.s: New source file.
511
512 2018-03-28  Cary Coutant  <ccoutant@gmail.com>
513
514         PR gold/21423
515         PR gold/22500
516         * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
517         Replace check for --enable-plugins with AC_PLUGINS.
518         * options.cc (parse_plugin, parse_plugin_opt): Remove #ifdef.
519         (General_options::finalize): Check if plugins enabled.
520         * options.h (--plugin, --plugin-opt): Define even if plugins not
521         enabled.
522         * Makefile.in: Regenerate.
523         * aclocal.m4: Regenerate.
524         * configure: Regenerate.
525         * testsuite/Makefile.in: Regenerate.
526
527 2018-03-28  Cary Coutant  <ccoutant@gmail.com>
528
529         PR gold/22969
530         * aarch64-reloc.def: Add TLSLE_LDST* relocations.
531         * aarch64.cc (Target_aarch64::optimize_tls_reloc): Likewise.
532         (Target_aarch64::Scan::local): Likewise.
533         (Target_aarch64::Scan::global): Likewise.
534         (Target_aarch64::Relocate::relocate): Likewise.
535         (Target_aarch64::Relocate::relocate_tls): Likewise.
536
537 2018-03-27  Roland McGrath  <mcgrathr@google.com>
538
539         * testsuite/split_x86_64.sh: Fix bad regexp.
540
541 2018-03-26  Cary Coutant  <ccoutant@gmail.com>
542
543         PR gold/22868
544         * plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section
545         index instead of SHN_ABS for defined symbols.
546         * testsuite/Makefile.am (plugin_pr22868): New test case.
547         * testsuite/Makefile.in: Regenerate
548         * testsuite/plugin_pr22868.sh: New test script.
549         * testsuite/plugin_pr22868_a.c: New source file.
550         * testsuite/plugin_pr22868_b.c: New source file.
551
552 2018-03-23  Cary Coutant  <ccoutant@gmail.com>
553
554         * plugin.cc (link_or_copy_file): Remove newlines from warning messages.
555         Add pedantic check for return value from ::write.
556
557 2018-03-23  Cary Coutant  <ccoutant@gmail.com>
558
559         * debug.h (DEBUG_PLUGIN): New constant.
560         (DEBUG_ALL): Add DEBUG_PLUGIN.
561         (debug_string_to_enum): Likewise.
562         * plugin.cc (make_sized_plugin_object): Add filename parameter.
563         (Plugin_recorder): New class.
564         (Plugin_manager::~Plugin_manager): Delete recorder_.
565         (Plugin_manager::load_plugins): Create and initialize recorder_.
566         (Plugin_manager::claim_file): Record claimed and unclaimed files.
567         (Plugin_manager::make_plugin_object): Use object name as name for
568         plugin object, if available.
569         (Plugin_manager::add_input_file): Record replacement files.
570         (Sized_pluginobj::do_add_symbols): Record plugin symbols.
571         (Plugin_finish::run): Call Plugin_recorder::finish().
572         (make_sized_plugin_object): Add filename parameter and pass to
573         Sized_pluginobj constructor.
574         * plugin.h (Plugin::filename): New method.
575         (Plugin::recorder): New method.
576         (Plugin::recorder_): New data member.
577
578 2018-03-07  Sriraman Tallam  <tmsriram@google.com>
579
580         * layout.cc (Layout::default_section_order): Check for text section
581         prefixes.
582         (Layout::text_section_name_mapping): New static member.
583         (Layout::text_section_name_mapping_count): New static member.
584         (Layout::match_section_name): New static function.
585         (Layout::output_section_name): Check for text section prefixes.
586         * layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value.
587         (Output_section_order::ORDER_TEXT_STARTUP): New enum value.
588         (Output_section_order::ORDER_TEXT_EXIT): New enum value.
589         (Output_section_order::ORDER_TEXT_UNLIKELY): New enum value.
590         (Layout::text_section_name_mapping): New static member.
591         (Layout::text_section_name_mapping_count): New static member.
592         (Layout::match_section_name): New static function.
593         * options.h (keep_text_section_prefix): New -z option.
594         * testsuite/Makefile.am (keep_text_section_prefix): New test.
595         * testsuite/Makefile.in: Regenerate.
596         * testsuite/keep_text_section_prefix.cc: New test source.
597         * testsuite/keep_text_section_prefix.sh: New test script.
598
599 2018-02-22  Sriraman Tallam  <tmsriram@google.com>
600
601         * plugin.cc (get_wrap_symbols): New plugin interface.
602         (load): Add get_wrap_symbols to transfer vector.
603         * plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
604         * testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
605         interface.
606         * testsuite/plugin_test_wrap_symbols.sh: New test script.
607         * testsuite/plugin_test_wrap_symbols_1.cc: New file.
608         * testsuite/plugin_test_wrap_symbols_2.cc: New file.
609         * testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
610         * testsuite/Makefile.in: Regenerate.
611
612 2018-02-07  Sriraman Tallam  <tmsriram@google.com>
613
614         * expression.cc (Symbol_expression::set_expr_sym_in_real_elf):
615         New method.
616         (Unary_expression::set_expr_sym_in_real_elf): New method.
617         (Binary_expression::set_expr_sym_in_real_elf): New method.
618         (Trinary_expression::set_expr_sym_in_real_elf): New method.
619         * plugin.cc (get_symbol_resolution_info): Fix symbol resolution if
620         defined or used in defsyms.
621         * plugin.h (Plugin_manager::is_defsym_def): New method.
622         (Plugin_manager::Plugin_manager): Initialize defsym_defines_set_.
623         (Plugin_manager::defsym_defines_set_): New member.
624         (Plugin_manager::Defsym_defines_set): New typedef.
625         * script.cc (Script_options::set_defsym_uses_in_real_elf): New method.
626         (Script_options::find_defsym_defs): New method.
627         * script.h (Expression::set_expr_sym_in_real_elf): New method.
628         (Symbol_assignment::is_defsym): New method.
629         (Symbol_assignment::value): New method.
630         (Script_options::find_defsym_defs): New method.
631         (Script_options::set_defsym_uses_in_real_elf): New method.
632         * testsuite/Makefile.am (plugin_test_defsym): New test.
633         * testsuite/Makefile.in: Regenerate.
634         * testsuite/plugin_test.c: Check for new symbol resolution.
635         * testsuite/plugin_test_defsym.sh: New script.
636         * testsuite/plugin_test_defsym.c: New test source.
637
638 2018-02-07  Alan Modra  <amodra@gmail.com>
639
640         Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
641         * options.h: Remove --speculate-indirect-jumps support.
642         * powerpc.cc: Likewise.
643
644 2018-02-02  Cary Coutant  <ccoutant@gmail.com>
645
646         * PR gold/22776
647         * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): Add
648         support for DWARF-4 line number tables.
649         * dwarf_reader.h (Sized_dwarf_line_info::max_ops_per_insn): New field.
650
651 2018-01-18  Alan Modra  <amodra@gmail.com>
652
653         * powerpc.cc (param_plt_align): New function supplying default
654         --plt-align values.  Use it..
655         (Stub_table::plt_call_align): ..here, and..
656         (Output_data_glink::global_entry_align): ..here.
657         (Stub_table::stub_align): Correct 32-bit minimum alignment.
658
659 2018-01-17  Alan Modra  <amodra@gmail.com>
660
661         * options.h (speculate_indirect_jumps): New option.
662         * powerpc.cc (beqctrm, beqctrlm, crseteq): New insn constants.
663         (output_bctr): New function.
664         (Stub_table::plt_call_size): Add space for speculation barrier.
665         (Stub_table::branch_stub_size): Likewise.
666         (Output_data_glink::pltresolve_size): Likewise.
667         (Stub_table::do_write): Output speculation barriers.
668
669 2018-01-17  Alan Modra  <amodra@gmail.com>
670
671         * options.h (plt_align): Support for PowerPC32 too.
672         * powerpc.cc (Stub_table::stub_align): Heed --plt-align for 32-bit.
673         (Stub_table::plt_call_size, branch_stub_size): Tidy.
674         (Stub_table::plt_call_align): Implement using stub_align.
675         (Output_data_glink::global_entry_align): New function.
676         (Output_data_glink::global_entry_off): New function.
677         (Output_data_glink::global_entry_address): Use global_entry_off.
678         (Output_data_glink::pltresolve_size): New function, replacing
679         pltresolve_size_ constant.  Update all uses.
680         (Output_data_glink::add_global_entry): Align offset.
681         (Output_data_glink::set_final_data_size): Use global_entry_align.
682         (Stub_table::do_write): Don't pad __glink_PLTrelsolve with nops.
683         Tidy stub output.  Use global_entry_off.
684
685 2018-01-15  Cary Coutant  <ccoutant@gmail.com>
686
687         PR gold/22694
688         * options.h (-fuse-ld): Add correct helparg.
689
690 2018-01-15  Nick Clifton  <nickc@redhat.com>
691
692         * po/uk.po: Updated Ukranian translation.
693
694 2018-01-13  Nick Clifton  <nickc@redhat.com>
695
696         * po/gold.pot: Regenerated.
697
698 2018-01-13  Nick Clifton  <nickc@redhat.com>
699
700         2.30 branch created.
701
702 2018-01-12  Cary Coutant  <ccoutant@gmail.com>
703
704         * NEWS: Add new features in 1.15.
705         * version.cc (version_string): Bump to 1.15.
706
707 2018-01-12  Sterling Augustine  <saugustine@google.com>
708
709         * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
710         conditionals and calls to is_forwarder.
711
712 2018-01-03  Alan Modra  <amodra@gmail.com>
713
714         Update year range in copyright notice of all files.
715
716 For older changes see ChangeLog-2017
717 \f
718 Copyright (C) 2018 Free Software Foundation, Inc.
719
720 Copying and distribution of this file, with or without modification,
721 are permitted in any medium without royalty provided the copyright
722 notice and this notice are preserved.
723
724 Local Variables:
725 mode: change-log
726 left-margin: 8
727 fill-column: 74
728 version-control: never
729 End: