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