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