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