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