2018-05-30 Amaan Cheval <amaan.cheval@gmail.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2018-05-30 Amaan Cheval <amaan.cheval@gmail.com>
2
3 * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems*
4 This is needed to generate UEFI application image files from ELFs.
5
6 2018-05-28 H.J. Lu <hongjiu.lu@intel.com>
7
8 * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry,
9 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
10 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
11 plt_tlsdesc_got2_insn_end for TLSDESC entry.
12 (elf_i386_lazy_ibt_plt): Likewise.
13 (elf_i386_nacl_plt): Likewise.
14 * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ...
15 (elf_x86_64_tlsdesc_plt_entry): This.
16 (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry,
17 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
18 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
19 plt_tlsdesc_got2_insn_end for TLSDESC entry.
20 (elf_x86_64_lazy_bnd_plt): Likewise.
21 (elf_x86_64_lazy_ibt_plt): Likewise.
22 (elf_x32_lazy_ibt_plt): Likewise.
23 (elf_x86_64_nacl_plt): Likewise.
24 (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry,
25 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
26 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
27 plt_tlsdesc_got2_insn_end to update TLSDESC entry.
28 * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments.
29 Add plt_tlsdesc_entry, plt_tlsdesc_entry_size,
30 plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset,
31 plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end.
32 (elf_x86_non_lazy_plt_layout): Update comments.
33 (elf_x86_plt_layout): Likewise.
34
35 2018-05-28 H.J. Lu <hongjiu.lu@intel.com>
36
37 PR ld/23238
38 * elf-s390-common.c (elf_s390_add_symbol_hook): Removed.
39 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
40 (elf_backend_add_symbol_hook): Likewise.
41 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
42 (elf_backend_add_symbol_hook): Likewise.
43 * elf32-s390.c (elf_backend_add_symbol_hook): Likewise.
44 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
45 (elf_backend_add_symbol_hook): Likewise.
46 * elf64-s390.c (elf_backend_add_symbol_hook): Likewise.
47 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
48 * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise.
49 (elf_backend_add_symbol_hook): Likewise.
50 * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC
51 handling.
52 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
53 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
54 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
55 * elflink.c (elf_link_add_object_symbols): Set
56 elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols.
57
58 2018-05-26 H.J. Lu <hongjiu.lu@intel.com>
59
60 PR ld/23194
61 * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New.
62 * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function.
63 Extracted from _bfd_elf_link_assign_sym_version.
64 (_bfd_elf_link_hide_sym_by_version): New function.
65 (_bfd_elf_link_assign_sym_version): Use
66 _bfd_elf_link_hide_versioned_symbol.
67 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call
68 _bfd_elf_link_hide_sym_by_version instead of
69 bfd_hide_sym_by_version. Don't check unversioned symbol.
70
71 2018-05-25 Alan Modra <amodra@gmail.com>
72
73 * Makefile.in: Regenerate.
74 * po/SRC-POTFILES.in: Regenerate.
75
76 2018-05-25 Alan Modra <amodra@gmail.com>
77
78 * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
79 * configure: Regenerate.
80
81 2018-05-23 H.J. Lu <hongjiu.lu@intel.com>
82
83 * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING
84 to data.
85
86 2018-05-22 Alan Modra <amodra@gmail.com>
87
88 PR 23207
89 * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec
90 is NULL.
91 (elf32_hppa_size_stubs): Only create stubs for load, alloc, code
92 sections.
93 (final_link_relocate): Revert last change.
94
95 2018-05-22 Alan Modra <amodra@gmail.com>
96
97 PR 23207
98 * elf32-hppa.c (final_link_relocate): Don't look for plt call
99 stubs in non-alloc sections.
100
101 2018-05-21 H.J. Lu <hongjiu.lu@intel.com>
102
103 PR ld/23201
104 * aout-target.h (MY_bfd_link_hide_symbol): New.
105 * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
106 * binary.c (binary_bfd_link_hide_symbol): Likewise.
107 * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
108 * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
109 * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
110 * coffcode.h (coff_bfd_link_hide_symbol): Likewise.
111 * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
112 * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
113 * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
114 * ihex.c (ihex_bfd_link_hide_symbol): Likewise.
115 * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
116 * linker.c (_bfd_generic_link_hide_symbol): Likewise.
117 (bfd_link_hide_symbol): Likewise.
118 * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
119 * mmo.c (mmo_bfd_link_hide_symbol): Likewise.
120 * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
121 * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
122 * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
123 * som.c (som_bfd_link_hide_symbol): Likewise.
124 * srec.c (srec_bfd_link_hide_symbol): Likewise.
125 * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
126 * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
127 (alpha_vms_bfd_link_hide_symbol): Likewise.
128 * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
129 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
130 _bfd_generic_link_hide_symbol.
131 (rs6000_xcoff64_aix_vec): Likewise.
132 * elflink.c (bfd_elf_record_link_assignment): Don't make forced
133 local symbol dynamic.
134 (_bfd_elf_link_hide_symbol): New function.
135 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
136 check root.ldscript_def.
137 * targets.c (bfd_target): Add _bfd_link_hide_symbol.
138 (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
139 * bfd-in2.h: Regenerated.
140 * libbfd.h: Likewise.
141
142 2018-05-21 H.J. Lu <hongjiu.lu@intel.com>
143
144 PR binutils/23199
145 * elf.c (setup_group): Mark section in a section group with
146 SHF_GROUP.
147
148 2018-05-18 H.J. Lu <hongjiu.lu@intel.com>
149
150 PR ld/23194
151 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
152 set eh->local_ref to 1 if a symbol is versioned and there is a
153 version script.
154
155 2018-05-18 Kito Cheng <kito.cheng@gmail.com>
156
157 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle
158 EF_RISCV_RVE.
159
160 2018-05-18 Jim Wilson <jimw@sifive.com>
161
162 * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if
163 UNDEFWEAK_NO_DYNAMIC_RELOC is true.
164 (riscv_elf_relocate_section): Don't generate dynamic relocation if
165 UNDEFWEAK_NO_DYNAMIC_RELOC is true.
166 (riscv_elf_finish_dynamic_symbol): Likewise.
167
168 2018-05-18 John Darrington <john@darrington.wattle.id.au>
169
170 * Makefile.am: Add s12z files.
171 * Makefile.in: Regenerate.
172 * archures.c: Add bfd_s12z_arch.
173 * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24.
174 * bfd-in2.h: Regenerate.
175 * config.bfd: Add s12z target.
176 * configure.ac: Add s12z target.
177 * configure: Regenerate.
178 * cpu-s12z.c: New file.
179 * elf32-s12z.c: New file.
180 * libbfd.c (bfd_putb24): New function.
181 (bfd_putl24): New function.
182 * libbfd.h: Regenerate.
183 * reloc.c: Add s12z relocations.
184 (bfd_get_reloc_size): Handle size 5 relocs.
185 * targets.c: Add s12z_elf32_vec.
186
187 2018-05-18 H.J. Lu <hongjiu.lu@intel.com>
188
189 PR ld/23189
190 * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
191 like R_386_GOT32.
192 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
193 set eh->local_ref to 1 for linker defined symbols.
194
195 2018-05-18 Alan Modra <amodra@gmail.com>
196
197 PR 23199
198 * elf.c (setup_group): Formatting. Check that SHT_GROUP entries
199 don't point at other SHT_GROUP sections. Set shdr corresponding
200 to invalid entry, to NULL rather than section 0. Identify
201 SHT_GROUP section index when reporting an error. Cope with NULL
202 shdr pointer.
203
204 2018-05-18 Alan Modra <amodra@gmail.com>
205
206 * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout.
207 * configure.ac (HAVE_HIDDEN): Check compiler support for hidden
208 visibility.
209 * libbfd.h: Regenerate.
210 * configure: Regenerate.
211 * config.in: Regenerate.
212
213 2018-05-18 Alan Modra <amodra@gmail.com>
214
215 * libbfd-in.h: Add include guard.
216 * libcoff-in.h: Likewise.
217 * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif.
218 * doc/Makefile.in: Regenerate.
219 * libbfd.h: Regenerate.
220 * libcoff.h: Regenerate.
221
222 2018-05-16 Maciej W. Rozycki <macro@mips.com>
223
224 * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'.
225
226 2018-05-16 Alan Modra <amodra@gmail.com>
227
228 PR 22458
229 * format.c (struct bfd_preserve): Add section_id.
230 (bfd_preserve_save, bfd_preserve_restore): Save and restore
231 _bfd_section_id.
232 (bfd_reinit): Set _bfd_section_id.
233 (bfd_check_format_matches): Put all matches of any priority into
234 matching_vector. Save initial section id and start each attempted
235 match at that section id.
236 * libbfd-in.h (_bfd_section_id): Declare.
237 * section.c (_bfd_section_id): Rename from section_id and make
238 global. Adjust uses.
239 (bfd_get_next_section_id): Delete.
240 * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of
241 bfd_get_section_id with _bfd_section_id.
242 * libbfd.h: Regenerate.
243 * bfd-in2.h: Regenerate.
244
245 2018-05-15 Christophe Guillon <christophe.guillon@st.com>
246
247 * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields
248 of the aux structure are initialised.
249
250 2018-05-15 Francois H. Theron <francois.theron@netronome.com>
251
252 * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef.
253
254 2018-05-15 Nick Clifton <nickc@redhat.com>
255
256 * po/pt.po: New Portuguese translation.
257 * configure.ac (ALL_LINGUAS): Add pt.
258 * configure: Regenerate.
259
260 2018-05-14 H.J. Lu <hongjiu.lu@intel.com>
261
262 PR ld/23169
263 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
264 an error on IFUNC pointer defined in PDE.
265 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
266 _bfd_x86_elf_link_fixup_ifunc_symbol.
267 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
268 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
269 function.
270 * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.
271
272 2018-05-14 H.J. Lu <hongjiu.lu@intel.com>
273
274 PR ld/23162
275 * elfxx-x86.c (elf_x86_linker_defined): New function.
276 (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
277 _end and _edata locally defined within executables.
278
279 2018-05-12 Alan Modra <amodra@gmail.com>
280
281 PR 20659
282 * elf.c (rewrite_elf_program_header): Use segment_mark only for
283 PT_LOAD headers. Delete first_matching_lma and first_suggested_lma.
284 Instead make matching_lma and suggested_lma pointers to the
285 sections. Align section vma and lma calculated from segment.
286 Don't clear includes_phdrs or includes_filehdr based on p_paddr
287 test. Try to handle alignment padding before first section by
288 adjusting new segment lma down. Adjust PT_PHDR map p_paddr.
289
290 2018-05-09 Dimitar Dimitrov <dimitar@dinux.eu>
291
292 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation
293 conformant to TI ABI.
294 (pru_elf32_relax_section): Likewise.
295 (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code.
296 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend.
297 (pru_elf32_pmem_relocate): Trap - should not get here.
298 (pru_elf32_relocate_section): Add support for REL relocations.
299 (elf_info_to_howto_rel): Enable REL.
300 (elf_backend_may_use_rel_p): Likewise.
301 (elf_backend_may_use_rela_p): Likewise.
302 (elf_backend_default_use_rela_p): Likewise.
303
304 2018-05-09 Alan Modra <amodra@gmail.com>
305
306 PR 23148
307 * peXXigen.c (pe_print_edata): Correct minimum size.
308
309 2018-05-09 Alan Modra <amodra@gmail.com>
310
311 PR 23147
312 * peXXigen.c (pe_print_idata): Bound check hint_addr.
313
314 2018-05-08 Nick Clifton <nickc@redhat.com>
315
316 PR 22809
317 * elf.c (bfd_elf_get_str_section): Check for an excessively large
318 string section.
319 * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
320 attribute section is larger than the size of the file.
321
322 2018-05-07 Alan Modra <amodra@gmail.com>
323
324 * cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than
325 strncmp when checking for ".bf" special symbol.
326 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags
327 section name a char array, remove sentinal known_sections entry,
328 and adjust loop over known_sections to suit. Use memcmp rather
329 than strncmp.
330
331 2018-05-04 Alan Modra <amodra@gmail.com>
332
333 * elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32),
334 (struct elf_external_linux_prpsinfo32_ugid16),
335 (struct elf_external_linux_prpsinfo64_ugid32),
336 (struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING
337 to pr_fname and pr_psargs fields. Remove GCC diagnostic pragmas.
338 Move comment to..
339 * elf.c (elfcore_write_prpsinfo): ..here. Indent nested preprocessor
340 directives.
341 * elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING
342 to data.
343 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
344 * elf32-s390.c (elf_s390_write_core_note): Likewise.
345 * elf64-s390.c (elf_s390_write_core_note): Likewise.
346 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
347 * elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic
348 pragmas.
349 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid
350 false positive gcc-8 warning.
351 * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
352
353 2018-05-04 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
354
355 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order
356 of arguments when warning about different long double types.
357
358 2018-05-03 Simon Atanasyan <simon@atanasyan.com>
359
360 * elf32-mips.c: (elf32_mips_fixup_symbol): New function.
361 (elf_backend_fixup_symbol): New macro.
362 * elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp
363 handling.
364 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
365
366 2018-04-30 Francois H. Theron <francois.theron@netronome.com>
367
368 * Makefile.am: Added NFP files to build.
369 * archures.c: Added bfd_arch_nfp
370 * config.bfd: Added NFP support.
371 * configure.ac: Added NFP support.
372 * cpu-nfp.c: New, for NFP support.
373 * elf-bfd.h: Added elf_section_info()
374 * elf64-nfp.c: New, for NFP support.
375 * po/SRC-POTFILES.in: Added NFP source files.
376 * targets.c: Added nfp_elf64_vec
377 * bfd-in2.h: Regenerate.
378 * Makefile.in: Regenerate.
379 * configure: Regenerate.
380
381 2018-04-27 Alan Modra <amodra@gmail.com>
382
383 * bfd-in2.h: Regenerate.
384 * libbfd.h: Regenerate.
385
386 2018-04-27 Alan Modra <amodra@gmail.com>
387
388 PR 23123
389 PR 22374
390 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt
391 relocs for ifuncs.
392 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes.
393
394 2018-04-26 Pedro Alves <palves@redhat.com>
395
396 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider
397 ifunc and non-ifunc symbols duplicates.
398
399 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
400 Mickaël Guêné <mickael.guene@st.com>
401
402 * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New.
403 (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case.
404 (elf32_arm_populate_plt_entry): Likewise.
405 (elf32_arm_output_plt_map_1): Likewise.
406 (elf32_arm_output_arch_local_syms): Likewise.
407
408 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
409 Mickaël Guêné <mickael.guene@st.com>
410
411 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle
412 _GLOBAL_OFFSET_TABLE_ in FDPIC mode.
413
414 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
415 Mickaël Guêné <mickael.guene@st.com>
416
417 * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case
418 for R_ARM_TARGET2.
419
420 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
421 Mickaël Guêné <mickael.guene@st.com>
422
423 * elf32-arm.c (DEFAULT_STACK_SIZE): New.
424 (elf32_arm_always_size_sections): Create stack segment.
425
426 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
427 Mickaël Guêné <mickael.guene@st.com>
428
429 * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
430 (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
431 relocations.
432 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
433 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
434 (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
435 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
436 (struct elf32_arm_link_hash_table): Update comment.
437 (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
438 (IS_ARM_TLS_RELOC): Likewise.
439 (elf32_arm_check_relocs): Likewise.
440 (allocate_dynrelocs_for_symbol): Likewise.
441 (elf32_arm_size_dynamic_sections): Update comment.
442 * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
443 BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.
444
445 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
446 Mickaël Guêné <mickael.guene@st.com>
447
448 * elf32-arm.c (elf32_arm_fdpic_plt_entry): New.
449 (elf32_arm_create_dynamic_sections): Handle FDPIC.
450 (elf32_arm_allocate_plt_entry): Likewise.
451 (elf32_arm_populate_plt_entry): Likewise.
452 (elf32_arm_output_plt_map_1): Likewise.
453
454 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
455 Mickaël Guêné <mickael.guene@st.com>
456
457 * elf32-arm.c (struct fdpic_local): New.
458 (elf_arm_obj_tdata): Add local_fdpic_cnts field.
459 (elf32_arm_local_fdpic_cnts): New.
460 (struct fdpic_global): New.
461 (elf32_arm_link_hash_entry): Add fdpic_cnts field.
462 (elf32_arm_link_hash_table): Add srofixup field.
463 (arm_elf_add_rofixup): New.
464 (arm_elf_fill_funcdesc): New.
465 (elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
466 (elf32_arm_allocate_local_sym_info): Likewise.
467 (create_got_section): Create .rofixup section.
468 (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
469 (bfd_elf32_arm_set_target_params): Handle FDPIC.
470 (elf32_arm_final_link_relocate): Likewise.
471 (elf32_arm_check_relocs): Likewise.
472 (allocate_dynrelocs_for_symbol): Likewise.
473 (elf32_arm_size_dynamic_sections): Likewise.
474 (elf32_arm_finish_dynamic_sections): Likewise.
475 (elf32_arm_output_arch_local_syms): Likewise.
476 (elf32_arm_fdpic_omit_section_dynsym): New.
477
478 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
479 Mickaël Guêné <mickael.guene@st.com>
480
481 * bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
482 (BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
483 (BFD_RELOC_ARM_FUNCDESC_VALUE): New.
484 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
485 R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
486 (elf32_arm_howto_from_type): Take new members of
487 elf32_arm_howto_table_2 into account.
488 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
489 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
490 BFD_RELOC_ARM_FUNCDESC_VALUE.
491 * reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
492 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
493 BFD_RELOC_ARM_FUNCDESC_VALUE.
494
495 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
496 Mickaël Guêné <mickael.guene@st.com>
497
498 * elf32-arm.c (elf32_arm_print_private_bfd_data): Support
499 EF_ARM_PIC and ELFOSABI_ARM_FDPIC.
500 (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC.
501 (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC.
502
503 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
504 Mickaël Guêné <mickael.guene@st.com>
505
506 * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and
507 arm_elf32_fdpic_le_vec to targ_selvecs. Accept
508 arm*-*-uclinuxfdpiceabi.
509 * configure.ac: Add support for arm_elf32_fdpic_be_vec and
510 arm_elf32_fdpic_le_vec.
511 * configure: Regenerate.
512 * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p.
513 (elf32_arm_link_hash_table_create): Initialize fdpic_p.
514 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM)
515 (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets.
516 (elf32_arm_fdpic_link_hash_table_create): New.
517 * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and
518 arm_elf32_fdpic_le_vec.
519
520 2018-04-25 Alan Modra <amodra@gmail.com>
521
522 * elf-linux-core.h: Disable gcc-8 string truncation warning.
523 * elf.c (elfcore_write_prpsinfo): Likewise.
524
525 2018-04-25 Alan Modra <amodra@gmail.com>
526
527 * Makefile.am: Remove arm-aout and arm-coff support.
528 * config.bfd: Likewise.
529 * configure.ac: Likewise.
530 * targets.c: Likewise.
531 * aout-arm.c: Delete.
532 * armnetbsd.c: Delete.
533 * riscix.c: Delete.
534 * Makefile.in: Regenerate.
535 * configure: Regenerate.
536 * po/SRC-POTFILES.in: Regenerate.
537
538 2018-04-24 Nick Clifton <nickc@redhat.com>
539
540 PR 23113
541 * elf.c (ignore_section_sym): Check for the output_section pointer
542 being NULL before dereferencing it.
543
544 PR 23110
545 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
546 a negative PE_DEBUG_DATA size before iterating over the debug data.
547
548 2018-04-23 Alan Modra <amodra@gmail.com>
549
550 * elf-linux-core.h: Revert last change.
551 * elf.c: Likewise.
552
553 2018-04-23 Nick Clifton <nickc@redhat.com>
554
555 PR 23056
556 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
557 the end of the string table, and zero it.
558
559 2018-04-23 Alan Modra <amodra@gmail.com>
560
561 * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
562 gcc-8 string truncation warning.
563 (swap_linux_prpsinfo32_ugid16_out): Likewise.
564 (swap_linux_prpsinfo64_ugid32_out): Likewise.
565 (swap_linux_prpsinfo64_ugid16_out): Likewise.
566 * elf.c (elfcore_write_prpsinfo): Likewise.
567
568 2018-04-23 Nick Clifton <nickc@redhat.com>
569
570 PR 23056
571 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
572 the end of the string table, and zero it.
573
574 2018-04-20 Alan Modra <amodra@gmail.com>
575
576 PR 22978
577 * elf32-hppa.c (got_relocs_needed): Add extra param to special
578 case both dtprel and tprel relocs.
579 (allocate_dynrelocs): Adjust conditions for got relocs.
580 (elf32_hppa_relocate_section): Likewise for local sym got relocs.
581 Emit dynamic relocs on TLS GOT entries for shared libraries,
582 not when pic. Omit dynamic reloc on dtprel entry when local,
583 and on tprel entry when local and executable.
584
585 2018-04-19 Alan Modra <amodra@gmail.com>
586
587 PR 22537
588 * elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1.
589 (hppa_type_of_stub): Don't return a long branch stub for
590 symbols other than those defined statically.
591
592 2018-04-19 Alan Modra <amodra@gmail.com>
593
594 * Makefile.am: Revert 2018-04-18 coff-mips changes.
595 * config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec
596 to selvecs for mips targets change 2018-04-18.
597 * configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec
598 and mips_ecoff_bele_vec.
599 * targets.c: Likewise.
600 * coff-mips.c: Resurrect.
601 * Makefile.in: Regenerate.
602 * configure: Regenerate.
603 * po/SRC-POTFILES.in: Regenerate.
604
605 2018-04-18 Alan Modra <amodra@gmail.com>
606
607 * Makefile.am: Remove mips aout and coff support.
608 * config.bfd: Likewise.
609 * configure.ac: Likewise.
610 * targets.c: Likewise.
611 * coff-mips.c: Delete
612 * mipsbsd.c: Delete
613 * pe-mips.c: Delete
614 * pei-mips.c: Delete
615 * Makefile.in: Regenerate.
616 * configure: Regenerate.
617 * po/SRC-POTFILES.in: Regenerate.
618
619 2018-04-17 H.J. Lu <hongjiu.lu@intel.com>
620
621 * elf32-i386.c (elf32_bed): Define before including
622 "elf32-target.h".
623 * elf64-x86-64.c (elf64_bed): Define before including
624 "elf64-target.h".
625 (elf32_bed): Define before including "elf32-target.h".
626
627 2018-04-17 H.J. Lu <hongjiu.lu@intel.com>
628
629 PR ld/23055
630 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a
631 normal input file with compatible relocation.
632
633 2018-04-18 Alan Modra <amodra@gmail.com>
634
635 * Makefile.am: Remove support for assorted i386 aout and coff targets.
636 * config.bfd: Likewise.
637 * configure.ac: Likewise.
638 * doc/bfdint.texi: Likewise.
639 * targets.c: Likewise.
640 * freebsd.h: Delete.
641 * i386dynix.c: Delete.
642 * i386freebsd.c: Delete.
643 * i386linux.c: Delete.
644 * i386mach3.c: Delete.
645 * i386netbsd.c: Delete.
646 * i386os9k.c: Delete.
647 * Makefile.in: Regenerate.
648 * configure: Regenerate.
649 * po/SRC-POTFILES.in: Regenerate.
650
651 2018-04-17 Andrew Sadek <andrew.sadek.se@gmail.com>
652
653 Microblaze Target: PIC data text relative
654
655 * bfd/reloc.c (2 new BFD relocations):
656 BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
657 BFD_RELOC_MICROBLAZE_64_TEXTPCREL
658 * bfd/bfd-in2.h: Regenerate
659 * bfd/libbfd.h: Regenerate
660 * bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
661 new relocs and handle them in both relocate and relax functions.
662 (microblaze_elf_reloc_type_lookup): add mapping between for new
663 bfd relocs.
664 (microblaze_elf_relocate_section): Handle new relocs in case of
665 elf relocation.
666 (microblaze_elf_relax_section): Handle new relocs for elf relaxation.
667
668 2018-04-17 Nick Clifton <nickc@redhat.com>
669
670 PR 23055
671 * aoutx.h (find_nearest_line): Check that the symbol name exists
672 and is long enough, before attempting to see if it is for a .o
673 file.
674 * hash.c (bfd_hash_hash): Add an assertion that the string is not
675 NULL.
676 * linker.c (bfd_link_hash_lookup): Fail if the table or string are
677 NULL.
678 (_bfd_generic_link_add_archive_symbols): Fail if an archive entry
679 has no name.
680
681 PR 23065
682 * dwarf2.c (concat_filename): Check for a NULL table pointer.
683
684 2018-04-16 Nick Clifton <nickc@redhat.com>
685
686 PR 23061
687 * coffgen.c (coff_pointerize_aux): Check for an out of range
688 fixup.
689
690 2018-04-16 Alan Modra <amodra@gmail.com>
691
692 * Makefile.am: Remove arm-epoc-pe support.
693 * coff-arm.c: Likewise.
694 * config.bfd: Likewise.
695 * configure.ac: Likewise.
696 * targets.c: Likewise.
697 * epoc-pe-arm.c: Delete.
698 * epoc-pei-arm.c: Delete.
699 * Makefile.in: Regenerate.
700 * configure: Regenerate.
701 * po/SRC-POTFILES.in: Regenerate.
702
703 2018-04-16 Alan Modra <amodra@gmail.com>
704
705 * Makefile.am: Remove sparc-aout and sparc-coff support.
706 * config.bfd: Likewise.
707 * configure.ac: Likewise.
708 * targets.c: Likewise.
709 * aout-sparcle.c: Delete.
710 * aoutf1.h: Delete.
711 * cf-sparclynx.c: Delete.
712 * coff-sparc.c: Delete.
713 * demo64.c: Delete.
714 * sparclinux.c: Delete.
715 * sparclynx.c: Delete.
716 * sparcnetbsd.c: Delete.
717 * sunos.c: Delete.
718 * Makefile.in: Regenerate.
719 * configure: Regenerate.
720 * po/SRC-POTFILES.in: Regenerate.
721
722 2018-04-16 Alan Modra <amodra@gmail.com>
723
724 * Makefile.am: Remove m68k-aout and m68k-coff support.
725 * aoutf1.h: Likewise.
726 * aoutx.h: Likewise.
727 * archive.c: Likewise.
728 * bfd-in.h: Likewise.
729 * bfd.c: Likewise.
730 * coffcode.h: Likewise.
731 * coffswap.h: Likewise.
732 * config.bfd: Likewise.
733 * configure.ac: Likewise.
734 * configure.host: Likewise.
735 * doc/bfd.texinfo: Likewise.
736 * doc/bfdint.texi: Likewise.
737 * freebsd.h: Likewise.
738 * gen-aout.c: Likewise.
739 * hpux-core.c: Likewise.
740 * libaout.h: Likewise.
741 * libbfd-in.h: Likewise.
742 * pdp11.c: Likewise.
743 * peicode.h: Likewise.
744 * riscix.c: Likewise.
745 * targets.c: Likewise.
746 * aout0.c: Delete.
747 * coff-apollo.c: Delete.
748 * coff-aux.c: Delete.
749 * coff-m68k.c: Delete.
750 * coff-svm68k.c: Delete.
751 * coff-u68k.c: Delete.
752 * hosts/delta68.h: Delete.
753 * hosts/hp300bsd.h: Delete.
754 * hosts/m68kaux.h: Delete.
755 * hosts/news.h: Delete.
756 * hp300bsd.c: Delete.
757 * hp300hpux.c: Delete.
758 * liboasys.h: Delete.
759 * m68k4knetbsd.c: Delete.
760 * m68klinux.c: Delete.
761 * m68knetbsd.c: Delete.
762 * oasys.c: Delete.
763 * versados.c: Delete.
764 * Makefile.in: Regenerate.
765 * bfd-in2.h: Regenerate.
766 * configure: Regenerate.
767 * libbfd.h: Regenerate.
768 * po/SRC-POTFILES.in: Regenerate.
769
770 2018-04-16 Alan Modra <amodra@gmail.com>
771
772 * Makefile.am: Remove sh5 and sh64 support.
773 * archures.c: Likewise.
774 * config.bfd: Likewise.
775 * configure.ac: Likewise.
776 * cpu-sh.c: Likewise.
777 * elf32-sh-relocs.h: Likewise.
778 * elf32-sh.c: Likewise.
779 * targets.c: Likewise.
780 * elf32-sh64-com.c: Delete.
781 * elf32-sh64.c: Delete.
782 * elf32-sh64.h: Delete.
783 * elf64-sh64.c: Delete.
784 * Makefile.in: Regenerate.
785 * bfd-in2.h: Regenerate.
786 * configure: Regenerate.
787 * po/SRC-POTFILES.in: Regenerate.
788
789 2018-04-16 Alan Modra <amodra@gmail.com>
790
791 * Makefile.am: Remove sh-symbianelf support.
792 * config.bfd: Likewise.
793 * configure.ac: Likewise.
794 * targets.c: Likewise.
795 * elf32-sh-symbian.c: Delete.
796 * Makefile.in: Regenerate.
797 * configure: Regenerate.
798 * po/SRC-POTFILES.in: Regenerate.
799
800 2018-04-16 Alan Modra <amodra@gmail.com>
801
802 * Makefile.am: Remove vax-bsd and vax-ultrix support.
803 * config.bfd: Likewise.
804 * configure.ac: Likewise.
805 * targets.c: Likewise.
806 * vaxbsd.c: Delete.
807 * Makefile.in: Regenerate.
808 * configure: Regenerate.
809 * po/SRC-POTFILES.in: Regenerate.
810
811 2018-04-16 Alan Modra <amodra@gmail.com>
812
813 * Makefile.am: Remove w65 support.
814 * archures.c: Likewise.
815 * coffcode.h: Likewise.
816 * config.bfd: Likewise.
817 * configure.ac: Likewise.
818 * targets.c: Likewise.
819 * coff-w65.c: Delete.
820 * cpu-w65.c: Delete.
821 * Makefile.in: Regenerate.
822 * bfd-in2.h: Regenerate.
823 * configure: Regenerate.
824 * po/SRC-POTFILES.in: Regenerate.
825
826 2018-04-16 Alan Modra <amodra@gmail.com>
827
828 * Makefile.am: Remove we32k support.
829 * archures.c: Likewise.
830 * coffcode.h: Likewise.
831 * config.bfd: Likewise.
832 * configure.ac: Likewise.
833 * targets.c: Likewise.
834 * coff-we32k.c: Delete.
835 * cpu-we32k.c: Delete.
836 * Makefile.in: Regenerate.
837 * bfd-in2.h: Regenerate.
838 * configure: Regenerate.
839 * po/SRC-POTFILES.in: Regenerate.
840
841 2018-04-16 Alan Modra <amodra@gmail.com>
842
843 * Makefile.am: Remove m88k support.
844 * aoutx.h: Likewise.
845 * archures.c: Likewise.
846 * coffcode.h: Likewise.
847 * coffswap.h: Likewise.
848 * config.bfd: Likewise.
849 * configure.ac: Likewise.
850 * cpu-ns32k.c: Likewise.
851 * elf32-nds32.c: Likewise.
852 * mach-o.c: Likewise.
853 * netbsd-core.c: Likewise.
854 * reloc.c: Likewise.
855 * targets.c: Likewise.
856 * coff-m88k.c: Delete.
857 * cpu-m88k.c: Delete.
858 * elf32-m88k.c: Delete.
859 * hosts/m88kmach3.h: Delete.
860 * m88kmach3.c: Delete.
861 * m88kopenbsd.c: Delete.
862 * Makefile.in: Regenerate.
863 * bfd-in2.h: Regenerate.
864 * configure: Regenerate.
865 * po/SRC-POTFILES.in: Regenerate.
866
867 2018-04-16 Alan Modra <amodra@gmail.com>
868
869 * Makefile.am: Remove i370 support.
870 * archures.c: Likewise.
871 * config.bfd: Likewise.
872 * configure.ac: Likewise.
873 * targets.c: Likewise.
874 * cpu-i370.c: Delete.
875 * elf32-i370.c: Delete.
876 * Makefile.in: Regenerate.
877 * bfd-in2.h: Regenerate.
878 * configure: Regenerate.
879 * po/SRC-POTFILES.in: Regenerate.
880
881 2018-04-16 Alan Modra <amodra@gmail.com>
882
883 * Makefile.am: Remove h8500 support.
884 * archures.c: Likewise.
885 * coffcode.h: Likewise.
886 * config.bfd: Likewise.
887 * configure.ac: Likewise.
888 * targets.c: Likewise.
889 * coff-h8500.c: Delete.
890 * cpu-h8500.c: Delete.
891 * Makefile.in: Regenerate.
892 * bfd-in2.h: Regenerate.
893 * configure: Regenerate.
894 * po/SRC-POTFILES.in: Regenerate.
895
896 2018-04-16 Alan Modra <amodra@gmail.com>
897
898 * Makefile.am: Remove h8300-coff support.
899 * coffcode.h: Likewise.
900 * config.bfd: Likewise.
901 * configure.ac: Likewise.
902 * reloc16.c: Likewise.
903 * targets.c: Likewise.
904 * coff-h8300.c: Delete.
905 * Makefile.in: Regenerate.
906 * configure: Regenerate.
907 * po/SRC-POTFILES.in: Regenerate.
908
909 2018-04-16 Alan Modra <amodra@gmail.com>
910
911 * Makefile.am: Remove IEEE 695 support.
912 * archures.c: Likewise.
913 * bfd.c: Likewise.
914 * config.bfd: Likewise.
915 * configure.ac: Likewise.
916 * doc/bfd.texinfo: Likewise.
917 * doc/bfdint.texi: Likewise.
918 * doc/bfdsumm.texi: Likewise.
919 * section.c: Likewise.
920 * targets.c: Likewise.
921 * ieee.c: Delete.
922 * libieee.h: Delete.
923 * Makefile.in: Regenerate.
924 * bfd-in2.h: Regenerate.
925 * configure: Regenerate.
926 * po/SRC-POTFILES.in: Regenerate.
927
928 2018-04-16 Alan Modra <amodra@gmail.com>
929
930 * config.bfd: Remove tandem support.
931
932 2018-04-16 Alan Modra <amodra@gmail.com>
933
934 * Makefile.am: Remove newsos3 support.
935 * aoutx.h: Likewise.
936 * config.bfd: Likewise.
937 * configure.ac: Likewise.
938 * targets.c: Likewise.
939 * newsos3.c: Delete.
940 * Makefile.in: Regenerate.
941 * configure: Regenerate.
942 * po/SRC-POTFILES.in: Regenerate.
943
944 2018-04-16 Alan Modra <amodra@gmail.com>
945
946 * Makefile.am: Remove netware support.
947 * bfd-in.h: Likewise.
948 * bfd.c: Likewise.
949 * config.bfd: Likewise.
950 * configure.ac: Likewise.
951 * doc/bfdint.texi: Likewise.
952 * ecoff.c: Likewise.
953 * targets.c: Likewise.
954 * libnlm.h: Delete.
955 * nlm-target.h: Delete.
956 * nlm.c: Delete.
957 * nlm32-alpha.c: Delete.
958 * nlm32-i386.c: Delete.
959 * nlm32-ppc.c: Delete.
960 * nlm32-sparc.c: Delete.
961 * nlm32.c: Delete.
962 * nlm64.c: Delete.
963 * nlmcode.h: Delete.
964 * nlmswap.h: Delete.
965 * Makefile.in: Regenerate.
966 * bfd-in2.h: Regenerate.
967 * configure: Regenerate.
968 * po/SRC-POTFILES.in: Regenerate.
969
970 2018-04-16 Alan Modra <amodra@gmail.com>
971
972 * archures.c: Remove tahoe support.
973 * config.bfd: Likewise.
974 * configure.ac: Likewise.
975 * hosts/tahoe.h: Delete.
976 * bfd-in2.h: Regenerate.
977 * configure: Regenerate.
978
979 2018-04-14 Alan Modra <amodra@gmail.com>
980
981 * elf-bfd.h (struct elf_backend_data): Add relropagesize.
982 * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
983 sanity test.
984 (elfNN_bed): Init relropagesize.
985 * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
986 select relropagesize.
987 * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
988 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
989 (ELF_MINPAGESIZE): Don't define.
990 * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
991 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
992 * bfd-in2.h: Regenerate.
993
994 2018-04-14 Alan Modra <amodra@gmail.com>
995
996 * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
997 on __QNXTARGET__ define.
998
999 2018-04-14 Alan Modra <amodra@gmail.com>
1000
1001 * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
1002 to obsolete list.
1003
1004 2018-04-11 Alan Modra <amodra@gmail.com>
1005
1006 * aout-adobe.c: Delete.
1007 * bout.c: Delete.
1008 * coff-i860.c: Delete.
1009 * coff-i960.c: Delete.
1010 * cpu-i860.c: Delete.
1011 * cpu-i960.c: Delete.
1012 * elf32-i860.c: Delete.
1013 * elf32-i960.c: Delete.
1014 * hosts/i860mach3.h: Delete.
1015 * Makefile.am: Remove i860, i960, bout, and adobe support.
1016 * archures.c: Remove i860 and i960 support.
1017 * coffcode.h: Likewise.
1018 * reloc.c: Likewise.
1019 * aoutx.h: Comment updates.
1020 * archive.c: Remove BOUT and i960 support.
1021 * bfd.c: Remove BOUT support.
1022 * coffswap.h: Remove i960 support.
1023 * config.bfd: Remove i860, i960 and adobe targets.
1024 * configure.ac: Remove adode, bout, i860, i960, icoff targets.
1025 * targets.c: Likewise.
1026 * ieee.c: Remove i960 support.
1027 * mach-o.c: Remove i860 support.
1028 * Makefile.in: Regenerate.
1029 * bfd-in2.h: Regenerate.
1030 * configure: Regenerate.
1031 * libbfd.h: Regenerate.
1032 * po/SRC-POTFILES.in: Regenerate.
1033
1034 2018-04-09 Maciej W. Rozycki <macro@mips.com>
1035
1036 * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
1037 in the BFD symbol referred by the relocation.
1038 (mips_elf64_write_rela): Likewise.
1039
1040 2018-04-09 Maciej W. Rozycki <macro@mips.com>
1041
1042 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
1043 error for out-of-range `r_sym' values.
1044
1045 2018-04-09 Alan Modra <amodra@gmail.com>
1046
1047 * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
1048 (struct ppc_link_hash_table): Add can_convert_all_inline_plt.
1049 (ppc64_elf_check_relocs): Set has_pltcall.
1050 (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
1051 (ppc64_elf_inline_plt): New function.
1052 (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
1053 * elf64-ppc.h (ppc64_elf_inline_plt): Declare.
1054 * elf32-ppc.c (has_pltcall): Define.
1055 (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
1056 (ppc_elf_check_relocs): Set has_pltcall.
1057 (ppc_elf_inline_plt): New function.
1058 (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
1059 (ppc_elf_size_dynamic_sections): Likewise.
1060 * elf32-ppc.h (ppc_elf_inline_plt): Declare.
1061
1062 2018-04-09 Alan Modra <amodra@gmail.com>
1063
1064 * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
1065 (is_plt_seq_reloc): New function.
1066 (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
1067 (ppc_elf_tls_optimize): Handle inline plt call sequence.
1068 (ppc_elf_relax_section): Handle PLTCALL reloc.
1069 (ppc_elf_relocate_section): Nop out inline plt call sequence when
1070 resolving locally.
1071 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
1072 R_PPC64_PLTCALL entries. Comment R_PPC64_TOCSAVE.
1073 (has_tls_get_addr_call): Correct comment.
1074 (is_branch_reloc): Add PLTCALL.
1075 (is_plt_seq_reloc): New function.
1076 (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc. Set
1077 has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD. Create plt
1078 entry for R_PPC64_PLTCALL.
1079 (ppc64_elf_tls_optimize): Handle inline plt call sequence.
1080 (ppc_type_of_stub): Handle PLTCALL reloc.
1081 (toc_adjusting_stub_needed): Likewise.
1082 (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
1083 reloc insn. Nop out inline plt call sequence when resolving
1084 locally. Handle __tls_get_addr inline plt call optimization.
1085
1086 2018-04-09 Alan Modra <amodra@gmail.com>
1087
1088 * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
1089 (struct ppc_stub_hash_entry): Add symtype field.
1090 (PLT_KEEP): Define.
1091 (struct ppc_link_hash_table): Add pltlocal and relpltlocal.
1092 (create_linkage_sections): Create pltlocal and relpltlocal.
1093 (ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
1094 Set PLT_KEEP.
1095 (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
1096 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
1097 (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
1098 Keep PLT entries for inline calls against locals.
1099 (ppc_build_one_stub): Use pltlocal as appropriate.
1100 (ppc_size_one_stub): Likewise.
1101 (ppc64_elf_size_stubs): Set symtype.
1102 (build_global_entry_stubs_and_plt): Init pltlocal and write
1103 relpltlocal for globals.
1104 (write_plt_relocs_for_local_syms): Likewise for local syms.
1105 (ppc64_elf_relocate_section): Support PLT for local syms.
1106 * elf32-ppc.c (PLT_KEEP): Define.
1107 (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
1108 (ppc_elf_create_glink): Create pltlocal and relpltlocal.
1109 (ppc_elf_check_relocs): Allow PLT relocs on local symbols.
1110 Set PLT_KEEP. Adjust update_local_sym_info call.
1111 (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
1112 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
1113 (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
1114 (ppc_elf_relocate_section): Support PLT16 relocs for local syms.
1115 (write_global_sym_plt): Init pltlocal and write relpltlocal.
1116 (ppc_finish_symbols): Likewise for locals.
1117
1118 2018-04-09 Alan Modra <amodra@gmail.com>
1119
1120 * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
1121 for local symbols to..
1122 (write_plt_relocs_for_local_syms): ..here. New function.
1123 (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
1124 global symbols to..
1125 (build_global_entry_stubs_and_plt): ..here. Rename from
1126 build_global_entry_stubs.
1127 (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
1128 Call write_plt_relocs_for_local_syms.
1129 * elf32-ppc.c (get_sym_h): New function.
1130 (ppc_elf_relax_section): Use get_sym_h.
1131 (ppc_elf_relocate_section): Move output of PLT relocs and glink
1132 stubs for local symbols to..
1133 (ppc_finish_symbols): ..here. New function.
1134 (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
1135 global syms to..
1136 (write_global_sym_plt): ..here. New function.
1137 * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
1138 (ppc_finish_symbols): Declare.
1139
1140 2018-04-09 Alan Modra <amodra@gmail.com>
1141
1142 * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
1143 (ppc_elf_relocate_section): Likewise.
1144 * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
1145 (ppc64_elf_relocate_section): Likewise. Correct PLT16
1146 resolution to plt entry relative to toc pointer.
1147
1148 2018-04-09 Alan Modra <amodra@gmail.com>
1149
1150 * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
1151 TLS_TPRELGD, TLS_EXPLICIT): Renumber. Test TLS_TLS throughout
1152 file when other TLS flags are tested in a mask.
1153 (TLS_MARK, NON_GOT): Define.
1154 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
1155 (update_local_sym_info): Don't create got entry when NON_GOT.
1156 (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
1157 Set TLS_MARK.
1158 (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
1159 (ppc64_elf_relocate_section): Likewise.
1160 (ppc64_elf_tls_optimize): Don't attempt to optimize indirect
1161 __tls_get_addr calls lacking a marker reloc.
1162 * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
1163 TLS_TPRELGD): Renumber. Update comment.
1164 (TLS_MARK, NON_GOT): Define.
1165 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
1166 (update_local_sym_info): Don't create got entry when NON_GOT.
1167 (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
1168 Set TLS_MARK.
1169 (ppc_elf_tls_optimize): Don't attempt to optimize indirect
1170 __tls_get_addr calls lacking a marker reloc.
1171
1172 2018-04-06 H.J. Lu <hongjiu.lu@intel.com>
1173
1174 * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
1175 R_X86_64_converted_reloc_bit.
1176
1177 2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
1178
1179 PR gas/22318
1180 * configure: Regenerated.
1181
1182 2018-04-05 Alan Modra <amodra@gmail.com>
1183
1184 * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
1185 (elf_hppa_info_to_howto_rel): Likewise.
1186
1187 2018-04-04 Maciej W. Rozycki <macro@mips.com>
1188
1189 * elf-hppa.h (elf_hppa_info_to_howto): Also return
1190 unsuccessfully for unimplemented relocations.
1191 (elf_hppa_info_to_howto_rel): Likewise.
1192
1193 2018-04-04 Maciej W. Rozycki <macro@mips.com>
1194
1195 * elf32-i860.c (lookup_howto): Add `abfd' parameter. Set the
1196 `bfd_error_bad_value' error and call `_bfd_error_handler' on a
1197 howto lookup failure.
1198 (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
1199 accordingly.
1200 (elf32_i860_info_to_howto_rela): Likewise.
1201 (elf32_i860_relocate_splitn): Likewise.
1202 (elf32_i860_relocate_pc16): Likewise.
1203 (elf32_i860_relocate_pc26): Likewise.
1204 (elf32_i860_relocate_section): Likewise.
1205
1206 2018-04-04 Maciej W. Rozycki <macro@mips.com>
1207
1208 * elf32-visium.c (visium_info_to_howto_rela): Correct the range
1209 check for `visium_elf_howto_table' table access.
1210
1211 2018-04-04 Maciej W. Rozycki <macro@mips.com>
1212
1213 * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
1214 check for `iq2000_elf_howto_table' table access.
1215
1216 2018-04-04 Maciej W. Rozycki <macro@mips.com>
1217
1218 * elf32-frv.c (frv_info_to_howto_rela): Correct the range check
1219 for `elf32_frv_howto_table' table access.
1220
1221 2018-04-04 Maciej W. Rozycki <macro@mips.com>
1222
1223 * elf32-mips.c (mips_elf32_rtype_to_howto): Also return
1224 unsuccessfully for placeholder howtos.
1225 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
1226 * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
1227
1228 2018-03-29 Maciej W. Rozycki <macro@mips.com>
1229
1230 * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
1231 `_bfd_error_handler' and to set the `bfd_error_bad_value' error.
1232
1233 2018-03-28 Maciej W. Rozycki <macro@mips.com>
1234
1235 * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
1236 ATTRIBUTE_UNUSED from `abfd'.
1237
1238 2018-03-28 Maciej W. Rozycki <macro@mips.com>
1239
1240 * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
1241 `_bfd_error_handler' call formatting.
1242
1243 2018-03-28 Maciej W. Rozycki <macro@mips.com>
1244
1245 * elf32-mips.c (mips_info_to_howto_rel): Call
1246 `mips_elf32_rtype_to_howto' directly rather than via
1247 `->elf_backend_mips_rtype_to_howto'.
1248
1249 2018-03-28 Renlin Li <renlin.li@arm.com>
1250
1251 PR ld/22970
1252 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
1253 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
1254 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
1255 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
1256 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
1257 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
1258 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
1259 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
1260 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
1261 (elfNN_aarch64_final_link_relocate): Support new relocations.
1262 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
1263 relocations.
1264 (_bfd_aarch64_elf_resolve_relocation): Support new relocations.
1265
1266 2018-03-28 Renlin Li <renlin.li@arm.com>
1267
1268 PR ld/22970
1269 * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
1270 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
1271 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
1272 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
1273 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
1274 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
1275 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
1276 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
1277 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
1278 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
1279 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
1280 TLSLE_LDST16_TPREL_LO12,
1281 TLSLE_LDST16_TPREL_LO12_NC,
1282 TLSLE_LDST32_TPREL_LO12,
1283 TLSLE_LDST32_TPREL_LO12_NC,
1284 TLSLE_LDST64_TPREL_LO12,
1285 TLSLE_LDST64_TPREL_LO12_NC,
1286 TLSLE_LDST8_TPREL_LO12,
1287 TLSLE_LDST8_TPREL_LO12_NC.
1288 * bfd-in2.h: Regenerated.
1289 * libbfd.h: Regenerated.
1290
1291 2018-03-28 Eric Botcazou <ebotcazou@adacore.com>
1292
1293 PR ld/22972
1294 * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
1295 has_old_style_got_reloc.
1296 (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
1297 relocations. Fix a couple of long lines.
1298 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
1299 a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
1300 GOT relocations.
1301
1302 2018-03-25 H.J. Lu <hongjiu.lu@intel.com>
1303
1304 PR ld/23000
1305 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
1306 ENDBR64 to the TLSDESC PLT entry.
1307
1308 2018-03-21 Alan Modra <amodra@gmail.com>
1309
1310 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
1311 symbols. Use size_t counts. Delete redundant opd test.
1312
1313 2018-03-21 Alan Modra <amodra@gmail.com>
1314
1315 * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
1316
1317 2018-03-21 Alan Modra <amodra@gmail.com>
1318
1319 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
1320 field unsigned.
1321 (update_local_sym_info): Likewise for local_got_tls_masks.
1322 (ppc_elf_tls_optimize): Likewise for lgot_masks.
1323
1324 2018-03-21 Alan Modra <amodra@gmail.com>
1325
1326 * elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
1327 (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
1328 do in size_dynamic_sections.
1329
1330 2018-03-21 Alan Modra <amodra@gmail.com>
1331
1332 * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
1333 without first checking array bounds.
1334 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1335
1336 2018-03-20 H.J. Lu <hongjiu.lu@intel.com>
1337
1338 PR ld/22983
1339 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
1340 non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
1341
1342 2018-03-19 Nick Clifton <nickc@redhat.com>
1343
1344 * po/es.po: Updated Spanish translation.
1345
1346 2018-03-15 Max Filippov <jcmvbkbc@gmail.com>
1347
1348 * elf32-xtensa.c (xlate_map_entry): Change types of address
1349 fields from 'unsigned' to 'bfd_vma'.
1350 (xlate_offset_with_removed_text): Use struct xlate_map_entry as
1351 the key argument to bsearch. Allow offsets past the end of a
1352 section, use the last map entry for translation of such offsets.
1353
1354 2018-03-15 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1355
1356 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
1357 Not support the target feature.
1358 (nds32_elf_ex9_itb_base): Likewise.
1359 (nds32_elf_ex9_import_table): Likewise.
1360 (nds32_elf_ex9_finish): Likewise.
1361 (nds32_elf_ex9_reloc_jmp): Likewise.
1362 (nds32_elf_get_insn_with_reg): Likewise.
1363 (nds32_get_local_syms): Likewise.
1364 (nds32_elf_ex9_replace_instruction): Likewise.
1365 (nds32_elf_ifc_calc): Likewise.
1366 (nds32_elf_ifc_finish): Likewise.
1367 (nds32_elf_ifc_replace): Likewise.
1368 (nds32_elf_ifc_reloc): Likewise.
1369
1370 2018-03-14 Alan Modra <amodra@gmail.com>
1371
1372 * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
1373 sfpr size added before defining alias symbols.
1374 (ppc64_elf_build_stubs): Add stub section padding before
1375 copying sfpr contents and defining save/restore alias symbols.
1376
1377 2018-03-14 H.J. Lu <hongjiu.lu@intel.com>
1378
1379 PR ld/20882
1380 * elflink.c (elf_gc_mark_debug_section): Also check the local
1381 debug definition section.
1382
1383 2018-03-13 Nick Clifton <nickc@redhat.com>
1384
1385 PR 22113
1386 * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
1387 function. Add an end address parameter. Check access of the data
1388 pointer to make sure that they do not extend beyond the end
1389 address. Return FALSE if any check fails. Add the end address
1390 pointer to the ui structure.
1391 (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
1392 codes to make sure that they do not extend beyond the end address
1393 pointer. Print an error message and return immediately if any
1394 check fails.
1395
1396 2018-03-09 Nick Clifton <nickc@redhat.com>
1397
1398 * elf64-s390.c (elf_s390_relocate_section): Move check for
1399 relocations against non-allocated sections to before the code that
1400 handles ifunc relocations.
1401 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1402 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
1403 relocs against IFUNC symbols in non-allocated sections as relocs
1404 against FUNC symbols.
1405 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1406
1407 2018-03-08 H.J. Lu <hongjiu.lu@intel.com>
1408
1409 PR ld/22929
1410 * elf32-i386.c (elf_i386_relocate_section): Treat relocation
1411 against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
1412 relocation against FUNC symbol.
1413 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1414
1415 2018-03-07 Renlin Li <renlin.li@arm.com>
1416
1417 PR ld/20402
1418 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
1419 symbol, and don't emit relocation in specific case.
1420
1421 2018-03-07 Alan Modra <amodra@gmail.com>
1422
1423 * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
1424 (mips_elf64_slurp_one_reloc_table): Pass on error.
1425
1426 2018-03-03 James Cowgill <james.cowgill@mips.com>
1427 Maciej W. Rozycki <macro@mips.com>
1428
1429 PR ld/21900
1430 * elfxx-mips.c (mips_elf_calculate_relocation): Only return
1431 after calling `undefined_symbol' hook if this is an error
1432 condition. Assume the value of 0 for the symbol requested
1433 otherwise.
1434
1435 2018-03-02 Jim Wilson <jimw@sifive.com>
1436
1437 PR 22903
1438 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
1439 and nop instead of 4.
1440 (elfNN_arch64_build_stubs): Add nop after branch. Increase size by
1441 8 instead of 4.
1442
1443 2018-03-01 Jim Wilson <jimw@sifive.com>
1444
1445 PR 22756
1446 * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
1447 else if instead of if.
1448
1449 2018-03-01 Alan Modra <amodra@gmail.com>
1450
1451 * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
1452
1453 2018-02-28 Alan Modra <amodra@gmail.com>
1454
1455 PR 22887
1456 * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
1457
1458 2018-02-28 Nick Clifton <nickc@redhat.com>
1459
1460 PR 22895
1461 PR 22893
1462 * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
1463 pointer. Drop unused abfd parameter. Check the size of the block
1464 before initialising the data field. Return the end pointer if the
1465 size is invalid.
1466 (read_attribute_value): Adjust invocations of read_n_bytes.
1467
1468 PR 22894
1469 * dwarf1.c (parse_die): Check the length of form blocks before
1470 advancing the data pointer.
1471
1472 2018-02-28 Alan Modra <amodra@gmail.com>
1473
1474 PR 22887
1475 * aoutx.h (translate_symbol_table): Print an error message and set
1476 bfd_error on finding an invalid name string offset.
1477
1478 2018-02-27 H.J. Lu <hongjiu.lu@intel.com>
1479
1480 * config.in: Regenerated.
1481 * configure: Likewise.
1482 * configure.ac: Add --enable-separate-code.
1483 (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default
1484 to 1 for Linux/x86 targets,
1485 * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
1486 DEFAULT_LD_Z_SEPARATE_CODE is 1.
1487
1488 2018-02-27 Nick Clifton <nickc@redhat.com>
1489
1490 * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
1491 message.
1492 * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
1493 * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
1494 * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
1495 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
1496 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
1497 * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
1498 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
1499 * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
1500 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
1501
1502 PR 22875
1503 * elf-bfd.h (struct elf_backend_data): Change the return type of
1504 the elf_info_to_howto and elf_info_to_howto_rel function pointers
1505 to bfd_boolean.
1506 * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
1507 value from the info_to_howto function and fail if that function
1508 failed.
1509 * elf32-h8300.c (elf32_h8_relocate_section): Check return value
1510 from the info_to_howto function.
1511 (elf32_h8_relax_section): Likewise.
1512 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1513 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1514 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
1515 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1516 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1517 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
1518 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
1519 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
1520 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
1521 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
1522 (riscv_elf_relocate_section): Likewise.
1523 * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
1524 bfd_boolean. Issue an error message, set an error value and
1525 return FALSE if the reloc is not recognized.
1526 (elf_hppa_info_to_howto_rel): Likewise.
1527 * elf-m10200.c (mn10200_info_to_howto): Likewise.
1528 * elf-m10300.c (mn10300_info_to_howto): Likewise.
1529 * elf.c (_bfd_elf_no_info_to_howto): Likewise.
1530 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
1531 * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
1532 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
1533 * elf32-bfin.c (bfin_info_to_howto): Likewise.
1534 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
1535 * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
1536 * elf32-cris.c (elf_cr16c_info_to_howto_rel)
1537 (cris_info_to_howto_rela): Likewise.
1538 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1539 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
1540 * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
1541 Likewise.
1542 * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
1543 (elf32_dlx_info_to_howto_rel): Likewise.
1544 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
1545 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
1546 * elf32-frv.c (frv_info_to_howto_rela)
1547 (frvfdpic_info_to_howto_rel): Likewise.
1548 * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
1549 * elf32-gen.c (elf_generic_info_to_howto)
1550 (elf_generic_info_to_howto_rel): Likewise.
1551 * elf32-h8300.c (elf32_h8_info_to_howto)
1552 (elf32_h8_info_to_howto_rel): Likewise.
1553 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1554 * elf32-i386.c (elf_i386_reloc_type_lookup)
1555 (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
1556 * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
1557 Likewise.
1558 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
1559 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
1560 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
1561 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
1562 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
1563 * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
1564 Likewise.
1565 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
1566 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
1567 * elf32-m68k.c (rtype_to_howto): Likewise.
1568 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1569 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
1570 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
1571 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1572 * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
1573 Likewise.
1574 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
1575 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
1576 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
1577 * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
1578 Likewise.
1579 * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
1580 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
1581 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1582 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1583 * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
1584 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
1585 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
1586 * elf32-s390.c (elf_s390_info_to_howto): Likewise.
1587 * elf32-score.c (s3_bfd_score_info_to_howto)
1588 (_bfd_score_info_to_howto): Likewise.
1589 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
1590 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1591 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1592 * elf32-tic6x.c (elf32_tic6x_info_to_howto)
1593 (elf32_tic6x_info_to_howto_rel): Likewise.
1594 * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
1595 * elf32-v850.c (v850_elf_info_to_howto_rel)
1596 (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
1597 * elf32-vax.c (rtype_to_howto): Likewise.
1598 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
1599 * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
1600 (elf32_wasm32_info_to_howto_rela): Likewise.
1601 * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
1602 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
1603 * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
1604 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
1605 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1606 * elf64-gen.c (elf_generic_info_to_howto)
1607 (elf_generic_info_to_howto_rel): Likewise.
1608 * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
1609 * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
1610 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
1611 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
1612 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
1613 * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
1614 Likewise.
1615 * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
1616 * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
1617 Likewise.
1618 * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
1619 * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
1620 * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
1621 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
1622 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
1623 * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
1624 * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
1625 * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
1626 * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
1627 * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
1628 Default to NULL.
1629
1630 2018-02-26 Jim Wilson <jimw@sifive.com>
1631 Stephan Schreiber <info@fs-driver.org>
1632
1633 PR 15904
1634 * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
1635 call, set changed_contents and changed_relocs. Likewise after
1636 successful ia64_elf_relax_br call.
1637
1638 2018-02-26 Alan Modra <amodra@gmail.com>
1639
1640 * elf.c (assign_file_positions_except_relocs): Don't segfault
1641 when actual number of phdrs is less than allocated. Delete
1642 outdated comment. Formatting.
1643
1644 2018-02-26 Alan Modra <amodra@gmail.com>
1645
1646 * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
1647 * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
1648 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
1649 * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
1650 * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
1651 * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
1652 * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
1653 * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
1654 * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
1655 * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
1656 error/warning messages.
1657
1658 2018-02-26 Alan Modra <amodra@gmail.com>
1659
1660 * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
1661 * syms.c: Standardize error/warning messages.
1662
1663 2018-02-26 Alan Modra <amodra@gmail.com>
1664
1665 * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
1666 * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
1667 * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
1668 * peXXigen.c, * peicode.h: Standardize error/warning messages.
1669
1670 2018-02-26 Alan Modra <amodra@gmail.com>
1671
1672 * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
1673
1674 2018-02-26 Alan Modra <amodra@gmail.com>
1675
1676 * elfxx-mips.c: Standardize error/warning messages.
1677
1678 2018-02-26 Alan Modra <amodra@gmail.com>
1679
1680 * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
1681 * elflink.c: Standardize error/warning messages. Replace use of
1682 linker callback einfo with _bfd_error_handler when possible.
1683
1684 2018-02-26 Alan Modra <amodra@gmail.com>
1685
1686 * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
1687 * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
1688 * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
1689 * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
1690 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
1691 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
1692 * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
1693 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
1694 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
1695 * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
1696 * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
1697 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
1698 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
1699 * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
1700 * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
1701 * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
1702 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
1703 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
1704 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
1705 * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
1706 * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
1707 unrecognized/unsupported reloc message.
1708
1709 2018-02-26 Alan Modra <amodra@gmail.com>
1710
1711 * elf32-ppc.c: Standardize error/warning messages. Use
1712 _bfd_error_handler rather than einfo when einfo features not used.
1713 * elf64-ppc.c: Likewise.
1714
1715 2018-02-23 Alan Modra <amodra@gmail.com>
1716
1717 PR 22881
1718 * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
1719 segment if no matching LOAD segment.
1720
1721 2018-02-23 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1722
1723 * elf32-nds32.h: Define mask for ict_model.
1724
1725 2018-02-20 Jason Duerstock <jason.duerstock@gmail.com>
1726
1727 * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
1728
1729 2018-02-19 Maciej W. Rozycki <macro@mips.com>
1730
1731 Revert
1732 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
1733
1734 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
1735 .reginfo section has wrong size.
1736
1737 2018-02-19 Maciej W. Rozycki <macro@mips.com>
1738
1739 * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
1740 SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
1741 `.MIPS.abiflags' sections.
1742 (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
1743 section's end.
1744
1745 2018-02-19 Maciej W. Rozycki <macro@mips.com>
1746
1747 * section.c (SEC_FIXED_SIZE): New macro.
1748 * bfd-in2.h: Regenerate.
1749
1750 2018-02-19 Maciej W. Rozycki <macro@mips.com>
1751
1752 * section.c (SEC_HAS_GOT_REF): Remove macro.
1753 * bfd-in2.h: Regenerate.
1754
1755 2018-02-19 Alan Modra <amodra@gmail.com>
1756
1757 * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
1758 arguments.
1759 * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
1760 * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
1761 (_bfd_riscv_relax_pc): Likewise and fix typos.
1762 * libbfd-in.h (_bfd_error_handler): Add attribute printf.
1763 * libbfd.h: Regenerate.
1764
1765 2018-02-19 Alan Modra <amodra@gmail.com>
1766
1767 * dwarf2.c (read_section): Don't use 'll' format modifier.
1768 (find_abstract_instance): Likewise.
1769 * elfcore.h (elf_core_file_p): Likewise.
1770
1771 2018-02-19 Alan Modra <amodra@gmail.com>
1772
1773 * bfd-in.h: Include inttypes.h or if not available define
1774 PRId64, PRIu64 and PRIx64.
1775 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
1776 modifier to print bfd_vma.
1777 * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
1778 * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
1779 * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
1780 * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
1781 * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
1782 * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
1783 * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
1784 * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
1785 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
1786 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
1787 * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
1788 * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
1789 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
1790 * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
1791 * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
1792 and cast input to uint64_t, and similarly for Ld and Lu.
1793 * bfd-in2.h: Regenerate.
1794
1795 2018-02-19 Alan Modra <amodra@gmail.com>
1796
1797 * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
1798 * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
1799 * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
1800 * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
1801 * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
1802 * reloc.c: Replace use of %R and %T in format strings passed to
1803 einfo and friends by %pR and %pT.
1804
1805 2018-02-19 Alan Modra <amodra@gmail.com>
1806
1807 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
1808 of %A and %B.
1809 * aout-adobe.c: Update all messages using %A and %B.
1810 * aout-cris.c: Likewise.
1811 * aoutx.h: Likewise.
1812 * archive.c: Likewise.
1813 * binary.c: Likewise.
1814 * cache.c: Likewise.
1815 * coff-alpha.c: Likewise.
1816 * coff-arm.c: Likewise.
1817 * coff-i860.c: Likewise.
1818 * coff-mcore.c: Likewise.
1819 * coff-ppc.c: Likewise.
1820 * coff-rs6000.c: Likewise.
1821 * coff-sh.c: Likewise.
1822 * coff-tic4x.c: Likewise.
1823 * coff-tic54x.c: Likewise.
1824 * coff-tic80.c: Likewise.
1825 * coff64-rs6000.c: Likewise.
1826 * coffcode.h: Likewise.
1827 * coffgen.c: Likewise.
1828 * cofflink.c: Likewise.
1829 * coffswap.h: Likewise.
1830 * compress.c: Likewise.
1831 * cpu-arm.c: Likewise.
1832 * ecoff.c: Likewise.
1833 * elf-attrs.c: Likewise.
1834 * elf-eh-frame.c: Likewise.
1835 * elf-ifunc.c: Likewise.
1836 * elf-m10300.c: Likewise.
1837 * elf-properties.c: Likewise.
1838 * elf-s390-common.c: Likewise.
1839 * elf.c: Likewise.
1840 * elf32-arc.c: Likewise.
1841 * elf32-arm.c: Likewise.
1842 * elf32-avr.c: Likewise.
1843 * elf32-bfin.c: Likewise.
1844 * elf32-cr16.c: Likewise.
1845 * elf32-cr16c.c: Likewise.
1846 * elf32-cris.c: Likewise.
1847 * elf32-crx.c: Likewise.
1848 * elf32-d10v.c: Likewise.
1849 * elf32-d30v.c: Likewise.
1850 * elf32-epiphany.c: Likewise.
1851 * elf32-fr30.c: Likewise.
1852 * elf32-frv.c: Likewise.
1853 * elf32-gen.c: Likewise.
1854 * elf32-hppa.c: Likewise.
1855 * elf32-i370.c: Likewise.
1856 * elf32-i386.c: Likewise.
1857 * elf32-i960.c: Likewise.
1858 * elf32-ip2k.c: Likewise.
1859 * elf32-iq2000.c: Likewise.
1860 * elf32-lm32.c: Likewise.
1861 * elf32-m32c.c: Likewise.
1862 * elf32-m32r.c: Likewise.
1863 * elf32-m68hc11.c: Likewise.
1864 * elf32-m68hc12.c: Likewise.
1865 * elf32-m68hc1x.c: Likewise.
1866 * elf32-m68k.c: Likewise.
1867 * elf32-mcore.c: Likewise.
1868 * elf32-mep.c: Likewise.
1869 * elf32-metag.c: Likewise.
1870 * elf32-microblaze.c: Likewise.
1871 * elf32-moxie.c: Likewise.
1872 * elf32-msp430.c: Likewise.
1873 * elf32-mt.c: Likewise.
1874 * elf32-nds32.c: Likewise.
1875 * elf32-nios2.c: Likewise.
1876 * elf32-or1k.c: Likewise.
1877 * elf32-pj.c: Likewise.
1878 * elf32-ppc.c: Likewise.
1879 * elf32-rl78.c: Likewise.
1880 * elf32-rx.c: Likewise.
1881 * elf32-s390.c: Likewise.
1882 * elf32-score.c: Likewise.
1883 * elf32-score7.c: Likewise.
1884 * elf32-sh-symbian.c: Likewise.
1885 * elf32-sh.c: Likewise.
1886 * elf32-sh64.c: Likewise.
1887 * elf32-sparc.c: Likewise.
1888 * elf32-spu.c: Likewise.
1889 * elf32-tic6x.c: Likewise.
1890 * elf32-tilepro.c: Likewise.
1891 * elf32-v850.c: Likewise.
1892 * elf32-vax.c: Likewise.
1893 * elf32-visium.c: Likewise.
1894 * elf32-wasm32.c: Likewise.
1895 * elf32-xgate.c: Likewise.
1896 * elf32-xtensa.c: Likewise.
1897 * elf64-alpha.c: Likewise.
1898 * elf64-gen.c: Likewise.
1899 * elf64-hppa.c: Likewise.
1900 * elf64-ia64-vms.c: Likewise.
1901 * elf64-mmix.c: Likewise.
1902 * elf64-ppc.c: Likewise.
1903 * elf64-s390.c: Likewise.
1904 * elf64-sh64.c: Likewise.
1905 * elf64-sparc.c: Likewise.
1906 * elf64-x86-64.c: Likewise.
1907 * elfcode.h: Likewise.
1908 * elfcore.h: Likewise.
1909 * elflink.c: Likewise.
1910 * elfnn-aarch64.c: Likewise.
1911 * elfnn-ia64.c: Likewise.
1912 * elfnn-riscv.c: Likewise.
1913 * elfxx-mips.c: Likewise.
1914 * elfxx-sparc.c: Likewise.
1915 * elfxx-tilegx.c: Likewise.
1916 * elfxx-x86.c: Likewise.
1917 * hpux-core.c: Likewise.
1918 * ieee.c: Likewise.
1919 * ihex.c: Likewise.
1920 * libbfd.c: Likewise.
1921 * linker.c: Likewise.
1922 * mach-o.c: Likewise.
1923 * merge.c: Likewise.
1924 * mmo.c: Likewise.
1925 * oasys.c: Likewise.
1926 * pdp11.c: Likewise.
1927 * pe-mips.c: Likewise.
1928 * peXXigen.c: Likewise.
1929 * peicode.h: Likewise.
1930 * reloc.c: Likewise.
1931 * rs6000-core.c: Likewise.
1932 * srec.c: Likewise.
1933 * stabs.c: Likewise.
1934 * vms-alpha.c: Likewise.
1935 * xcofflink.c: Likewise.
1936
1937 2018-02-19 Alan Modra <amodra@gmail.com>
1938
1939 PR 22845
1940 * elf.c (IS_TBSS): Define.
1941 (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
1942 (assign_file_positions_for_non_load_sections): Revert last change.
1943 Properly calculate load segment limits to compare against relro limits.
1944
1945 2018-02-17 Alan Modra <amodra@gmail.com>
1946
1947 PR 22845
1948 * elf.c (assign_file_positions_for_non_load_sections): Ignore
1949 degenerate zero size PT_LOAD segments when finding one overlapping
1950 the PT_GNU_RELRO segment.
1951
1952 2018-02-16 Alan Modra <amodra@gmail.com>
1953
1954 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
1955 (_bfd_bool_bfd_true): Rename from bfd_true.
1956 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
1957 (_bfd_int_bfd_0): Rename from bfd_0.
1958 (_bfd_uint_bfd_0): Rename from bfd_0u.
1959 (_bfd_long_bfd_0): Rename from bfd_0l.
1960 (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
1961 (_bfd_void_bfd): Rename from bfd_void.
1962 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
1963 (_bfd_bool_bfd_link_false_error),
1964 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
1965 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
1966 (_bfd_bool_bfd_asection_bfd_asection_true),
1967 (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
1968 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
1969 * archive.c (_bfd_noarchive_get_elt_at_index),
1970 (_bfd_noarchive_openr_next_archived_file),
1971 (_bfd_noarchive_construct_extended_name_table),
1972 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
1973 (_bfd_noarchive_write_armap): New functions.
1974 * archures.c (_bfd_nowrite_set_arch_mach): New function.
1975 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
1976 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
1977 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
1978 (alpha_ecoff_swap_coff_lineno_out),
1979 (alpha_ecoff_swap_coff_reloc_out): New functions.
1980 * coff-mips.c (mips_ecoff_swap_coff_aux_in),
1981 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
1982 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
1983 (mips_ecoff_swap_coff_lineno_out),
1984 (mips_ecoff_swap_coff_reloc_out): New functions.
1985 * coffcode.h (coff_set_alignment_hook): Replace define with
1986 new function.
1987 (symname_in_debug_hook): Likewise.
1988 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
1989 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
1990 * elf.c (assign_file_positions_except_relocs): Test
1991 elf_backend_allow_non_load_phdr for NULL.
1992 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
1993 _bfd_elf_link_omit_section_dynsym. Update uses.
1994 (_bfd_elf_omit_section_dynsym_all): New function.
1995 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
1996 (_bfd_elf_omit_section_dynsym_default): Declare.
1997 (_bfd_elf_omit_section_dynsym_all): Declare.
1998 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
1999 (_bfd_nolink_bfd_get_relocated_section_contents),
2000 (_bfd_nolink_bfd_lookup_section_flags),
2001 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
2002 (_bfd_nolink_bfd_link_hash_table_create),
2003 (_bfd_nolink_bfd_link_just_syms),
2004 (_bfd_nolink_bfd_copy_link_hash_symbol_type),
2005 (_bfd_nolink_bfd_link_split_section),
2006 (_bfd_nolink_section_already_linked),
2007 (_bfd_nolink_bfd_define_common_symbol),
2008 (_bfd_nolink_bfd_define_start_stop): New functions.
2009 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
2010 (_bfd_norelocs_bfd_reloc_name_lookup),
2011 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
2012 * section.c (_bfd_nowrite_set_section_contents): New function.
2013 * syms.c (_bfd_nosymbols_canonicalize_symtab),
2014 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
2015 (_bfd_nosymbols_get_symbol_version_string),
2016 (_bfd_nosymbols_bfd_is_local_label_name),
2017 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
2018 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
2019 (_bfd_nosymbols_bfd_make_debug_symbol),
2020 ( _bfd_nosymbols_read_minisymbols),
2021 ( _bfd_nosymbols_minisymbol_to_symbol),
2022 (_bfd_nodynamic_get_synthetic_symtab): New functions.
2023 * libbfd-in.h: Declare new functions. Update existing defines,
2024 removing casts.
2025 * aix386-core.c: Update to use new hooks. Formatting.
2026 * aout-adobe.c: Likewise.
2027 * aout-arm.c: Likewise.
2028 * aout-target.h: Likewise.
2029 * aout-tic30.c: Likewise.
2030 * aoutf1.h: Likewise.
2031 * binary.c: Likewise.
2032 * bout.c: Likewise.
2033 * cisco-core.c: Likewise.
2034 * coff-alpha.c: Likewise.
2035 * coff-i386.c: Likewise.
2036 * coff-i860.c: Likewise.
2037 * coff-i960.c: Likewise.
2038 * coff-ia64.c: Likewise.
2039 * coff-mips.c: Likewise.
2040 * coff-ppc.c: Likewise.
2041 * coff-rs6000.c: Likewise.
2042 * coff-sh.c: Likewise.
2043 * coff-tic30.c: Likewise.
2044 * coff-tic54x.c: Likewise.
2045 * coff-x86_64.c: Likewise.
2046 * coff64-rs6000.c: Likewise.
2047 * coffcode.h: Likewise.
2048 * elf-m10300.c: Likewise.
2049 * elf32-cr16.c: Likewise.
2050 * elf32-lm32.c: Likewise.
2051 * elf32-m32r.c: Likewise.
2052 * elf32-metag.c: Likewise.
2053 * elf32-score.c: Likewise.
2054 * elf32-score7.c: Likewise.
2055 * elf32-tilepro.c: Likewise.
2056 * elf32-xstormy16.c: Likewise.
2057 * elf32-xtensa.c: Likewise.
2058 * elf64-alpha.c: Likewise.
2059 * elf64-hppa.c: Likewise.
2060 * elf64-ia64-vms.c: Likewise.
2061 * elf64-mmix.c: Likewise.
2062 * elf64-sh64.c: Likewise.
2063 * elfnn-ia64.c: Likewise.
2064 * elfxx-sparc.c: Likewise.
2065 * elfxx-target.h: Likewise.
2066 * elfxx-tilegx.c: Likewise.
2067 * elfxx-x86.h: Likewise.
2068 * hp300hpux.c: Likewise.
2069 * hppabsd-core.c: Likewise.
2070 * hpux-core.c: Likewise.
2071 * i386msdos.c: Likewise.
2072 * i386os9k.c: Likewise.
2073 * ieee.c: Likewise.
2074 * ihex.c: Likewise.
2075 * irix-core.c: Likewise.
2076 * libaout.h: Likewise.
2077 * libecoff.h: Likewise.
2078 * mach-o-target.c: Likewise.
2079 * mach-o.c: Likewise.
2080 * mipsbsd.c: Likewise.
2081 * mmo.c: Likewise.
2082 * netbsd-core.c: Likewise.
2083 * nlm-target.h: Likewise.
2084 * oasys.c: Likewise.
2085 * osf-core.c: Likewise.
2086 * pdp11.c: Likewise.
2087 * pe-mips.c: Likewise.
2088 * pe-x86_64.c: Likewise.
2089 * pef.c: Likewise.
2090 * plugin.c: Likewise.
2091 * ppcboot.c: Likewise.
2092 * ptrace-core.c: Likewise.
2093 * sco5-core.c: Likewise.
2094 * som.c: Likewise.
2095 * sparclynx.c: Likewise.
2096 * srec.c: Likewise.
2097 * tekhex.c: Likewise.
2098 * trad-core.c: Likewise.
2099 * verilog.c: Likewise.
2100 * versados.c: Likewise.
2101 * vms-alpha.c: Likewise.
2102 * vms-lib.c: Likewise.
2103 * wasm-module.c: Likewise.
2104 * xsym.c: Likewise.
2105 * libbfd.h: Regenerate.
2106
2107 2018-02-15 Jim Wilson <jimw@sifive.com>
2108
2109 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
2110 symbols whose section address is zero.
2111
2112 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
2113 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
2114 bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
2115 Add %X%P to error messages.
2116
2117 2018-02-15 Eric Botcazou <ebotcazou@adacore.com>
2118
2119 PR ld/22832
2120 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
2121 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
2122 and assert that the result of the call is not NULL.
2123
2124 2018-02-14 Nick Clifton <nickc@redhat.com>
2125
2126 PR 22823
2127 Revert previous delta. Add extra casts to avoid compile time
2128 warnings instead.
2129 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
2130 cast to avoid warning from gcc v8 compiler.
2131 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
2132 (_bfd_generic_bfd_set_private_flags): Likewise.
2133 (_bfd_generic_bfd_copy_private_section_data): Likewise.
2134 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
2135 (_bfd_generic_bfd_copy_private_header_data): Likewise.
2136 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
2137 (_bfd_noarchive_construct_extended_name_table): Likewise.
2138 (_bfd_noarchive_truncate_arname): Likewise.
2139 (_bfd_noarchive_write_ar_hdr): Likewise.
2140 (_bfd_noarchive_get_elt_at_index): Likewise.
2141 (_bfd_nosymbols_canonicalize_symtab): Likewise.
2142 (_bfd_nosymbols_print_symbol): Likewise.
2143 (_bfd_nosymbols_get_symbol_info): Likewise.
2144 (_bfd_nosymbols_get_symbol_version_string): Likewise.
2145 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
2146 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
2147 (_bfd_nosymbols_get_lineno): Likewise.
2148 (_bfd_nosymbols_find_nearest_line): Likewise.
2149 (_bfd_nosymbols_find_line): Likewise.
2150 (_bfd_nosymbols_find_inliner_info): Likewise.
2151 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
2152 (_bfd_nosymbols_read_minisymbols): Likewise.
2153 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
2154 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
2155 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
2156 (_bfd_nowrite_set_arch_mach): Likewise.
2157 (_bfd_nowrite_set_section_contents): Likewise.
2158 (_bfd_nolink_sizeof_headers): Likewise.
2159 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
2160 (_bfd_nolink_bfd_relax_section): Likewise.
2161 (_bfd_nolink_bfd_gc_sections): Likewise.
2162 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
2163 (_bfd_nolink_bfd_merge_sections): Likewise.
2164 (_bfd_nolink_bfd_is_group_section): Likewise.
2165 (_bfd_nolink_bfd_discard_group): Likewise.
2166 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
2167 (_bfd_nolink_bfd_link_add_symbols): Likewise.
2168 (_bfd_nolink_bfd_link_just_syms): Likewise.
2169 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
2170 (_bfd_nolink_bfd_final_link): Likewise.
2171 (_bfd_nolink_bfd_link_split_section): Likewise.
2172 (_bfd_nolink_section_already_linked): Likewise.
2173 (_bfd_nolink_bfd_define_common_symbol): Likewise.
2174 (_bfd_nolink_bfd_define_start_stop): Likewise.
2175 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
2176 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
2177 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
2178 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
2179 * libbfd.c (bfd_false_any): Delete.
2180 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
2181 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
2182 * libbfd.h (extern): Regenerate
2183 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
2184 cast to avoid warning from gcc v8 compiler.
2185 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
2186 * binary.c (binary_get_symbol_info): Likewise.
2187 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
2188 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2189 * coffcode.h (coff_set_alignment_hook): Likewise.
2190 (symname_in_debug_hook): Likewise.
2191 (bfd_coff_backend_data bigobj_swap_table): Likewise.
2192 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
2193 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
2194 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
2195 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
2196 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
2197 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
2198 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
2199 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
2200 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
2201 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
2202 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
2203 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
2204 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
2205 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
2206 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
2207 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
2208 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
2209 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
2210 (bfd_elfNN_bfd_set_private_flags): Likewise.
2211 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
2212 (elf_backend_init_index_section): Likewise.
2213 (elf_backend_allow_non_load_phdr): Likewise.
2214 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
2215 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
2216 * ieee.c (ieee_construct_extended_name_table): Likewise.
2217 (ieee_write_armap): Likewise.
2218 (ieee_write_ar_hdr): Likewise.
2219 (ieee_bfd_is_target_special_symbol): Likewise.
2220 * ihex.c (ihex_canonicalize_symtab): Likewise.
2221 (ihex_bfd_is_target_special_symbol): Likewise.
2222 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
2223 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
2224 (_bfd_ecoff_set_alignment_hook): Likewise.
2225 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
2226 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
2227 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
2228 * oasys.c (oasys_construct_extended_name_table): Likewise.
2229 (oasys_write_armap): Likewise.
2230 (oasys_write_ar_hdr): Likewise.
2231 (oasys_bfd_is_target_special_symbol): Likewise.
2232 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
2233 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
2234 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
2235 * som.c (som_bfd_is_target_special_symbol): Likewise.
2236 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
2237 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
2238 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
2239 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
2240 (versados_bfd_reloc_name_lookup): Likewise.
2241 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
2242 (vms_bfd_define_start_stop): Likewise.
2243 (alpha_vms_bfd_is_target_special_symbol): Likewise.
2244 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
2245 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
2246
2247 2018-02-14 H.J. Lu <hongjiu.lu@intel.com>
2248
2249 PR ld/22842
2250 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
2251 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
2252 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
2253 R_X86_64_PC32 reloc against dynamic function in data section.
2254 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
2255 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
2256 against dynamic function in data section.
2257 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
2258 function address only if pcrel_plt is true.
2259 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
2260 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
2261 PC-relative PLT. If PLT is PC-relative, don't generate dynamic
2262 PC-relative relocation against a function definition in data
2263 secton in PIE. Remove the obsolete comments.
2264 (elf_x86_link_hash_table): Add pcrel_plt.
2265
2266 2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
2267
2268 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
2269 instead of bfd_link_pic, for building shared library.
2270
2271 2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
2272
2273 PR gas/22791
2274 * elf64-x86-64.c (is_32bit_relative_branch): Removed.
2275 (elf_x86_64_relocate_section): Check PIC relocations in PIE.
2276 Remove is_32bit_relative_branch usage. Disallow PC32 reloc
2277 against protected function in shared object.
2278
2279 2018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
2280
2281 PR 22828
2282 * po/ru.po: Fix typo in Russian translation.
2283
2284 2018-02-13 Maciej W. Rozycki <macro@mips.com>
2285
2286 * wasm-module.c (wasm_scan_name_function_section): Rename
2287 `index' local variable to `idx'.
2288
2289 2018-02-13 Nick Clifton <nickc@redhat.com>
2290
2291 PR 22823
2292 Fix compile time warnings generated by gcc version 8.
2293 * libbfd-in.h: Remove extraneous text from prototypes.
2294 Add prototypes for bfd_false_any, bfd_true_any,
2295 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
2296 bfd_n1_any, bfd_void_any.
2297 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
2298 function.
2299 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
2300 (_bfd_generic_bfd_set_private_flags): Likewise.
2301 (_bfd_generic_bfd_copy_private_section_data): Likewise.
2302 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
2303 (_bfd_generic_bfd_copy_private_header_data): Likewise.
2304 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
2305 (_bfd_noarchive_construct_extended_name_table): Likewise.
2306 (_bfd_noarchive_truncate_arname): Likewise.
2307 (_bfd_noarchive_write_ar_hdr): Likewise.
2308 (_bfd_noarchive_get_elt_at_index): Likewise.
2309 (_bfd_nosymbols_canonicalize_symtab): Likewise.
2310 (_bfd_nosymbols_print_symbol): Likewise.
2311 (_bfd_nosymbols_get_symbol_info): Likewise.
2312 (_bfd_nosymbols_get_symbol_version_string): Likewise.
2313 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
2314 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
2315 (_bfd_nosymbols_get_lineno): Likewise.
2316 (_bfd_nosymbols_find_nearest_line): Likewise.
2317 (_bfd_nosymbols_find_line): Likewise.
2318 (_bfd_nosymbols_find_inliner_info): Likewise.
2319 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
2320 (_bfd_nosymbols_read_minisymbols): Likewise.
2321 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
2322 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
2323 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
2324 (_bfd_nowrite_set_arch_mach): Likewise.
2325 (_bfd_nowrite_set_section_contents): Likewise.
2326 (_bfd_nolink_sizeof_headers): Likewise.
2327 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
2328 (_bfd_nolink_bfd_relax_section): Likewise.
2329 (_bfd_nolink_bfd_gc_sections): Likewise.
2330 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
2331 (_bfd_nolink_bfd_merge_sections): Likewise.
2332 (_bfd_nolink_bfd_is_group_section): Likewise.
2333 (_bfd_nolink_bfd_discard_group): Likewise.
2334 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
2335 (_bfd_nolink_bfd_link_add_symbols): Likewise.
2336 (_bfd_nolink_bfd_link_just_syms): Likewise.
2337 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
2338 (_bfd_nolink_bfd_final_link): Likewise.
2339 (_bfd_nolink_bfd_link_split_section): Likewise.
2340 (_bfd_nolink_section_already_linked): Likewise.
2341 (_bfd_nolink_bfd_define_common_symbol): Likewise.
2342 (_bfd_nolink_bfd_define_start_stop): Likewise.
2343 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
2344 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
2345 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
2346 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
2347 * libbfd.c (bfd_false_any): New function. Like bfd_false but
2348 accepts one or more arguments.
2349 (bfd_true_any): Likewise.
2350 (bfd_nullvoidptr_any): Likewise.
2351 (bfd_0_any): Likewise.
2352 (bfd_0u_any): Likewise.
2353 (bfd_0l_any): Likewise.
2354 (_bfd_n1_any): Likewise.
2355 (bfd_void_any): Likewise.
2356 * libbfd.h (extern): Regenerate
2357 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
2358 based dummy function.
2359 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
2360 * binary.c (binary_get_symbol_info): Likewise.
2361 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
2362 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2363 * coffcode.h (coff_set_alignment_hook): Likewise.
2364 (symname_in_debug_hook): Likewise.
2365 (bfd_coff_backend_data bigobj_swap_table): Likewise.
2366 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
2367 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
2368 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
2369 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
2370 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
2371 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
2372 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
2373 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
2374 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
2375 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
2376 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
2377 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
2378 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
2379 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
2380 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
2381 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
2382 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
2383 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
2384 (bfd_elfNN_bfd_set_private_flags): Likewise.
2385 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
2386 (elf_backend_init_index_section): Likewise.
2387 (elf_backend_allow_non_load_phdr): Likewise.
2388 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
2389 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
2390 * ieee.c (ieee_construct_extended_name_table): Likewise.
2391 (ieee_write_armap): Likewise.
2392 (ieee_write_ar_hdr): Likewise.
2393 (ieee_bfd_is_target_special_symbol): Likewise.
2394 * ihex.c (ihex_canonicalize_symtab): Likewise.
2395 (ihex_bfd_is_target_special_symbol): Likewise.
2396 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
2397 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
2398 (_bfd_ecoff_set_alignment_hook): Likewise.
2399 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
2400 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
2401 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
2402 * oasys.c (oasys_construct_extended_name_table): Likewise.
2403 (oasys_write_armap): Likewise.
2404 (oasys_write_ar_hdr): Likewise.
2405 (oasys_bfd_is_target_special_symbol): Likewise.
2406 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
2407 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
2408 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
2409 * som.c (som_bfd_is_target_special_symbol): Likewise.
2410 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
2411 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
2412 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
2413 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
2414 (versados_bfd_reloc_name_lookup): Likewise.
2415 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
2416 (vms_bfd_define_start_stop): Likewise.
2417 (alpha_vms_bfd_is_target_special_symbol): Likewise.
2418 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
2419 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
2420 * elf32-arc.c (get_replace_function): Assign replacement function
2421 to func pointer.
2422 * elf32-i370.c (i370_noop): Update prototype.
2423
2424 2018-02-13 Alan Modra <amodra@gmail.com>
2425
2426 PR 22836
2427 * elf.c (_bfd_elf_fixup_group_sections): Account for removed
2428 relocation sections. If size reduces to just the flag word,
2429 remove that too and mark with SEC_EXCLUDE.
2430 * elflink.c (bfd_elf_final_link): Strip empty group sections.
2431
2432 2018-02-13 Alan Modra <amodra@gmail.com>
2433
2434 PR 22829
2435 * elf.c (assign_file_positions_for_non_load_sections): Rewrite
2436 PT_GNU_RELRO setup.
2437
2438 2018-02-12 Zebediah Figura <z.figura12@gmail.com>
2439
2440 * i386msdos.c (msdos_mkobject); New function.
2441 (msdos_object_p): New function.
2442 (i386_msdos_vec): Use msdos_object_p as the check_format
2443 function.
2444 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
2445 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
2446 IMAGE_NT_SIGNATURE.
2447 * peXXigen.c: Likewise.
2448 * coff-ia64.c: Likewise.
2449
2450 2018-02-12 Nick Clifton <nickc@redhat.com>
2451
2452 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
2453 assignment.
2454 * elf32-arc.c (elf_arc_relocate_section): Likewise.
2455
2456 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2457
2458 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
2459 (sparc_elf_append_rela): Assert that there is enough room in section.
2460 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
2461 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
2462 (allocate_dynrelocs): Remove outdated comments and reorder conditions.
2463 For a symbol subject to a GOT relocation, reserve a slot in the
2464 relocation section if the symbol isn't dynamic and we are in PIC mode.
2465 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
2466 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
2467 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
2468 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
2469 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
2470 resolved_to_zero. Do not generate a dynamic GOT relocation for an
2471 undefined weak symbol with non-default visibility. Remove superfluous
2472 'else' and fix formatting.
2473
2474 2018-02-09 H.J. Lu <hongjiu.lu@intel.com>
2475
2476 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
2477 is_solaris.
2478 (i386_elf32_sol2_vec): Don't declare.
2479 (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
2480 Don't set need_global_offset_table.
2481 (elf_i386_solaris_arch_bed): New.
2482 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
2483 Solaris.
2484 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
2485 target_os != is_nacl instead of target_os == is_normal.
2486 (x86_64_elf64_sol2_vec): Don't declare.
2487 (elf_x86_64_link_setup_gnu_properties): Check target_os !=
2488 is_nacl instead of target_os == is_normal. Don't set
2489 need_global_offset_table.
2490 (elf_x86_64_solaris_arch_bed): New.
2491 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
2492 Solaris.
2493 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
2494 _GLOBAL_OFFSET_TABLE_ for Solaris.
2495 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
2496 need_global_offset_table.
2497 * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
2498 (elf_x86_link_hash_table): Remove need_global_offset_table.
2499 (elf_x86_init_table): Likewise.
2500
2501 2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
2502
2503 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
2504 Remove prototype.
2505 (i386_elf32_sol2_vec): Declared.
2506 (elf_i386_link_setup_gnu_properties): Set
2507 need_global_offset_table with info->output_bfd->xvec.
2508 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
2509 Remove prototype.
2510 (x86_64_elf64_sol2_vec): Declared.
2511 (elf_x86_64_link_setup_gnu_properties): Set
2512 need_global_offset_table with info->output_bfd->xvec.
2513
2514 2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
2515
2516 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
2517 New prototype.
2518 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
2519 for Solaris.
2520 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
2521 New prototype.
2522 (elf_x86_64_link_setup_gnu_properties): Set
2523 need_global_offset_table for Solaris.
2524 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
2525 unused _GLOBAL_OFFSET_TABLE_ for Solaris.
2526 (_bfd_x86_elf_link_setup_gnu_properties): Copy
2527 need_global_offset_table.
2528 * elfxx-x86.h (elf_x86_link_hash_table): Add
2529 need_global_offset_table.
2530 (elf_x86_init_table): Likewise.
2531
2532 2018-02-08 Jim Wilson <jimw@sifive.com>
2533
2534 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
2535 change.
2536
2537 2018-02-08 Nick Clifton <nickc@redhat.com>
2538
2539 PR 22788
2540 * elf.c (elf_parse_notes): Reject notes with excessuively large
2541 alignments.
2542
2543 2018-02-07 Alan Modra <amodra@gmail.com>
2544
2545 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
2546 * elf32-ppc.c: Remove speculation barrier support.
2547 * elf32-ppc.h: Likewise.
2548 * elf64-ppc.c: Likewise.
2549 * elf64-ppc.h: Likewise.
2550
2551 2018-02-06 Jim Wilson <jimw@sifive.com>
2552
2553 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
2554 callback to report an error.
2555
2556 2018-02-06 Eric Botcazou <ebotcazou@adacore.com>
2557
2558 PR ld/22263
2559 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
2560 into call to !bfd_link_executable and tidy up.
2561 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
2562 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
2563 !bfd_link_executable.
2564 <R_SPARC_TLS_IE_HI22>: Likewise.
2565 <GOT relocations>: Remove useless code, tidy and merge related blocks.
2566 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
2567 !bfd_link_executable.
2568 <R_SPARC_WPLT30>: Tidy up.
2569 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
2570 !bfd_link_executable.
2571 (allocate_dynrelocs): Likewise.
2572 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
2573 <R_SPARC_TLS_GD_HI22>: Merge into...
2574 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
2575 sparc_elf_tls_transition and remove redundant code.
2576 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
2577 !bfd_link_executable.
2578 <R_SPARC_TLS_LDO_HIX22>: Likewise.
2579 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
2580 <R_SPARC_TLS_LDM_CALL>: Likewise.
2581 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
2582 <R_SPARC_TLS_GD_ADD>: Likewise.
2583 <R_SPARC_TLS_LDM_ADD>: Likewise.
2584 <R_SPARC_TLS_LDO_ADD>: Likewise.
2585 <R_SPARC_TLS_IE_LD>: Likewise.
2586
2587 2018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
2588
2589 PR 22789
2590 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
2591 functions failed to find the function name, try the generic elf
2592 find function instead.
2593
2594 2018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
2595
2596 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
2597 'memcpy' instead of 'strncpy' when writing the magic number.
2598
2599 2018-02-06 Nick Clifton <nickc@redhat.com>
2600
2601 PR 22794
2602 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
2603 section before attempting to read it in.
2604 (bfd_get_alt_debug_link_info): Likewise.
2605
2606 2018-02-06 Paul Carroll <pcarroll@codesourcery.com>
2607
2608 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
2609 line information in addition to name, if they can be found.
2610
2611 2018-02-05 Renlin Li <renlin.li@arm.com>
2612
2613 PR ld/22764
2614 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
2615 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
2616 check for writeable section as well.
2617
2618 2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
2619
2620 PR ld/22782
2621 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
2622 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
2623 undefined weak symbol to 0.
2624 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
2625 if _GLOBAL_OFFSET_TABLE_ is referenced.
2626 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
2627 got_referenced instead of ref_regular_nonweak. Remove the
2628 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
2629 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
2630
2631 2018-02-05 Maciej W. Rozycki <macro@mips.com>
2632
2633 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
2634 initialize `hi_reloc'.
2635
2636 2018-02-05 Maciej W. Rozycki <macro@mips.com>
2637
2638 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
2639 SHT_MIPS_REGINFO sections don't assert the correct size and
2640 report an error instead.
2641
2642 2018-02-05 Maciej W. Rozycki <macro@mips.com>
2643
2644 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
2645 status from `->elf_backend_section_processing'.
2646
2647 2018-02-02 Jim Wilson <jimw@sifive.com>
2648
2649 PR ld/22756
2650 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
2651 If link_info->wrap_hash, check for a duplicate symbol and ignore.
2652 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
2653 Pass new argument to riscv_relax_delete_bytes.
2654 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
2655 ATTRIBUTE_UNUSED from link_info parameter.
2656
2657 2018-02-02 Alan Modra <amodra@gmail.com>
2658
2659 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
2660 emitted for toc sequence optimization. Set and use "howto" later.
2661
2662 2018-02-01 Simon Marchi <simon.marchi@ericsson.com>
2663
2664 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
2665 arithmetic on NULL pointer.
2666 * elflink.c (_bfd_elf_archive_symbol_lookup,
2667 elf_link_add_archive_symbols): Likewise.
2668
2669 2018-01-31 Michael Matz <matz@suse.de>
2670
2671 * elflink.c (bfd_elf_define_start_stop): Fix check of
2672 def_dynamic.
2673
2674 2018-01-31 H.J. Lu <hongjiu.lu@intel.com>
2675
2676 PR ld/21964
2677 * elflink.c (bfd_elf_define_start_stop): Check if __start and
2678 __stop symbols are referenced by shared objects.
2679
2680 2018-01-30 Alan Modra <amodra@gmail.com>
2681
2682 PR 22758
2683 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
2684 segment when demand paged with lma on the same page. Test this
2685 before load/non-load, executable/non-executable,
2686 writable/non-writable tests and simplify. Delete bogus relro
2687 condition in writable/non-writable test. Delete outdated
2688 comment. Formatting.
2689
2690 2018-01-30 Alan Modra <amodra@gmail.com>
2691
2692 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
2693 symbols dynamic.
2694
2695 2018-01-29 Alan Modra <amodra@gmail.com>
2696
2697 PR 22741
2698 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
2699 range before converting to a symbol table pointer.
2700
2701 2018-01-27 Nick Clifton <nickc@redhat.com>
2702
2703 * po/ru.po: Updated Russian translation.
2704
2705 2018-01-26 Alan Modra <amodra@gmail.com>
2706
2707 * elflink.c (bfd_elf_define_start_stop): Override symbols when
2708 they are defined dynamically.
2709
2710 2018-01-26 Alan Modra <amodra@gmail.com>
2711
2712 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
2713 .branch_lt changes size.
2714
2715 2018-01-25 Alan Modra <amodra@gmail.com>
2716
2717 PR 22746
2718 * elfcode.h (elf_object_p): Avoid integer overflow.
2719
2720 2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
2721
2722 PR ld/22727
2723 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
2724 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
2725
2726 Revert
2727 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
2728
2729 PR ld/22263
2730 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
2731 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
2732 bfd_link_executable for TLS check.
2733 (_bfd_sparc_elf_check_relocs): Likewise.
2734 (allocate_dynrelocs): Likewise.
2735 (_bfd_sparc_elf_relocate_section): Likewise.
2736
2737 2018-01-24 Renlin Li <renlin.li@arm.com>
2738
2739 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
2740 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
2741 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
2742 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
2743 BFD_RELOC_AARCH64_MOVW_PREL_G3.
2744 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
2745 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2746
2747 2018-01-24 Renlin Li <renlin.li@arm.com>
2748
2749 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
2750 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
2751 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
2752 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
2753 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
2754 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
2755 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
2756 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
2757 BFD_RELOC_AARCH64_MOVW_PREL_G3.
2758 * bfd-in2.h: Regenerate.
2759 * libbfd.h: Regenerate.
2760
2761 2018-01-23 Maciej W. Rozycki <macro@mips.com>
2762
2763 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
2764 `mips_elf32_section_processing' comment reference.
2765
2766 2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
2767
2768 PR ld/22721
2769 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
2770 versioned __tls_get_addr symbol.
2771
2772 2018-01-19 Nick Clifton <nickc@redhat.com>
2773
2774 * po/fr.po: Updated French translation.
2775
2776 2018-01-18 Alan Modra <amodra@gmail.com>
2777
2778 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
2779 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
2780 (ppc64_elf_build_stubs): Likewise.
2781
2782 2018-01-17 Nick Clifton <nickc@redhat.com>
2783
2784 * po/ru.po: Updated Russian translation.
2785 * po/uk/po: Updated Ukranian translation.
2786
2787 2018-01-17 Alan Modra <amodra@gmail.com>
2788
2789 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
2790
2791 2018-01-17 Alan Modra <amodra@gmail.com>
2792
2793 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
2794 (CRSETEQ, BEQCTRM): Define.
2795 (is_nonpic_glink_stub): Don't check bctr.
2796 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
2797 (ppc_elf_relax_section): Size speculation barrier.
2798 (output_bctr): New function.
2799 (write_glink_stub): Use output_bctr.
2800 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
2801 (ppc_elf_finish_dynamic_symbol): Likewise.
2802 (ppc_elf_finish_dynamic_sections): Use output_bctr.
2803 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
2804 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
2805 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
2806 (size_global_entry_stubs): Handle speculation barrier sizing.
2807 (plt_stub_size): Likewise.
2808 (output_bctr): New function.
2809 (build_plt_stub, build_tls_get_addr_stub): Output speculation
2810 barrier.
2811 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
2812 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
2813 (build_global_entry_stubs): Output speculation barrier.
2814 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
2815 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
2816
2817 2018-01-17 Alan Modra <amodra@gmail.com>
2818
2819 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
2820 __tls_get_addr_opt, and alignment sizing.
2821 (TLS_GET_ADDR_GLINK_SIZE): Delete.
2822 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
2823 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
2824 or 8 insns.
2825 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
2826 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
2827 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
2828 by PLT reloc count.
2829 (write_glink_stub): Handle __tls_get_addr_opt stub.
2830 Pad out to size given by GLINK_ENTRY_SIZE.
2831 (ppc_elf_relocate_section): Adjust write_glink_stub call.
2832 (ppc_elf_finish_dynamic_symbol): Likewise.
2833 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
2834 insn array since so many need rewriting.
2835 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
2836 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
2837 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
2838 nops. Adjust all uses.
2839 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
2840 in glink_vma calculation.
2841 (struct ppc_link_hash_table): Add global_entry section pointer.
2842 (create_linkage_sections): Create separate section for global
2843 entry stubs.
2844 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
2845 (size_global_entry_stubs): Handle sizing for aligned stubs.
2846 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
2847 and don't stash end of glink branch table in rawsize.
2848 (ppc_build_one_stub): Rewrite stub size calculations.
2849 (build_global_entry_stubs): Use new section.
2850 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
2851 Build lazy link stubs out to end of section. Build global entry
2852 stubs in new section.
2853
2854 2018-01-15 Nick Clifton <nickc@redhat.com>
2855
2856 * po/uk.po: Updated Ukranian translation.
2857
2858 2018-01-13 Nick Clifton <nickc@redhat.com>
2859
2860 * po/bfd.pot: Regenerated.
2861
2862 2018-01-13 Nick Clifton <nickc@redhat.com>
2863
2864 * version.m4: Bump version to 2.30.51
2865 * configure: Regenerate.
2866
2867 2018-01-13 Nick Clifton <nickc@redhat.com>
2868
2869 2.30 branch created.
2870
2871 2018-01-12 Jens Widell <jl@opera.com>
2872
2873 * elf.c (setup_group): Optimize search for group by remembering
2874 last found group and restarting search at that index.
2875 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
2876
2877 2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
2878
2879 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
2880 bfd_link_common_skip_none in switch.
2881
2882 2018-01-12 Alan Modra <amodra@gmail.com>
2883
2884 PR ld/22649
2885 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
2886 references on forced local symbols.
2887
2888 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
2889
2890 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
2891 .reginfo section has wrong size.
2892
2893 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
2894
2895 PR ld/22393
2896 * elf.c (_bfd_elf_map_sections_to_segments): When generating
2897 separate code and read-only data LOAD segments, create a new
2898 LOAD segment if the previous section contains text and the
2899 current section doesn't or vice versa. Don't put a writable
2900 section in a read-only segment if there is a RELRO segment.
2901
2902 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
2903
2904 PR ld/22649
2905 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
2906 references on forced local symbols.
2907
2908 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
2909
2910 PR ld/22677
2911 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
2912 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
2913
2914 2018-01-09 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2915
2916 PR 22662
2917 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
2918
2919 2018-01-03 John Baldwin <jhb@FreeBSD.org>
2920
2921 * elf.c (elfcore_grok_freebsd_note): Handle
2922 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
2923 NT_FREEBSD_PROCSTAT_VMMAP.
2924
2925 2018-01-03 Alan Modra <amodra@gmail.com>
2926
2927 Update year range in copyright notice of all files.
2928
2929 For older changes see ChangeLog-2017
2930 \f
2931 Copyright (C) 2018 Free Software Foundation, Inc.
2932
2933 Copying and distribution of this file, with or without modification,
2934 are permitted in any medium without royalty provided the copyright
2935 notice and this notice are preserved.
2936
2937 Local Variables:
2938 mode: change-log
2939 left-margin: 8
2940 fill-column: 74
2941 version-control: never
2942 End:
This page took 0.088556 seconds and 5 git commands to generate.