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