Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2018-02-17 Alan Modra <amodra@gmail.com>
2
3 PR 22845
4 * elf.c (assign_file_positions_for_non_load_sections): Ignore
5 degenerate zero size PT_LOAD segments when finding one overlapping
6 the PT_GNU_RELRO segment.
7
8 2018-02-16 Alan Modra <amodra@gmail.com>
9
10 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
11 (_bfd_bool_bfd_true): Rename from bfd_true.
12 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
13 (_bfd_int_bfd_0): Rename from bfd_0.
14 (_bfd_uint_bfd_0): Rename from bfd_0u.
15 (_bfd_long_bfd_0): Rename from bfd_0l.
16 (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
17 (_bfd_void_bfd): Rename from bfd_void.
18 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
19 (_bfd_bool_bfd_link_false_error),
20 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
21 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
22 (_bfd_bool_bfd_asection_bfd_asection_true),
23 (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
24 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
25 * archive.c (_bfd_noarchive_get_elt_at_index),
26 (_bfd_noarchive_openr_next_archived_file),
27 (_bfd_noarchive_construct_extended_name_table),
28 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
29 (_bfd_noarchive_write_armap): New functions.
30 * archures.c (_bfd_nowrite_set_arch_mach): New function.
31 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
32 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
33 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
34 (alpha_ecoff_swap_coff_lineno_out),
35 (alpha_ecoff_swap_coff_reloc_out): New functions.
36 * coff-mips.c (mips_ecoff_swap_coff_aux_in),
37 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
38 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
39 (mips_ecoff_swap_coff_lineno_out),
40 (mips_ecoff_swap_coff_reloc_out): New functions.
41 * coffcode.h (coff_set_alignment_hook): Replace define with
42 new function.
43 (symname_in_debug_hook): Likewise.
44 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
45 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
46 * elf.c (assign_file_positions_except_relocs): Test
47 elf_backend_allow_non_load_phdr for NULL.
48 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
49 _bfd_elf_link_omit_section_dynsym. Update uses.
50 (_bfd_elf_omit_section_dynsym_all): New function.
51 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
52 (_bfd_elf_omit_section_dynsym_default): Declare.
53 (_bfd_elf_omit_section_dynsym_all): Declare.
54 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
55 (_bfd_nolink_bfd_get_relocated_section_contents),
56 (_bfd_nolink_bfd_lookup_section_flags),
57 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
58 (_bfd_nolink_bfd_link_hash_table_create),
59 (_bfd_nolink_bfd_link_just_syms),
60 (_bfd_nolink_bfd_copy_link_hash_symbol_type),
61 (_bfd_nolink_bfd_link_split_section),
62 (_bfd_nolink_section_already_linked),
63 (_bfd_nolink_bfd_define_common_symbol),
64 (_bfd_nolink_bfd_define_start_stop): New functions.
65 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
66 (_bfd_norelocs_bfd_reloc_name_lookup),
67 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
68 * section.c (_bfd_nowrite_set_section_contents): New function.
69 * syms.c (_bfd_nosymbols_canonicalize_symtab),
70 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
71 (_bfd_nosymbols_get_symbol_version_string),
72 (_bfd_nosymbols_bfd_is_local_label_name),
73 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
74 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
75 (_bfd_nosymbols_bfd_make_debug_symbol),
76 ( _bfd_nosymbols_read_minisymbols),
77 ( _bfd_nosymbols_minisymbol_to_symbol),
78 (_bfd_nodynamic_get_synthetic_symtab): New functions.
79 * libbfd-in.h: Declare new functions. Update existing defines,
80 removing casts.
81 * aix386-core.c: Update to use new hooks. Formatting.
82 * aout-adobe.c: Likewise.
83 * aout-arm.c: Likewise.
84 * aout-target.h: Likewise.
85 * aout-tic30.c: Likewise.
86 * aoutf1.h: Likewise.
87 * binary.c: Likewise.
88 * bout.c: Likewise.
89 * cisco-core.c: Likewise.
90 * coff-alpha.c: Likewise.
91 * coff-i386.c: Likewise.
92 * coff-i860.c: Likewise.
93 * coff-i960.c: Likewise.
94 * coff-ia64.c: Likewise.
95 * coff-mips.c: Likewise.
96 * coff-ppc.c: Likewise.
97 * coff-rs6000.c: Likewise.
98 * coff-sh.c: Likewise.
99 * coff-tic30.c: Likewise.
100 * coff-tic54x.c: Likewise.
101 * coff-x86_64.c: Likewise.
102 * coff64-rs6000.c: Likewise.
103 * coffcode.h: Likewise.
104 * elf-m10300.c: Likewise.
105 * elf32-cr16.c: Likewise.
106 * elf32-lm32.c: Likewise.
107 * elf32-m32r.c: Likewise.
108 * elf32-metag.c: Likewise.
109 * elf32-score.c: Likewise.
110 * elf32-score7.c: Likewise.
111 * elf32-tilepro.c: Likewise.
112 * elf32-xstormy16.c: Likewise.
113 * elf32-xtensa.c: Likewise.
114 * elf64-alpha.c: Likewise.
115 * elf64-hppa.c: Likewise.
116 * elf64-ia64-vms.c: Likewise.
117 * elf64-mmix.c: Likewise.
118 * elf64-sh64.c: Likewise.
119 * elfnn-ia64.c: Likewise.
120 * elfxx-sparc.c: Likewise.
121 * elfxx-target.h: Likewise.
122 * elfxx-tilegx.c: Likewise.
123 * elfxx-x86.h: Likewise.
124 * hp300hpux.c: Likewise.
125 * hppabsd-core.c: Likewise.
126 * hpux-core.c: Likewise.
127 * i386msdos.c: Likewise.
128 * i386os9k.c: Likewise.
129 * ieee.c: Likewise.
130 * ihex.c: Likewise.
131 * irix-core.c: Likewise.
132 * libaout.h: Likewise.
133 * libecoff.h: Likewise.
134 * mach-o-target.c: Likewise.
135 * mach-o.c: Likewise.
136 * mipsbsd.c: Likewise.
137 * mmo.c: Likewise.
138 * netbsd-core.c: Likewise.
139 * nlm-target.h: Likewise.
140 * oasys.c: Likewise.
141 * osf-core.c: Likewise.
142 * pdp11.c: Likewise.
143 * pe-mips.c: Likewise.
144 * pe-x86_64.c: Likewise.
145 * pef.c: Likewise.
146 * plugin.c: Likewise.
147 * ppcboot.c: Likewise.
148 * ptrace-core.c: Likewise.
149 * sco5-core.c: Likewise.
150 * som.c: Likewise.
151 * sparclynx.c: Likewise.
152 * srec.c: Likewise.
153 * tekhex.c: Likewise.
154 * trad-core.c: Likewise.
155 * verilog.c: Likewise.
156 * versados.c: Likewise.
157 * vms-alpha.c: Likewise.
158 * vms-lib.c: Likewise.
159 * wasm-module.c: Likewise.
160 * xsym.c: Likewise.
161 * libbfd.h: Regenerate.
162
163 2018-02-15 Jim Wilson <jimw@sifive.com>
164
165 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
166 symbols whose section address is zero.
167
168 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
169 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
170 bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
171 Add %X%P to error messages.
172
173 2018-02-15 Eric Botcazou <ebotcazou@adacore.com>
174
175 PR ld/22832
176 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
177 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
178 and assert that the result of the call is not NULL.
179
180 2018-02-14 Nick Clifton <nickc@redhat.com>
181
182 PR 22823
183 Revert previous delta. Add extra casts to avoid compile time
184 warnings instead.
185 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
186 cast to avoid warning from gcc v8 compiler.
187 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
188 (_bfd_generic_bfd_set_private_flags): Likewise.
189 (_bfd_generic_bfd_copy_private_section_data): Likewise.
190 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
191 (_bfd_generic_bfd_copy_private_header_data): Likewise.
192 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
193 (_bfd_noarchive_construct_extended_name_table): Likewise.
194 (_bfd_noarchive_truncate_arname): Likewise.
195 (_bfd_noarchive_write_ar_hdr): Likewise.
196 (_bfd_noarchive_get_elt_at_index): Likewise.
197 (_bfd_nosymbols_canonicalize_symtab): Likewise.
198 (_bfd_nosymbols_print_symbol): Likewise.
199 (_bfd_nosymbols_get_symbol_info): Likewise.
200 (_bfd_nosymbols_get_symbol_version_string): Likewise.
201 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
202 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
203 (_bfd_nosymbols_get_lineno): Likewise.
204 (_bfd_nosymbols_find_nearest_line): Likewise.
205 (_bfd_nosymbols_find_line): Likewise.
206 (_bfd_nosymbols_find_inliner_info): Likewise.
207 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
208 (_bfd_nosymbols_read_minisymbols): Likewise.
209 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
210 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
211 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
212 (_bfd_nowrite_set_arch_mach): Likewise.
213 (_bfd_nowrite_set_section_contents): Likewise.
214 (_bfd_nolink_sizeof_headers): Likewise.
215 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
216 (_bfd_nolink_bfd_relax_section): Likewise.
217 (_bfd_nolink_bfd_gc_sections): Likewise.
218 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
219 (_bfd_nolink_bfd_merge_sections): Likewise.
220 (_bfd_nolink_bfd_is_group_section): Likewise.
221 (_bfd_nolink_bfd_discard_group): Likewise.
222 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
223 (_bfd_nolink_bfd_link_add_symbols): Likewise.
224 (_bfd_nolink_bfd_link_just_syms): Likewise.
225 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
226 (_bfd_nolink_bfd_final_link): Likewise.
227 (_bfd_nolink_bfd_link_split_section): Likewise.
228 (_bfd_nolink_section_already_linked): Likewise.
229 (_bfd_nolink_bfd_define_common_symbol): Likewise.
230 (_bfd_nolink_bfd_define_start_stop): Likewise.
231 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
232 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
233 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
234 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
235 * libbfd.c (bfd_false_any): Delete.
236 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
237 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
238 * libbfd.h (extern): Regenerate
239 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
240 cast to avoid warning from gcc v8 compiler.
241 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
242 * binary.c (binary_get_symbol_info): Likewise.
243 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
244 * coff-mips.c (mips_ecoff_backend_data): Likewise.
245 * coffcode.h (coff_set_alignment_hook): Likewise.
246 (symname_in_debug_hook): Likewise.
247 (bfd_coff_backend_data bigobj_swap_table): Likewise.
248 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
249 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
250 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
251 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
252 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
253 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
254 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
255 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
256 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
257 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
258 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
259 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
260 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
261 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
262 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
263 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
264 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
265 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
266 (bfd_elfNN_bfd_set_private_flags): Likewise.
267 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
268 (elf_backend_init_index_section): Likewise.
269 (elf_backend_allow_non_load_phdr): Likewise.
270 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
271 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
272 * ieee.c (ieee_construct_extended_name_table): Likewise.
273 (ieee_write_armap): Likewise.
274 (ieee_write_ar_hdr): Likewise.
275 (ieee_bfd_is_target_special_symbol): Likewise.
276 * ihex.c (ihex_canonicalize_symtab): Likewise.
277 (ihex_bfd_is_target_special_symbol): Likewise.
278 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
279 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
280 (_bfd_ecoff_set_alignment_hook): Likewise.
281 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
282 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
283 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
284 * oasys.c (oasys_construct_extended_name_table): Likewise.
285 (oasys_write_armap): Likewise.
286 (oasys_write_ar_hdr): Likewise.
287 (oasys_bfd_is_target_special_symbol): Likewise.
288 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
289 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
290 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
291 * som.c (som_bfd_is_target_special_symbol): Likewise.
292 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
293 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
294 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
295 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
296 (versados_bfd_reloc_name_lookup): Likewise.
297 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
298 (vms_bfd_define_start_stop): Likewise.
299 (alpha_vms_bfd_is_target_special_symbol): Likewise.
300 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
301 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
302
303 2018-02-14 H.J. Lu <hongjiu.lu@intel.com>
304
305 PR ld/22842
306 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
307 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
308 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
309 R_X86_64_PC32 reloc against dynamic function in data section.
310 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
311 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
312 against dynamic function in data section.
313 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
314 function address only if pcrel_plt is true.
315 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
316 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
317 PC-relative PLT. If PLT is PC-relative, don't generate dynamic
318 PC-relative relocation against a function definition in data
319 secton in PIE. Remove the obsolete comments.
320 (elf_x86_link_hash_table): Add pcrel_plt.
321
322 2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
323
324 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
325 instead of bfd_link_pic, for building shared library.
326
327 2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
328
329 PR gas/22791
330 * elf64-x86-64.c (is_32bit_relative_branch): Removed.
331 (elf_x86_64_relocate_section): Check PIC relocations in PIE.
332 Remove is_32bit_relative_branch usage. Disallow PC32 reloc
333 against protected function in shared object.
334
335 2018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
336
337 PR 22828
338 * po/ru.po: Fix typo in Russian translation.
339
340 2018-02-13 Maciej W. Rozycki <macro@mips.com>
341
342 * wasm-module.c (wasm_scan_name_function_section): Rename
343 `index' local variable to `idx'.
344
345 2018-02-13 Nick Clifton <nickc@redhat.com>
346
347 PR 22823
348 Fix compile time warnings generated by gcc version 8.
349 * libbfd-in.h: Remove extraneous text from prototypes.
350 Add prototypes for bfd_false_any, bfd_true_any,
351 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
352 bfd_n1_any, bfd_void_any.
353 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
354 function.
355 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
356 (_bfd_generic_bfd_set_private_flags): Likewise.
357 (_bfd_generic_bfd_copy_private_section_data): Likewise.
358 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
359 (_bfd_generic_bfd_copy_private_header_data): Likewise.
360 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
361 (_bfd_noarchive_construct_extended_name_table): Likewise.
362 (_bfd_noarchive_truncate_arname): Likewise.
363 (_bfd_noarchive_write_ar_hdr): Likewise.
364 (_bfd_noarchive_get_elt_at_index): Likewise.
365 (_bfd_nosymbols_canonicalize_symtab): Likewise.
366 (_bfd_nosymbols_print_symbol): Likewise.
367 (_bfd_nosymbols_get_symbol_info): Likewise.
368 (_bfd_nosymbols_get_symbol_version_string): Likewise.
369 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
370 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
371 (_bfd_nosymbols_get_lineno): Likewise.
372 (_bfd_nosymbols_find_nearest_line): Likewise.
373 (_bfd_nosymbols_find_line): Likewise.
374 (_bfd_nosymbols_find_inliner_info): Likewise.
375 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
376 (_bfd_nosymbols_read_minisymbols): Likewise.
377 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
378 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
379 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
380 (_bfd_nowrite_set_arch_mach): Likewise.
381 (_bfd_nowrite_set_section_contents): Likewise.
382 (_bfd_nolink_sizeof_headers): Likewise.
383 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
384 (_bfd_nolink_bfd_relax_section): Likewise.
385 (_bfd_nolink_bfd_gc_sections): Likewise.
386 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
387 (_bfd_nolink_bfd_merge_sections): Likewise.
388 (_bfd_nolink_bfd_is_group_section): Likewise.
389 (_bfd_nolink_bfd_discard_group): Likewise.
390 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
391 (_bfd_nolink_bfd_link_add_symbols): Likewise.
392 (_bfd_nolink_bfd_link_just_syms): Likewise.
393 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
394 (_bfd_nolink_bfd_final_link): Likewise.
395 (_bfd_nolink_bfd_link_split_section): Likewise.
396 (_bfd_nolink_section_already_linked): Likewise.
397 (_bfd_nolink_bfd_define_common_symbol): Likewise.
398 (_bfd_nolink_bfd_define_start_stop): Likewise.
399 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
400 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
401 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
402 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
403 * libbfd.c (bfd_false_any): New function. Like bfd_false but
404 accepts one or more arguments.
405 (bfd_true_any): Likewise.
406 (bfd_nullvoidptr_any): Likewise.
407 (bfd_0_any): Likewise.
408 (bfd_0u_any): Likewise.
409 (bfd_0l_any): Likewise.
410 (_bfd_n1_any): Likewise.
411 (bfd_void_any): Likewise.
412 * libbfd.h (extern): Regenerate
413 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
414 based dummy function.
415 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
416 * binary.c (binary_get_symbol_info): Likewise.
417 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
418 * coff-mips.c (mips_ecoff_backend_data): Likewise.
419 * coffcode.h (coff_set_alignment_hook): Likewise.
420 (symname_in_debug_hook): Likewise.
421 (bfd_coff_backend_data bigobj_swap_table): Likewise.
422 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
423 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
424 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
425 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
426 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
427 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
428 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
429 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
430 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
431 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
432 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
433 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
434 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
435 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
436 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
437 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
438 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
439 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
440 (bfd_elfNN_bfd_set_private_flags): Likewise.
441 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
442 (elf_backend_init_index_section): Likewise.
443 (elf_backend_allow_non_load_phdr): Likewise.
444 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
445 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
446 * ieee.c (ieee_construct_extended_name_table): Likewise.
447 (ieee_write_armap): Likewise.
448 (ieee_write_ar_hdr): Likewise.
449 (ieee_bfd_is_target_special_symbol): Likewise.
450 * ihex.c (ihex_canonicalize_symtab): Likewise.
451 (ihex_bfd_is_target_special_symbol): Likewise.
452 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
453 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
454 (_bfd_ecoff_set_alignment_hook): Likewise.
455 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
456 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
457 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
458 * oasys.c (oasys_construct_extended_name_table): Likewise.
459 (oasys_write_armap): Likewise.
460 (oasys_write_ar_hdr): Likewise.
461 (oasys_bfd_is_target_special_symbol): Likewise.
462 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
463 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
464 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
465 * som.c (som_bfd_is_target_special_symbol): Likewise.
466 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
467 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
468 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
469 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
470 (versados_bfd_reloc_name_lookup): Likewise.
471 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
472 (vms_bfd_define_start_stop): Likewise.
473 (alpha_vms_bfd_is_target_special_symbol): Likewise.
474 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
475 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
476 * elf32-arc.c (get_replace_function): Assign replacement function
477 to func pointer.
478 * elf32-i370.c (i370_noop): Update prototype.
479
480 2018-02-13 Alan Modra <amodra@gmail.com>
481
482 PR 22836
483 * elf.c (_bfd_elf_fixup_group_sections): Account for removed
484 relocation sections. If size reduces to just the flag word,
485 remove that too and mark with SEC_EXCLUDE.
486 * elflink.c (bfd_elf_final_link): Strip empty group sections.
487
488 2018-02-13 Alan Modra <amodra@gmail.com>
489
490 PR 22829
491 * elf.c (assign_file_positions_for_non_load_sections): Rewrite
492 PT_GNU_RELRO setup.
493
494 2018-02-12 Zebediah Figura <z.figura12@gmail.com>
495
496 * i386msdos.c (msdos_mkobject); New function.
497 (msdos_object_p): New function.
498 (i386_msdos_vec): Use msdos_object_p as the check_format
499 function.
500 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
501 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
502 IMAGE_NT_SIGNATURE.
503 * peXXigen.c: Likewise.
504 * coff-ia64.c: Likewise.
505
506 2018-02-12 Nick Clifton <nickc@redhat.com>
507
508 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
509 assignment.
510 * elf32-arc.c (elf_arc_relocate_section): Likewise.
511
512 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
513
514 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
515 (sparc_elf_append_rela): Assert that there is enough room in section.
516 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
517 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
518 (allocate_dynrelocs): Remove outdated comments and reorder conditions.
519 For a symbol subject to a GOT relocation, reserve a slot in the
520 relocation section if the symbol isn't dynamic and we are in PIC mode.
521 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
522 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
523 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
524 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
525 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
526 resolved_to_zero. Do not generate a dynamic GOT relocation for an
527 undefined weak symbol with non-default visibility. Remove superfluous
528 'else' and fix formatting.
529
530 2018-02-09 H.J. Lu <hongjiu.lu@intel.com>
531
532 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
533 is_solaris.
534 (i386_elf32_sol2_vec): Don't declare.
535 (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
536 Don't set need_global_offset_table.
537 (elf_i386_solaris_arch_bed): New.
538 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
539 Solaris.
540 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
541 target_os != is_nacl instead of target_os == is_normal.
542 (x86_64_elf64_sol2_vec): Don't declare.
543 (elf_x86_64_link_setup_gnu_properties): Check target_os !=
544 is_nacl instead of target_os == is_normal. Don't set
545 need_global_offset_table.
546 (elf_x86_64_solaris_arch_bed): New.
547 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
548 Solaris.
549 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
550 _GLOBAL_OFFSET_TABLE_ for Solaris.
551 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
552 need_global_offset_table.
553 * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
554 (elf_x86_link_hash_table): Remove need_global_offset_table.
555 (elf_x86_init_table): Likewise.
556
557 2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
558
559 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
560 Remove prototype.
561 (i386_elf32_sol2_vec): Declared.
562 (elf_i386_link_setup_gnu_properties): Set
563 need_global_offset_table with info->output_bfd->xvec.
564 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
565 Remove prototype.
566 (x86_64_elf64_sol2_vec): Declared.
567 (elf_x86_64_link_setup_gnu_properties): Set
568 need_global_offset_table with info->output_bfd->xvec.
569
570 2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
571
572 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
573 New prototype.
574 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
575 for Solaris.
576 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
577 New prototype.
578 (elf_x86_64_link_setup_gnu_properties): Set
579 need_global_offset_table for Solaris.
580 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
581 unused _GLOBAL_OFFSET_TABLE_ for Solaris.
582 (_bfd_x86_elf_link_setup_gnu_properties): Copy
583 need_global_offset_table.
584 * elfxx-x86.h (elf_x86_link_hash_table): Add
585 need_global_offset_table.
586 (elf_x86_init_table): Likewise.
587
588 2018-02-08 Jim Wilson <jimw@sifive.com>
589
590 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
591 change.
592
593 2018-02-08 Nick Clifton <nickc@redhat.com>
594
595 PR 22788
596 * elf.c (elf_parse_notes): Reject notes with excessuively large
597 alignments.
598
599 2018-02-07 Alan Modra <amodra@gmail.com>
600
601 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
602 * elf32-ppc.c: Remove speculation barrier support.
603 * elf32-ppc.h: Likewise.
604 * elf64-ppc.c: Likewise.
605 * elf64-ppc.h: Likewise.
606
607 2018-02-06 Jim Wilson <jimw@sifive.com>
608
609 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
610 callback to report an error.
611
612 2018-02-06 Eric Botcazou <ebotcazou@adacore.com>
613
614 PR ld/22263
615 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
616 into call to !bfd_link_executable and tidy up.
617 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
618 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
619 !bfd_link_executable.
620 <R_SPARC_TLS_IE_HI22>: Likewise.
621 <GOT relocations>: Remove useless code, tidy and merge related blocks.
622 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
623 !bfd_link_executable.
624 <R_SPARC_WPLT30>: Tidy up.
625 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
626 !bfd_link_executable.
627 (allocate_dynrelocs): Likewise.
628 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
629 <R_SPARC_TLS_GD_HI22>: Merge into...
630 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
631 sparc_elf_tls_transition and remove redundant code.
632 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
633 !bfd_link_executable.
634 <R_SPARC_TLS_LDO_HIX22>: Likewise.
635 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
636 <R_SPARC_TLS_LDM_CALL>: Likewise.
637 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
638 <R_SPARC_TLS_GD_ADD>: Likewise.
639 <R_SPARC_TLS_LDM_ADD>: Likewise.
640 <R_SPARC_TLS_LDO_ADD>: Likewise.
641 <R_SPARC_TLS_IE_LD>: Likewise.
642
643 2018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
644
645 PR 22789
646 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
647 functions failed to find the function name, try the generic elf
648 find function instead.
649
650 2018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
651
652 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
653 'memcpy' instead of 'strncpy' when writing the magic number.
654
655 2018-02-06 Nick Clifton <nickc@redhat.com>
656
657 PR 22794
658 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
659 section before attempting to read it in.
660 (bfd_get_alt_debug_link_info): Likewise.
661
662 2018-02-06 Paul Carroll <pcarroll@codesourcery.com>
663
664 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
665 line information in addition to name, if they can be found.
666
667 2018-02-05 Renlin Li <renlin.li@arm.com>
668
669 PR ld/22764
670 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
671 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
672 check for writeable section as well.
673
674 2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
675
676 PR ld/22782
677 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
678 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
679 undefined weak symbol to 0.
680 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
681 if _GLOBAL_OFFSET_TABLE_ is referenced.
682 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
683 got_referenced instead of ref_regular_nonweak. Remove the
684 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
685 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
686
687 2018-02-05 Maciej W. Rozycki <macro@mips.com>
688
689 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
690 initialize `hi_reloc'.
691
692 2018-02-05 Maciej W. Rozycki <macro@mips.com>
693
694 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
695 SHT_MIPS_REGINFO sections don't assert the correct size and
696 report an error instead.
697
698 2018-02-05 Maciej W. Rozycki <macro@mips.com>
699
700 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
701 status from `->elf_backend_section_processing'.
702
703 2018-02-02 Jim Wilson <jimw@sifive.com>
704
705 PR ld/22756
706 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
707 If link_info->wrap_hash, check for a duplicate symbol and ignore.
708 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
709 Pass new argument to riscv_relax_delete_bytes.
710 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
711 ATTRIBUTE_UNUSED from link_info parameter.
712
713 2018-02-02 Alan Modra <amodra@gmail.com>
714
715 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
716 emitted for toc sequence optimization. Set and use "howto" later.
717
718 2018-02-01 Simon Marchi <simon.marchi@ericsson.com>
719
720 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
721 arithmetic on NULL pointer.
722 * elflink.c (_bfd_elf_archive_symbol_lookup,
723 elf_link_add_archive_symbols): Likewise.
724
725 2018-01-31 Michael Matz <matz@suse.de>
726
727 * elflink.c (bfd_elf_define_start_stop): Fix check of
728 def_dynamic.
729
730 2018-01-31 H.J. Lu <hongjiu.lu@intel.com>
731
732 PR ld/21964
733 * elflink.c (bfd_elf_define_start_stop): Check if __start and
734 __stop symbols are referenced by shared objects.
735
736 2018-01-30 Alan Modra <amodra@gmail.com>
737
738 PR 22758
739 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
740 segment when demand paged with lma on the same page. Test this
741 before load/non-load, executable/non-executable,
742 writable/non-writable tests and simplify. Delete bogus relro
743 condition in writable/non-writable test. Delete outdated
744 comment. Formatting.
745
746 2018-01-30 Alan Modra <amodra@gmail.com>
747
748 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
749 symbols dynamic.
750
751 2018-01-29 Alan Modra <amodra@gmail.com>
752
753 PR 22741
754 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
755 range before converting to a symbol table pointer.
756
757 2018-01-27 Nick Clifton <nickc@redhat.com>
758
759 * po/ru.po: Updated Russian translation.
760
761 2018-01-26 Alan Modra <amodra@gmail.com>
762
763 * elflink.c (bfd_elf_define_start_stop): Override symbols when
764 they are defined dynamically.
765
766 2018-01-26 Alan Modra <amodra@gmail.com>
767
768 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
769 .branch_lt changes size.
770
771 2018-01-25 Alan Modra <amodra@gmail.com>
772
773 PR 22746
774 * elfcode.h (elf_object_p): Avoid integer overflow.
775
776 2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
777
778 PR ld/22727
779 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
780 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
781
782 Revert
783 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
784
785 PR ld/22263
786 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
787 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
788 bfd_link_executable for TLS check.
789 (_bfd_sparc_elf_check_relocs): Likewise.
790 (allocate_dynrelocs): Likewise.
791 (_bfd_sparc_elf_relocate_section): Likewise.
792
793 2018-01-24 Renlin Li <renlin.li@arm.com>
794
795 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
796 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
797 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
798 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
799 BFD_RELOC_AARCH64_MOVW_PREL_G3.
800 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
801 (_bfd_aarch64_elf_resolve_relocation): Likewise.
802
803 2018-01-24 Renlin Li <renlin.li@arm.com>
804
805 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
806 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
807 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
808 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
809 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
810 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
811 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
812 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
813 BFD_RELOC_AARCH64_MOVW_PREL_G3.
814 * bfd-in2.h: Regenerate.
815 * libbfd.h: Regenerate.
816
817 2018-01-23 Maciej W. Rozycki <macro@mips.com>
818
819 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
820 `mips_elf32_section_processing' comment reference.
821
822 2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
823
824 PR ld/22721
825 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
826 versioned __tls_get_addr symbol.
827
828 2018-01-19 Nick Clifton <nickc@redhat.com>
829
830 * po/fr.po: Updated French translation.
831
832 2018-01-18 Alan Modra <amodra@gmail.com>
833
834 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
835 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
836 (ppc64_elf_build_stubs): Likewise.
837
838 2018-01-17 Nick Clifton <nickc@redhat.com>
839
840 * po/ru.po: Updated Russian translation.
841 * po/uk/po: Updated Ukranian translation.
842
843 2018-01-17 Alan Modra <amodra@gmail.com>
844
845 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
846
847 2018-01-17 Alan Modra <amodra@gmail.com>
848
849 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
850 (CRSETEQ, BEQCTRM): Define.
851 (is_nonpic_glink_stub): Don't check bctr.
852 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
853 (ppc_elf_relax_section): Size speculation barrier.
854 (output_bctr): New function.
855 (write_glink_stub): Use output_bctr.
856 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
857 (ppc_elf_finish_dynamic_symbol): Likewise.
858 (ppc_elf_finish_dynamic_sections): Use output_bctr.
859 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
860 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
861 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
862 (size_global_entry_stubs): Handle speculation barrier sizing.
863 (plt_stub_size): Likewise.
864 (output_bctr): New function.
865 (build_plt_stub, build_tls_get_addr_stub): Output speculation
866 barrier.
867 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
868 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
869 (build_global_entry_stubs): Output speculation barrier.
870 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
871 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
872
873 2018-01-17 Alan Modra <amodra@gmail.com>
874
875 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
876 __tls_get_addr_opt, and alignment sizing.
877 (TLS_GET_ADDR_GLINK_SIZE): Delete.
878 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
879 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
880 or 8 insns.
881 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
882 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
883 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
884 by PLT reloc count.
885 (write_glink_stub): Handle __tls_get_addr_opt stub.
886 Pad out to size given by GLINK_ENTRY_SIZE.
887 (ppc_elf_relocate_section): Adjust write_glink_stub call.
888 (ppc_elf_finish_dynamic_symbol): Likewise.
889 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
890 insn array since so many need rewriting.
891 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
892 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
893 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
894 nops. Adjust all uses.
895 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
896 in glink_vma calculation.
897 (struct ppc_link_hash_table): Add global_entry section pointer.
898 (create_linkage_sections): Create separate section for global
899 entry stubs.
900 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
901 (size_global_entry_stubs): Handle sizing for aligned stubs.
902 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
903 and don't stash end of glink branch table in rawsize.
904 (ppc_build_one_stub): Rewrite stub size calculations.
905 (build_global_entry_stubs): Use new section.
906 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
907 Build lazy link stubs out to end of section. Build global entry
908 stubs in new section.
909
910 2018-01-15 Nick Clifton <nickc@redhat.com>
911
912 * po/uk.po: Updated Ukranian translation.
913
914 2018-01-13 Nick Clifton <nickc@redhat.com>
915
916 * po/bfd.pot: Regenerated.
917
918 2018-01-13 Nick Clifton <nickc@redhat.com>
919
920 * version.m4: Bump version to 2.30.51
921 * configure: Regenerate.
922
923 2018-01-13 Nick Clifton <nickc@redhat.com>
924
925 2.30 branch created.
926
927 2018-01-12 Jens Widell <jl@opera.com>
928
929 * elf.c (setup_group): Optimize search for group by remembering
930 last found group and restarting search at that index.
931 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
932
933 2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
934
935 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
936 bfd_link_common_skip_none in switch.
937
938 2018-01-12 Alan Modra <amodra@gmail.com>
939
940 PR ld/22649
941 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
942 references on forced local symbols.
943
944 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
945
946 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
947 .reginfo section has wrong size.
948
949 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
950
951 PR ld/22393
952 * elf.c (_bfd_elf_map_sections_to_segments): When generating
953 separate code and read-only data LOAD segments, create a new
954 LOAD segment if the previous section contains text and the
955 current section doesn't or vice versa. Don't put a writable
956 section in a read-only segment if there is a RELRO segment.
957
958 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
959
960 PR ld/22649
961 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
962 references on forced local symbols.
963
964 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
965
966 PR ld/22677
967 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
968 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
969
970 2017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
971
972 PR 22662
973 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
974
975 2018-01-03 John Baldwin <jhb@FreeBSD.org>
976
977 * elf.c (elfcore_grok_freebsd_note): Handle
978 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
979 NT_FREEBSD_PROCSTAT_VMMAP.
980
981 2018-01-03 Alan Modra <amodra@gmail.com>
982
983 Update year range in copyright notice of all files.
984
985 For older changes see ChangeLog-2017
986 \f
987 Copyright (C) 2018 Free Software Foundation, Inc.
988
989 Copying and distribution of this file, with or without modification,
990 are permitted in any medium without royalty provided the copyright
991 notice and this notice are preserved.
992
993 Local Variables:
994 mode: change-log
995 left-margin: 8
996 fill-column: 74
997 version-control: never
998 End:
This page took 0.08149 seconds and 4 git commands to generate.