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