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