Remove h8500 support
[external/binutils.git] / bfd / ChangeLog
1 2018-04-16  Alan Modra  <amodra@gmail.com>
2
3         * Makefile.am: Remove h8500 support.
4         * archures.c: Likewise.
5         * coffcode.h: Likewise.
6         * config.bfd: Likewise.
7         * configure.ac: Likewise.
8         * targets.c: Likewise.
9         * coff-h8500.c: Delete.
10         * cpu-h8500.c: Delete.
11         * Makefile.in: Regenerate.
12         * bfd-in2.h: Regenerate.
13         * configure: Regenerate.
14         * po/SRC-POTFILES.in: Regenerate.
15
16 2018-04-16  Alan Modra  <amodra@gmail.com>
17
18         * Makefile.am: Remove h8300-coff support.
19         * coffcode.h: Likewise.
20         * config.bfd: Likewise.
21         * configure.ac: Likewise.
22         * reloc16.c: Likewise.
23         * targets.c: Likewise.
24         * coff-h8300.c: Delete.
25         * Makefile.in: Regenerate.
26         * configure: Regenerate.
27         * po/SRC-POTFILES.in: Regenerate.
28
29 2018-04-16  Alan Modra  <amodra@gmail.com>
30
31         * Makefile.am: Remove IEEE 695 support.
32         * archures.c: Likewise.
33         * bfd.c: Likewise.
34         * config.bfd: Likewise.
35         * configure.ac: Likewise.
36         * doc/bfd.texinfo: Likewise.
37         * doc/bfdint.texi: Likewise.
38         * doc/bfdsumm.texi: Likewise.
39         * section.c: Likewise.
40         * targets.c: Likewise.
41         * ieee.c: Delete.
42         * libieee.h: Delete.
43         * Makefile.in: Regenerate.
44         * bfd-in2.h: Regenerate.
45         * configure: Regenerate.
46         * po/SRC-POTFILES.in: Regenerate.
47
48 2018-04-16  Alan Modra  <amodra@gmail.com>
49
50         * config.bfd: Remove tandem support.
51
52 2018-04-16  Alan Modra  <amodra@gmail.com>
53
54         * Makefile.am: Remove newsos3 support.
55         * aoutx.h: Likewise.
56         * config.bfd: Likewise.
57         * configure.ac: Likewise.
58         * targets.c: Likewise.
59         * newsos3.c: Delete.
60         * Makefile.in: Regenerate.
61         * configure: Regenerate.
62         * po/SRC-POTFILES.in: Regenerate.
63
64 2018-04-16  Alan Modra  <amodra@gmail.com>
65
66         * Makefile.am: Remove netware support.
67         * bfd-in.h: Likewise.
68         * bfd.c: Likewise.
69         * config.bfd: Likewise.
70         * configure.ac: Likewise.
71         * doc/bfdint.texi: Likewise.
72         * ecoff.c: Likewise.
73         * targets.c: Likewise.
74         * libnlm.h: Delete.
75         * nlm-target.h: Delete.
76         * nlm.c: Delete.
77         * nlm32-alpha.c: Delete.
78         * nlm32-i386.c: Delete.
79         * nlm32-ppc.c: Delete.
80         * nlm32-sparc.c: Delete.
81         * nlm32.c: Delete.
82         * nlm64.c: Delete.
83         * nlmcode.h: Delete.
84         * nlmswap.h: Delete.
85         * Makefile.in: Regenerate.
86         * bfd-in2.h: Regenerate.
87         * configure: Regenerate.
88         * po/SRC-POTFILES.in: Regenerate.
89
90 2018-04-16  Alan Modra  <amodra@gmail.com>
91
92         * archures.c: Remove tahoe support.
93         * config.bfd: Likewise.
94         * configure.ac: Likewise.
95         * hosts/tahoe.h: Delete.
96         * bfd-in2.h: Regenerate.
97         * configure: Regenerate.
98
99 2018-04-14  Alan Modra  <amodra@gmail.com>
100
101         * elf-bfd.h (struct elf_backend_data): Add relropagesize.
102         * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
103         sanity test.
104         (elfNN_bed): Init relropagesize.
105         * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
106         select relropagesize.
107         * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
108         (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
109         (ELF_MINPAGESIZE): Don't define.
110         * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
111         (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
112         * bfd-in2.h: Regenerate.
113
114 2018-04-14  Alan Modra  <amodra@gmail.com>
115
116         * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
117         on __QNXTARGET__ define.
118
119 2018-04-14  Alan Modra  <amodra@gmail.com>
120
121         * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
122         to obsolete list.
123
124 2018-04-11  Alan Modra  <amodra@gmail.com>
125
126         * aout-adobe.c: Delete.
127         * bout.c: Delete.
128         * coff-i860.c: Delete.
129         * coff-i960.c: Delete.
130         * cpu-i860.c: Delete.
131         * cpu-i960.c: Delete.
132         * elf32-i860.c: Delete.
133         * elf32-i960.c: Delete.
134         * hosts/i860mach3.h: Delete.
135         * Makefile.am: Remove i860, i960, bout, and adobe support.
136         * archures.c: Remove i860 and i960 support.
137         * coffcode.h: Likewise.
138         * reloc.c: Likewise.
139         * aoutx.h: Comment updates.
140         * archive.c: Remove BOUT and i960 support.
141         * bfd.c: Remove BOUT support.
142         * coffswap.h: Remove i960 support.
143         * config.bfd: Remove i860, i960 and adobe targets.
144         * configure.ac: Remove adode, bout, i860, i960, icoff targets.
145         * targets.c: Likewise.
146         * ieee.c: Remove i960 support.
147         * mach-o.c: Remove i860 support.
148         * Makefile.in: Regenerate.
149         * bfd-in2.h: Regenerate.
150         * configure: Regenerate.
151         * libbfd.h: Regenerate.
152         * po/SRC-POTFILES.in: Regenerate.
153
154 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
155
156         * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
157         in the BFD symbol referred by the relocation.
158         (mips_elf64_write_rela): Likewise.
159
160 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
161
162         * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
163         error for out-of-range `r_sym' values.
164
165 2018-04-09  Alan Modra  <amodra@gmail.com>
166
167         * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
168         (struct ppc_link_hash_table): Add can_convert_all_inline_plt.
169         (ppc64_elf_check_relocs): Set has_pltcall.
170         (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
171         (ppc64_elf_inline_plt): New function.
172         (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
173         * elf64-ppc.h (ppc64_elf_inline_plt): Declare.
174         * elf32-ppc.c (has_pltcall): Define.
175         (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
176         (ppc_elf_check_relocs): Set has_pltcall.
177         (ppc_elf_inline_plt): New function.
178         (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
179         (ppc_elf_size_dynamic_sections): Likewise.
180         * elf32-ppc.h (ppc_elf_inline_plt): Declare.
181
182 2018-04-09  Alan Modra  <amodra@gmail.com>
183
184         * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
185         (is_plt_seq_reloc): New function.
186         (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
187         (ppc_elf_tls_optimize): Handle inline plt call sequence.
188         (ppc_elf_relax_section): Handle PLTCALL reloc.
189         (ppc_elf_relocate_section): Nop out inline plt call sequence when
190         resolving locally.
191         * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
192         R_PPC64_PLTCALL entries.  Comment R_PPC64_TOCSAVE.
193         (has_tls_get_addr_call): Correct comment.
194         (is_branch_reloc): Add PLTCALL.
195         (is_plt_seq_reloc): New function.
196         (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc.  Set
197         has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD.  Create plt
198         entry for R_PPC64_PLTCALL.
199         (ppc64_elf_tls_optimize): Handle inline plt call sequence.
200         (ppc_type_of_stub): Handle PLTCALL reloc.
201         (toc_adjusting_stub_needed): Likewise.
202         (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
203         reloc insn.  Nop out inline plt call sequence when resolving
204         locally.  Handle __tls_get_addr inline plt call optimization.
205
206 2018-04-09  Alan Modra  <amodra@gmail.com>
207
208         * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
209         (struct ppc_stub_hash_entry): Add symtype field.
210         (PLT_KEEP): Define.
211         (struct ppc_link_hash_table): Add pltlocal and relpltlocal.
212         (create_linkage_sections): Create pltlocal and relpltlocal.
213         (ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
214         Set PLT_KEEP.
215         (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
216         (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
217         (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
218         Keep PLT entries for inline calls against locals.
219         (ppc_build_one_stub): Use pltlocal as appropriate.
220         (ppc_size_one_stub): Likewise.
221         (ppc64_elf_size_stubs): Set symtype.
222         (build_global_entry_stubs_and_plt): Init pltlocal and write
223         relpltlocal for globals.
224         (write_plt_relocs_for_local_syms): Likewise for local syms.
225         (ppc64_elf_relocate_section): Support PLT for local syms.
226         * elf32-ppc.c (PLT_KEEP): Define.
227         (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
228         (ppc_elf_create_glink): Create pltlocal and relpltlocal.
229         (ppc_elf_check_relocs): Allow PLT relocs on local symbols.
230         Set PLT_KEEP.  Adjust update_local_sym_info call.
231         (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
232         (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
233         (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
234         (ppc_elf_relocate_section): Support PLT16 relocs for local syms.
235         (write_global_sym_plt): Init pltlocal and write relpltlocal.
236         (ppc_finish_symbols): Likewise for locals.
237
238 2018-04-09  Alan Modra  <amodra@gmail.com>
239
240         * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
241         for local symbols to..
242         (write_plt_relocs_for_local_syms): ..here.  New function.
243         (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
244         global symbols to..
245         (build_global_entry_stubs_and_plt): ..here.  Rename from
246         build_global_entry_stubs.
247         (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
248         Call write_plt_relocs_for_local_syms.
249         * elf32-ppc.c (get_sym_h): New function.
250         (ppc_elf_relax_section): Use get_sym_h.
251         (ppc_elf_relocate_section): Move output of PLT relocs and glink
252         stubs for local symbols to..
253         (ppc_finish_symbols): ..here.  New function.
254         (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
255         global syms to..
256         (write_global_sym_plt): ..here.  New function.
257         * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
258         (ppc_finish_symbols): Declare.
259
260 2018-04-09  Alan Modra  <amodra@gmail.com>
261
262         * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
263         (ppc_elf_relocate_section): Likewise.
264         * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
265         (ppc64_elf_relocate_section): Likewise.  Correct PLT16
266         resolution to plt entry relative to toc pointer.
267
268 2018-04-09  Alan Modra  <amodra@gmail.com>
269
270         * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
271         TLS_TPRELGD, TLS_EXPLICIT):  Renumber.  Test TLS_TLS throughout
272         file when other TLS flags are tested in a mask.
273         (TLS_MARK, NON_GOT): Define.
274         (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
275         (update_local_sym_info): Don't create got entry when NON_GOT.
276         (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
277         Set TLS_MARK.
278         (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
279         (ppc64_elf_relocate_section): Likewise.
280         (ppc64_elf_tls_optimize): Don't attempt to optimize indirect
281         __tls_get_addr calls lacking a marker reloc.
282         * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
283         TLS_TPRELGD): Renumber.  Update comment.
284         (TLS_MARK, NON_GOT): Define.
285         (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
286         (update_local_sym_info): Don't create got entry when NON_GOT.
287         (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
288         Set TLS_MARK.
289         (ppc_elf_tls_optimize): Don't attempt to optimize indirect
290         __tls_get_addr calls lacking a marker reloc.
291
292 2018-04-06  H.J. Lu  <hongjiu.lu@intel.com>
293
294         * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
295         R_X86_64_converted_reloc_bit.
296
297 2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
298
299         PR gas/22318
300         * configure: Regenerated.
301
302 2018-04-05  Alan Modra  <amodra@gmail.com>
303
304         * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
305         (elf_hppa_info_to_howto_rel): Likewise.
306
307 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
308
309         * elf-hppa.h (elf_hppa_info_to_howto): Also return
310         unsuccessfully for unimplemented relocations.
311         (elf_hppa_info_to_howto_rel): Likewise.
312
313 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
314
315         * elf32-i860.c (lookup_howto): Add `abfd' parameter.  Set the
316         `bfd_error_bad_value' error and call `_bfd_error_handler' on a
317         howto lookup failure.
318         (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
319         accordingly.
320         (elf32_i860_info_to_howto_rela): Likewise.
321         (elf32_i860_relocate_splitn): Likewise.
322         (elf32_i860_relocate_pc16): Likewise.
323         (elf32_i860_relocate_pc26): Likewise.
324         (elf32_i860_relocate_section): Likewise.
325
326 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
327
328         * elf32-visium.c (visium_info_to_howto_rela): Correct the range
329         check for `visium_elf_howto_table' table access.
330
331 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
332
333         * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
334         check for `iq2000_elf_howto_table' table access.
335
336 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
337
338         * elf32-frv.c (frv_info_to_howto_rela): Correct the range check
339         for `elf32_frv_howto_table' table access.
340
341 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
342
343         * elf32-mips.c (mips_elf32_rtype_to_howto): Also return
344         unsuccessfully for placeholder howtos.
345         * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
346         * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
347
348 2018-03-29  Maciej W. Rozycki  <macro@mips.com>
349
350         * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
351         `_bfd_error_handler' and to set the `bfd_error_bad_value' error.
352
353 2018-03-28  Maciej W. Rozycki  <macro@mips.com>
354
355         * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
356         ATTRIBUTE_UNUSED from `abfd'.
357
358 2018-03-28  Maciej W. Rozycki  <macro@mips.com>
359
360         * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
361         `_bfd_error_handler' call formatting.
362
363 2018-03-28  Maciej W. Rozycki  <macro@mips.com>
364
365         * elf32-mips.c (mips_info_to_howto_rel): Call
366         `mips_elf32_rtype_to_howto' directly rather than via
367         `->elf_backend_mips_rtype_to_howto'.
368
369 2018-03-28  Renlin Li  <renlin.li@arm.com>
370
371         PR ld/22970
372         * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
373         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
374         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
375         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
376         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
377         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
378         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
379         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
380         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
381         (elfNN_aarch64_final_link_relocate): Support new relocations.
382         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
383         relocations.
384         (_bfd_aarch64_elf_resolve_relocation): Support new relocations.
385
386 2018-03-28  Renlin Li  <renlin.li@arm.com>
387
388         PR ld/22970
389         * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
390         BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
391         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
392         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
393         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
394         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
395         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
396         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
397         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
398         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
399         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
400         TLSLE_LDST16_TPREL_LO12,
401         TLSLE_LDST16_TPREL_LO12_NC,
402         TLSLE_LDST32_TPREL_LO12,
403         TLSLE_LDST32_TPREL_LO12_NC,
404         TLSLE_LDST64_TPREL_LO12,
405         TLSLE_LDST64_TPREL_LO12_NC,
406         TLSLE_LDST8_TPREL_LO12,
407         TLSLE_LDST8_TPREL_LO12_NC.
408         * bfd-in2.h: Regenerated.
409         * libbfd.h: Regenerated.
410
411 2018-03-28  Eric Botcazou  <ebotcazou@adacore.com>
412
413         PR ld/22972
414         * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
415         has_old_style_got_reloc.
416         (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
417         relocations.  Fix a couple of long lines.
418         (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
419         a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
420         GOT relocations.
421
422 2018-03-25  H.J. Lu  <hongjiu.lu@intel.com>
423
424         PR ld/23000
425         * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
426         ENDBR64 to the TLSDESC PLT entry.
427
428 2018-03-21  Alan Modra  <amodra@gmail.com>
429
430         * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
431         symbols.  Use size_t counts.  Delete redundant opd test.
432
433 2018-03-21  Alan Modra  <amodra@gmail.com>
434
435         * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
436
437 2018-03-21  Alan Modra  <amodra@gmail.com>
438
439         * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
440         field unsigned.
441         (update_local_sym_info): Likewise for local_got_tls_masks.
442         (ppc_elf_tls_optimize): Likewise for lgot_masks.
443
444 2018-03-21  Alan Modra  <amodra@gmail.com>
445
446         * elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
447         (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
448         do in size_dynamic_sections.
449
450 2018-03-21  Alan Modra  <amodra@gmail.com>
451
452         * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
453         without first checking array bounds.
454         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
455
456 2018-03-20  H.J. Lu  <hongjiu.lu@intel.com>
457
458         PR ld/22983
459         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
460         non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
461
462 2018-03-19  Nick Clifton  <nickc@redhat.com>
463
464         * po/es.po: Updated Spanish translation.
465
466 2018-03-15  Max Filippov  <jcmvbkbc@gmail.com>
467
468         * elf32-xtensa.c (xlate_map_entry): Change types of address
469         fields from 'unsigned' to 'bfd_vma'.
470         (xlate_offset_with_removed_text): Use struct xlate_map_entry as
471         the key argument to bsearch. Allow offsets past the end of a
472         section, use the last map entry for translation of such offsets.
473
474 2018-03-15  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
475
476         * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
477         Not support the target feature.
478         (nds32_elf_ex9_itb_base): Likewise.
479         (nds32_elf_ex9_import_table): Likewise.
480         (nds32_elf_ex9_finish): Likewise.
481         (nds32_elf_ex9_reloc_jmp): Likewise.
482         (nds32_elf_get_insn_with_reg): Likewise.
483         (nds32_get_local_syms): Likewise.
484         (nds32_elf_ex9_replace_instruction): Likewise.
485         (nds32_elf_ifc_calc): Likewise.
486         (nds32_elf_ifc_finish): Likewise.
487         (nds32_elf_ifc_replace): Likewise.
488         (nds32_elf_ifc_reloc): Likewise.
489
490 2018-03-14  Alan Modra  <amodra@gmail.com>
491
492         * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
493         sfpr size added before defining alias symbols.
494         (ppc64_elf_build_stubs): Add stub section padding before
495         copying sfpr contents and defining save/restore alias symbols.
496
497 2018-03-14  H.J. Lu  <hongjiu.lu@intel.com>
498
499         PR ld/20882
500         * elflink.c (elf_gc_mark_debug_section): Also check the local
501         debug definition section.
502
503 2018-03-13  Nick Clifton  <nickc@redhat.com>
504
505         PR 22113
506         * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
507         function.  Add an end address parameter.  Check access of the data
508         pointer to make sure that they do not extend beyond the end
509         address.  Return FALSE if any check fails.  Add the end address
510         pointer to the ui structure.
511         (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
512         codes to make sure that they do not extend beyond the end address
513         pointer.  Print an error message and return immediately if any
514         check fails.
515
516 2018-03-09  Nick Clifton  <nickc@redhat.com>
517
518         * elf64-s390.c (elf_s390_relocate_section): Move check for
519         relocations against non-allocated sections to before the code that
520         handles ifunc relocations.
521         * elf32-s390.c (elf_s390_relocate_section): Likewise.
522         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
523         relocs against IFUNC symbols in non-allocated sections as relocs
524         against FUNC symbols.
525         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
526
527 2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
528
529         PR ld/22929
530         * elf32-i386.c (elf_i386_relocate_section): Treat relocation
531         against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
532         relocation against FUNC symbol.
533         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
534
535 2018-03-07  Renlin Li  <renlin.li@arm.com>
536
537         PR ld/20402
538         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
539         symbol, and don't emit relocation in specific case.
540
541 2018-03-07  Alan Modra  <amodra@gmail.com>
542
543         * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
544         (mips_elf64_slurp_one_reloc_table): Pass on error.
545
546 2018-03-03  James Cowgill  <james.cowgill@mips.com>
547             Maciej W. Rozycki  <macro@mips.com>
548
549         PR ld/21900
550         * elfxx-mips.c (mips_elf_calculate_relocation): Only return
551         after calling `undefined_symbol' hook if this is an error
552         condition.  Assume the value of 0 for the symbol requested
553         otherwise.
554
555 2018-03-02  Jim Wilson  <jimw@sifive.com>
556
557         PR 22903
558         * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
559         and nop instead of 4.
560         (elfNN_arch64_build_stubs): Add nop after branch.  Increase size by
561         8 instead of 4.
562
563 2018-03-01  Jim Wilson  <jimw@sifive.com>
564
565         PR 22756
566         * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
567         else if instead of if.
568
569 2018-03-01  Alan Modra  <amodra@gmail.com>
570
571         * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
572
573 2018-02-28  Alan Modra  <amodra@gmail.com>
574
575         PR 22887
576         * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
577
578 2018-02-28  Nick Clifton  <nickc@redhat.com>
579
580         PR 22895
581         PR 22893
582         * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
583         pointer.  Drop unused abfd parameter.  Check the size of the block
584         before initialising the data field.  Return the end pointer if the
585         size is invalid.
586         (read_attribute_value): Adjust invocations of read_n_bytes.
587
588         PR 22894
589         * dwarf1.c (parse_die): Check the length of form blocks before
590         advancing the data pointer.
591
592 2018-02-28  Alan Modra  <amodra@gmail.com>
593
594         PR 22887
595         * aoutx.h (translate_symbol_table): Print an error message and set
596         bfd_error on finding an invalid name string offset.
597
598 2018-02-27  H.J. Lu  <hongjiu.lu@intel.com>
599
600         * config.in: Regenerated.
601         * configure: Likewise.
602         * configure.ac: Add --enable-separate-code.
603         (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED.  Default
604         to 1 for Linux/x86 targets,
605         * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
606         DEFAULT_LD_Z_SEPARATE_CODE is 1.
607
608 2018-02-27  Nick Clifton  <nickc@redhat.com>
609
610         * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
611         message.
612         * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
613         * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
614         * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
615         * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
616         * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
617         * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
618         * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
619         * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
620         * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
621
622         PR 22875
623         * elf-bfd.h (struct elf_backend_data): Change the return type of
624         the elf_info_to_howto and elf_info_to_howto_rel function pointers
625         to bfd_boolean.
626         * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
627         value from the info_to_howto function and fail if that function
628         failed.
629         * elf32-h8300.c (elf32_h8_relocate_section): Check return value
630         from the info_to_howto function.
631         (elf32_h8_relax_section): Likewise.
632         * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
633         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
634         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
635         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
636         * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
637         * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
638         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
639         * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
640         * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
641         * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
642         (riscv_elf_relocate_section): Likewise.
643         * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
644         bfd_boolean.  Issue an error message, set an error value and
645         return FALSE if the reloc is not recognized.
646         (elf_hppa_info_to_howto_rel): Likewise.
647         * elf-m10200.c (mn10200_info_to_howto): Likewise.
648         * elf-m10300.c (mn10300_info_to_howto): Likewise.
649         * elf.c (_bfd_elf_no_info_to_howto): Likewise.
650         * elf32-arc.c (arc_info_to_howto_rel): Likewise.
651         * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
652         * elf32-avr.c (avr_info_to_howto_rela): Likewise.
653         * elf32-bfin.c (bfin_info_to_howto): Likewise.
654         * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
655         * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
656         * elf32-cris.c (elf_cr16c_info_to_howto_rel)
657         (cris_info_to_howto_rela): Likewise.
658         * elf32-crx.c (elf_crx_info_to_howto): Likewise.
659         * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
660         * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
661         Likewise.
662         * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
663         (elf32_dlx_info_to_howto_rel): Likewise.
664         * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
665         * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
666         * elf32-frv.c (frv_info_to_howto_rela)
667         (frvfdpic_info_to_howto_rel): Likewise.
668         * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
669         * elf32-gen.c (elf_generic_info_to_howto)
670         (elf_generic_info_to_howto_rel): Likewise.
671         * elf32-h8300.c (elf32_h8_info_to_howto)
672         (elf32_h8_info_to_howto_rel): Likewise.
673         * elf32-i370.c (i370_elf_info_to_howto): Likewise.
674         * elf32-i386.c (elf_i386_reloc_type_lookup)
675         (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
676         * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
677         Likewise.
678         * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
679         * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
680         * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
681         * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
682         * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
683         * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
684         Likewise.
685         * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
686         * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
687         * elf32-m68k.c (rtype_to_howto): Likewise.
688         * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
689         * elf32-mep.c (mep_info_to_howto_rela): Likewise.
690         * elf32-metag.c (metag_info_to_howto_rela): Likewise.
691         * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
692         * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
693         Likewise.
694         * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
695         * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
696         * elf32-mt.c (mt_info_to_howto_rela): Likewise.
697         * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
698         Likewise.
699         * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
700         * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
701         * elf32-pj.c (pj_elf_info_to_howto): Likewise.
702         * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
703         * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
704         * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
705         * elf32-rx.c (rx_info_to_howto_rela): Likewise.
706         * elf32-s390.c (elf_s390_info_to_howto): Likewise.
707         * elf32-score.c (s3_bfd_score_info_to_howto)
708         (_bfd_score_info_to_howto): Likewise.
709         * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
710         * elf32-sh.c (sh_elf_info_to_howto): Likewise.
711         * elf32-spu.c (spu_elf_info_to_howto): Likewise.
712         * elf32-tic6x.c (elf32_tic6x_info_to_howto)
713         (elf32_tic6x_info_to_howto_rel): Likewise.
714         * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
715         * elf32-v850.c (v850_elf_info_to_howto_rel)
716         (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
717         * elf32-vax.c (rtype_to_howto): Likewise.
718         * elf32-visium.c (visium_info_to_howto_rela): Likewise.
719         * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
720         (elf32_wasm32_info_to_howto_rela): Likewise.
721         * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
722         * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
723         * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
724         * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
725         * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
726         * elf64-gen.c (elf_generic_info_to_howto)
727         (elf_generic_info_to_howto_rel): Likewise.
728         * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
729         * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
730         * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
731         * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
732         * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
733         * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
734         Likewise.
735         * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
736         * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
737         Likewise.
738         * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
739         * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
740         * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
741         * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
742         * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
743         * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
744         * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
745         * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
746         * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
747         * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
748         Default to NULL.
749
750 2018-02-26  Jim Wilson  <jimw@sifive.com>
751             Stephan Schreiber <info@fs-driver.org>
752
753         PR 15904
754         * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
755         call, set changed_contents and changed_relocs.  Likewise after
756         successful ia64_elf_relax_br call.
757
758 2018-02-26  Alan Modra  <amodra@gmail.com>
759
760         * elf.c (assign_file_positions_except_relocs): Don't segfault
761         when actual number of phdrs is less than allocated.  Delete
762         outdated comment.  Formatting.
763
764 2018-02-26  Alan Modra  <amodra@gmail.com>
765
766         * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
767         * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
768         * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
769         * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
770         * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
771         * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
772         * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
773         * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
774         * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
775         * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
776         error/warning messages.
777
778 2018-02-26  Alan Modra  <amodra@gmail.com>
779
780         * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
781         * syms.c: Standardize error/warning messages.
782
783 2018-02-26  Alan Modra  <amodra@gmail.com>
784
785         * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
786         * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
787         * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
788         * peXXigen.c, * peicode.h: Standardize error/warning messages.
789
790 2018-02-26  Alan Modra  <amodra@gmail.com>
791
792         * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
793
794 2018-02-26  Alan Modra  <amodra@gmail.com>
795
796         * elfxx-mips.c: Standardize error/warning messages.
797
798 2018-02-26  Alan Modra  <amodra@gmail.com>
799
800         * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
801         * elflink.c: Standardize error/warning messages.  Replace use of
802         linker callback einfo with _bfd_error_handler when possible.
803
804 2018-02-26  Alan Modra  <amodra@gmail.com>
805
806         * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
807         * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
808         * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
809         * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
810         * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
811         * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
812         * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
813         * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
814         * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
815         * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
816         * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
817         * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
818         * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
819         * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
820         * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
821         * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
822         * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
823         * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
824         * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
825         * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
826         * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
827         unrecognized/unsupported reloc message.
828
829 2018-02-26  Alan Modra  <amodra@gmail.com>
830
831         * elf32-ppc.c: Standardize error/warning messages.  Use
832         _bfd_error_handler rather than einfo when einfo features not used.
833         * elf64-ppc.c: Likewise.
834
835 2018-02-23  Alan Modra  <amodra@gmail.com>
836
837         PR 22881
838         * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
839         segment if no matching LOAD segment.
840
841 2018-02-23  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
842
843         * elf32-nds32.h: Define mask for ict_model.
844
845 2018-02-20  Jason Duerstock  <jason.duerstock@gmail.com>
846
847         * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
848
849 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
850
851         Revert
852         2018-01-12  Vlad Ivanov  <vlad@ivanov.email>
853
854         * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
855         .reginfo section has wrong size.
856
857 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
858
859         * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
860         SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
861         `.MIPS.abiflags' sections.
862         (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
863         section's end.
864
865 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
866
867         * section.c (SEC_FIXED_SIZE): New macro.
868         * bfd-in2.h: Regenerate.
869
870 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
871
872         * section.c (SEC_HAS_GOT_REF): Remove macro.
873         * bfd-in2.h: Regenerate.
874
875 2018-02-19  Alan Modra  <amodra@gmail.com>
876
877         * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
878         arguments.
879         * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
880         * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
881         (_bfd_riscv_relax_pc): Likewise and fix typos.
882         * libbfd-in.h (_bfd_error_handler): Add attribute printf.
883         * libbfd.h: Regenerate.
884
885 2018-02-19  Alan Modra  <amodra@gmail.com>
886
887         * dwarf2.c (read_section): Don't use 'll' format modifier.
888         (find_abstract_instance): Likewise.
889         * elfcore.h (elf_core_file_p): Likewise.
890
891 2018-02-19  Alan Modra  <amodra@gmail.com>
892
893         * bfd-in.h: Include inttypes.h or if not available define
894         PRId64, PRIu64 and PRIx64.
895         * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
896         modifier to print bfd_vma.
897         * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
898         * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
899         * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
900         * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
901         * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
902         * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
903         * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
904         * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
905         * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
906         * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
907         * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
908         * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
909         * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
910         * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
911         * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
912         and cast input to uint64_t, and similarly for Ld and Lu.
913         * bfd-in2.h: Regenerate.
914
915 2018-02-19  Alan Modra  <amodra@gmail.com>
916
917         * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
918         * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
919         * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
920         * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
921         * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
922         * reloc.c: Replace use of %R and %T in format strings passed to
923         einfo and friends by %pR and %pT.
924
925 2018-02-19  Alan Modra  <amodra@gmail.com>
926
927         * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
928         of %A and %B.
929         * aout-adobe.c: Update all messages using %A and %B.
930         * aout-cris.c: Likewise.
931         * aoutx.h: Likewise.
932         * archive.c: Likewise.
933         * binary.c: Likewise.
934         * cache.c: Likewise.
935         * coff-alpha.c: Likewise.
936         * coff-arm.c: Likewise.
937         * coff-i860.c: Likewise.
938         * coff-mcore.c: Likewise.
939         * coff-ppc.c: Likewise.
940         * coff-rs6000.c: Likewise.
941         * coff-sh.c: Likewise.
942         * coff-tic4x.c: Likewise.
943         * coff-tic54x.c: Likewise.
944         * coff-tic80.c: Likewise.
945         * coff64-rs6000.c: Likewise.
946         * coffcode.h: Likewise.
947         * coffgen.c: Likewise.
948         * cofflink.c: Likewise.
949         * coffswap.h: Likewise.
950         * compress.c: Likewise.
951         * cpu-arm.c: Likewise.
952         * ecoff.c: Likewise.
953         * elf-attrs.c: Likewise.
954         * elf-eh-frame.c: Likewise.
955         * elf-ifunc.c: Likewise.
956         * elf-m10300.c: Likewise.
957         * elf-properties.c: Likewise.
958         * elf-s390-common.c: Likewise.
959         * elf.c: Likewise.
960         * elf32-arc.c: Likewise.
961         * elf32-arm.c: Likewise.
962         * elf32-avr.c: Likewise.
963         * elf32-bfin.c: Likewise.
964         * elf32-cr16.c: Likewise.
965         * elf32-cr16c.c: Likewise.
966         * elf32-cris.c: Likewise.
967         * elf32-crx.c: Likewise.
968         * elf32-d10v.c: Likewise.
969         * elf32-d30v.c: Likewise.
970         * elf32-epiphany.c: Likewise.
971         * elf32-fr30.c: Likewise.
972         * elf32-frv.c: Likewise.
973         * elf32-gen.c: Likewise.
974         * elf32-hppa.c: Likewise.
975         * elf32-i370.c: Likewise.
976         * elf32-i386.c: Likewise.
977         * elf32-i960.c: Likewise.
978         * elf32-ip2k.c: Likewise.
979         * elf32-iq2000.c: Likewise.
980         * elf32-lm32.c: Likewise.
981         * elf32-m32c.c: Likewise.
982         * elf32-m32r.c: Likewise.
983         * elf32-m68hc11.c: Likewise.
984         * elf32-m68hc12.c: Likewise.
985         * elf32-m68hc1x.c: Likewise.
986         * elf32-m68k.c: Likewise.
987         * elf32-mcore.c: Likewise.
988         * elf32-mep.c: Likewise.
989         * elf32-metag.c: Likewise.
990         * elf32-microblaze.c: Likewise.
991         * elf32-moxie.c: Likewise.
992         * elf32-msp430.c: Likewise.
993         * elf32-mt.c: Likewise.
994         * elf32-nds32.c: Likewise.
995         * elf32-nios2.c: Likewise.
996         * elf32-or1k.c: Likewise.
997         * elf32-pj.c: Likewise.
998         * elf32-ppc.c: Likewise.
999         * elf32-rl78.c: Likewise.
1000         * elf32-rx.c: Likewise.
1001         * elf32-s390.c: Likewise.
1002         * elf32-score.c: Likewise.
1003         * elf32-score7.c: Likewise.
1004         * elf32-sh-symbian.c: Likewise.
1005         * elf32-sh.c: Likewise.
1006         * elf32-sh64.c: Likewise.
1007         * elf32-sparc.c: Likewise.
1008         * elf32-spu.c: Likewise.
1009         * elf32-tic6x.c: Likewise.
1010         * elf32-tilepro.c: Likewise.
1011         * elf32-v850.c: Likewise.
1012         * elf32-vax.c: Likewise.
1013         * elf32-visium.c: Likewise.
1014         * elf32-wasm32.c: Likewise.
1015         * elf32-xgate.c: Likewise.
1016         * elf32-xtensa.c: Likewise.
1017         * elf64-alpha.c: Likewise.
1018         * elf64-gen.c: Likewise.
1019         * elf64-hppa.c: Likewise.
1020         * elf64-ia64-vms.c: Likewise.
1021         * elf64-mmix.c: Likewise.
1022         * elf64-ppc.c: Likewise.
1023         * elf64-s390.c: Likewise.
1024         * elf64-sh64.c: Likewise.
1025         * elf64-sparc.c: Likewise.
1026         * elf64-x86-64.c: Likewise.
1027         * elfcode.h: Likewise.
1028         * elfcore.h: Likewise.
1029         * elflink.c: Likewise.
1030         * elfnn-aarch64.c: Likewise.
1031         * elfnn-ia64.c: Likewise.
1032         * elfnn-riscv.c: Likewise.
1033         * elfxx-mips.c: Likewise.
1034         * elfxx-sparc.c: Likewise.
1035         * elfxx-tilegx.c: Likewise.
1036         * elfxx-x86.c: Likewise.
1037         * hpux-core.c: Likewise.
1038         * ieee.c: Likewise.
1039         * ihex.c: Likewise.
1040         * libbfd.c: Likewise.
1041         * linker.c: Likewise.
1042         * mach-o.c: Likewise.
1043         * merge.c: Likewise.
1044         * mmo.c: Likewise.
1045         * oasys.c: Likewise.
1046         * pdp11.c: Likewise.
1047         * pe-mips.c: Likewise.
1048         * peXXigen.c: Likewise.
1049         * peicode.h: Likewise.
1050         * reloc.c: Likewise.
1051         * rs6000-core.c: Likewise.
1052         * srec.c: Likewise.
1053         * stabs.c: Likewise.
1054         * vms-alpha.c: Likewise.
1055         * xcofflink.c: Likewise.
1056
1057 2018-02-19  Alan Modra  <amodra@gmail.com>
1058
1059         PR 22845
1060         * elf.c (IS_TBSS): Define.
1061         (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
1062         (assign_file_positions_for_non_load_sections): Revert last change.
1063         Properly calculate load segment limits to compare against relro limits.
1064
1065 2018-02-17  Alan Modra  <amodra@gmail.com>
1066
1067         PR 22845
1068         * elf.c (assign_file_positions_for_non_load_sections): Ignore
1069         degenerate zero size PT_LOAD segments when finding one overlapping
1070         the PT_GNU_RELRO segment.
1071
1072 2018-02-16  Alan Modra  <amodra@gmail.com>
1073
1074         * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
1075         (_bfd_bool_bfd_true): Rename from bfd_true.
1076         (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
1077         (_bfd_int_bfd_0): Rename from bfd_0.
1078         (_bfd_uint_bfd_0): Rename from bfd_0u.
1079         (_bfd_long_bfd_0): Rename from bfd_0l.
1080         (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
1081         (_bfd_void_bfd): Rename from bfd_void.
1082         (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
1083         (_bfd_bool_bfd_link_false_error),
1084         (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
1085         (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
1086         (_bfd_bool_bfd_asection_bfd_asection_true),
1087         (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
1088         (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
1089         * archive.c (_bfd_noarchive_get_elt_at_index),
1090         (_bfd_noarchive_openr_next_archived_file),
1091         (_bfd_noarchive_construct_extended_name_table),
1092         (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
1093         (_bfd_noarchive_write_armap): New functions.
1094         * archures.c (_bfd_nowrite_set_arch_mach): New function.
1095         * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
1096         (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
1097         (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
1098         (alpha_ecoff_swap_coff_lineno_out),
1099         (alpha_ecoff_swap_coff_reloc_out): New functions.
1100         * coff-mips.c (mips_ecoff_swap_coff_aux_in),
1101         (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
1102         (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
1103         (mips_ecoff_swap_coff_lineno_out),
1104         (mips_ecoff_swap_coff_reloc_out): New functions.
1105         * coffcode.h (coff_set_alignment_hook): Replace define with
1106         new function.
1107         (symname_in_debug_hook): Likewise.
1108         * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
1109         * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
1110         * elf.c (assign_file_positions_except_relocs): Test
1111         elf_backend_allow_non_load_phdr for NULL.
1112         * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
1113         _bfd_elf_link_omit_section_dynsym.  Update uses.
1114         (_bfd_elf_omit_section_dynsym_all): New function.
1115         * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
1116         (_bfd_elf_omit_section_dynsym_default): Declare.
1117         (_bfd_elf_omit_section_dynsym_all): Declare.
1118         * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
1119         (_bfd_nolink_bfd_get_relocated_section_contents),
1120         (_bfd_nolink_bfd_lookup_section_flags),
1121         (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
1122         (_bfd_nolink_bfd_link_hash_table_create),
1123         (_bfd_nolink_bfd_link_just_syms),
1124         (_bfd_nolink_bfd_copy_link_hash_symbol_type),
1125         (_bfd_nolink_bfd_link_split_section),
1126         (_bfd_nolink_section_already_linked),
1127         (_bfd_nolink_bfd_define_common_symbol),
1128         (_bfd_nolink_bfd_define_start_stop): New functions.
1129         * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
1130         (_bfd_norelocs_bfd_reloc_name_lookup),
1131         (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
1132         * section.c (_bfd_nowrite_set_section_contents): New function.
1133         * syms.c (_bfd_nosymbols_canonicalize_symtab),
1134         (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
1135         (_bfd_nosymbols_get_symbol_version_string),
1136         (_bfd_nosymbols_bfd_is_local_label_name),
1137         (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
1138         (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
1139         (_bfd_nosymbols_bfd_make_debug_symbol),
1140         ( _bfd_nosymbols_read_minisymbols),
1141         ( _bfd_nosymbols_minisymbol_to_symbol),
1142         (_bfd_nodynamic_get_synthetic_symtab): New functions.
1143         * libbfd-in.h: Declare new functions.  Update existing defines,
1144         removing casts.
1145         * aix386-core.c: Update to use new hooks.  Formatting.
1146         * aout-adobe.c: Likewise.
1147         * aout-arm.c: Likewise.
1148         * aout-target.h: Likewise.
1149         * aout-tic30.c: Likewise.
1150         * aoutf1.h: Likewise.
1151         * binary.c: Likewise.
1152         * bout.c: Likewise.
1153         * cisco-core.c: Likewise.
1154         * coff-alpha.c: Likewise.
1155         * coff-i386.c: Likewise.
1156         * coff-i860.c: Likewise.
1157         * coff-i960.c: Likewise.
1158         * coff-ia64.c: Likewise.
1159         * coff-mips.c: Likewise.
1160         * coff-ppc.c: Likewise.
1161         * coff-rs6000.c: Likewise.
1162         * coff-sh.c: Likewise.
1163         * coff-tic30.c: Likewise.
1164         * coff-tic54x.c: Likewise.
1165         * coff-x86_64.c: Likewise.
1166         * coff64-rs6000.c: Likewise.
1167         * coffcode.h: Likewise.
1168         * elf-m10300.c: Likewise.
1169         * elf32-cr16.c: Likewise.
1170         * elf32-lm32.c: Likewise.
1171         * elf32-m32r.c: Likewise.
1172         * elf32-metag.c: Likewise.
1173         * elf32-score.c: Likewise.
1174         * elf32-score7.c: Likewise.
1175         * elf32-tilepro.c: Likewise.
1176         * elf32-xstormy16.c: Likewise.
1177         * elf32-xtensa.c: Likewise.
1178         * elf64-alpha.c: Likewise.
1179         * elf64-hppa.c: Likewise.
1180         * elf64-ia64-vms.c: Likewise.
1181         * elf64-mmix.c: Likewise.
1182         * elf64-sh64.c: Likewise.
1183         * elfnn-ia64.c: Likewise.
1184         * elfxx-sparc.c: Likewise.
1185         * elfxx-target.h: Likewise.
1186         * elfxx-tilegx.c: Likewise.
1187         * elfxx-x86.h: Likewise.
1188         * hp300hpux.c: Likewise.
1189         * hppabsd-core.c: Likewise.
1190         * hpux-core.c: Likewise.
1191         * i386msdos.c: Likewise.
1192         * i386os9k.c: Likewise.
1193         * ieee.c: Likewise.
1194         * ihex.c: Likewise.
1195         * irix-core.c: Likewise.
1196         * libaout.h: Likewise.
1197         * libecoff.h: Likewise.
1198         * mach-o-target.c: Likewise.
1199         * mach-o.c: Likewise.
1200         * mipsbsd.c: Likewise.
1201         * mmo.c: Likewise.
1202         * netbsd-core.c: Likewise.
1203         * nlm-target.h: Likewise.
1204         * oasys.c: Likewise.
1205         * osf-core.c: Likewise.
1206         * pdp11.c: Likewise.
1207         * pe-mips.c: Likewise.
1208         * pe-x86_64.c: Likewise.
1209         * pef.c: Likewise.
1210         * plugin.c: Likewise.
1211         * ppcboot.c: Likewise.
1212         * ptrace-core.c: Likewise.
1213         * sco5-core.c: Likewise.
1214         * som.c: Likewise.
1215         * sparclynx.c: Likewise.
1216         * srec.c: Likewise.
1217         * tekhex.c: Likewise.
1218         * trad-core.c: Likewise.
1219         * verilog.c: Likewise.
1220         * versados.c: Likewise.
1221         * vms-alpha.c: Likewise.
1222         * vms-lib.c: Likewise.
1223         * wasm-module.c: Likewise.
1224         * xsym.c: Likewise.
1225         * libbfd.h: Regenerate.
1226
1227 2018-02-15  Jim Wilson  <jimw@sifive.com>
1228
1229         * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
1230         symbols whose section address is zero.
1231
1232         * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
1233         when pcrel_lo reloc has an addend.  Use reloc_dangerous callback for
1234         bfd_reloc_dangerous.  Use einfo instead of warning callback for errors.
1235         Add %X%P to error messages.
1236
1237 2018-02-15  Eric Botcazou  <ebotcazou@adacore.com>
1238
1239         PR ld/22832
1240         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
1241         Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
1242         and assert that the result of the call is not NULL.
1243
1244 2018-02-14  Nick Clifton  <nickc@redhat.com>
1245
1246         PR 22823
1247         Revert previous delta.  Add extra casts to avoid compile time
1248         warnings instead.
1249         * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
1250         cast to avoid warning from gcc v8 compiler.
1251         (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
1252         (_bfd_generic_bfd_set_private_flags): Likewise.
1253         (_bfd_generic_bfd_copy_private_section_data): Likewise.
1254         (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
1255         (_bfd_generic_bfd_copy_private_header_data): Likewise.
1256         (_bfd_generic_bfd_print_private_bfd_data): Likewise.
1257         (_bfd_noarchive_construct_extended_name_table): Likewise.
1258         (_bfd_noarchive_truncate_arname): Likewise.
1259         (_bfd_noarchive_write_ar_hdr): Likewise.
1260         (_bfd_noarchive_get_elt_at_index): Likewise.
1261         (_bfd_nosymbols_canonicalize_symtab): Likewise.
1262         (_bfd_nosymbols_print_symbol): Likewise.
1263         (_bfd_nosymbols_get_symbol_info): Likewise.
1264         (_bfd_nosymbols_get_symbol_version_string): Likewise.
1265         (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
1266         (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
1267         (_bfd_nosymbols_get_lineno): Likewise.
1268         (_bfd_nosymbols_find_nearest_line): Likewise.
1269         (_bfd_nosymbols_find_line): Likewise.
1270         (_bfd_nosymbols_find_inliner_info): Likewise.
1271         (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
1272         (_bfd_nosymbols_read_minisymbols): Likewise.
1273         (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
1274         (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
1275         (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
1276         (_bfd_nowrite_set_arch_mach): Likewise.
1277         (_bfd_nowrite_set_section_contents): Likewise.
1278         (_bfd_nolink_sizeof_headers): Likewise.
1279         (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
1280         (_bfd_nolink_bfd_relax_section): Likewise.
1281         (_bfd_nolink_bfd_gc_sections): Likewise.
1282         (_bfd_nolink_bfd_lookup_section_flags): Likewise.
1283         (_bfd_nolink_bfd_merge_sections): Likewise.
1284         (_bfd_nolink_bfd_is_group_section): Likewise.
1285         (_bfd_nolink_bfd_discard_group): Likewise.
1286         (_bfd_nolink_bfd_link_hash_table_create): Likewise.
1287         (_bfd_nolink_bfd_link_add_symbols): Likewise.
1288         (_bfd_nolink_bfd_link_just_syms): Likewise.
1289         (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
1290         (_bfd_nolink_bfd_final_link): Likewise.
1291         (_bfd_nolink_bfd_link_split_section): Likewise.
1292         (_bfd_nolink_section_already_linked): Likewise.
1293         (_bfd_nolink_bfd_define_common_symbol): Likewise.
1294         (_bfd_nolink_bfd_define_start_stop): Likewise.
1295         (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
1296         (_bfd_nodynamic_get_synthetic_symtab): Likewise.
1297         (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
1298         (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
1299         * libbfd.c (bfd_false_any): Delete.
1300         (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
1301         (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
1302         * libbfd.h (extern): Regenerate
1303         * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
1304         cast to avoid warning from gcc v8 compiler.
1305         * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
1306         * binary.c (binary_get_symbol_info): Likewise.
1307         * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
1308         * coff-mips.c (mips_ecoff_backend_data): Likewise.
1309         * coffcode.h (coff_set_alignment_hook): Likewise.
1310         (symname_in_debug_hook): Likewise.
1311         (bfd_coff_backend_data bigobj_swap_table): Likewise.
1312         * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
1313         * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
1314         * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
1315         * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
1316         * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
1317         * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
1318         * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
1319         * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
1320         * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
1321         * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
1322         * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
1323         * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
1324         * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
1325         * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
1326         * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
1327         * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
1328         (bfd_elfNN_bfd_make_debug_symbol): Likewise.
1329         (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
1330         (bfd_elfNN_bfd_set_private_flags): Likewise.
1331         (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
1332         (elf_backend_init_index_section): Likewise.
1333         (elf_backend_allow_non_load_phdr): Likewise.
1334         * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
1335         * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
1336         * ieee.c (ieee_construct_extended_name_table): Likewise.
1337         (ieee_write_armap): Likewise.
1338         (ieee_write_ar_hdr): Likewise.
1339         (ieee_bfd_is_target_special_symbol): Likewise.
1340         * ihex.c (ihex_canonicalize_symtab): Likewise.
1341         (ihex_bfd_is_target_special_symbol): Likewise.
1342         * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
1343         * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
1344         (_bfd_ecoff_set_alignment_hook): Likewise.
1345         * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
1346         * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
1347         * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
1348         * oasys.c (oasys_construct_extended_name_table): Likewise.
1349         (oasys_write_armap): Likewise.
1350         (oasys_write_ar_hdr): Likewise.
1351         (oasys_bfd_is_target_special_symbol): Likewise.
1352         * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
1353         * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
1354         * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
1355         * som.c (som_bfd_is_target_special_symbol): Likewise.
1356         * srec.c (srec_bfd_is_target_special_symbol): Likewise.
1357         * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
1358         * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
1359         * versados.c (versados_bfd_is_target_special_symbol): Likewise.
1360         (versados_bfd_reloc_name_lookup): Likewise.
1361         * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
1362         (vms_bfd_define_start_stop): Likewise.
1363         (alpha_vms_bfd_is_target_special_symbol): Likewise.
1364         * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
1365         * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
1366
1367 2018-02-14  H.J. Lu  <hongjiu.lu@intel.com>
1368
1369         PR ld/22842
1370         * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
1371         PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
1372         * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
1373         R_X86_64_PC32 reloc against dynamic function in data section.
1374         Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
1375         (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
1376         against dynamic function in data section.
1377         * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
1378         function address only if pcrel_plt is true.
1379         (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
1380         * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
1381         PC-relative PLT.  If PLT is PC-relative, don't generate dynamic
1382         PC-relative relocation against a function definition in data
1383         secton in PIE.  Remove the obsolete comments.
1384         (elf_x86_link_hash_table): Add pcrel_plt.
1385
1386 2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1387
1388         * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
1389         instead of bfd_link_pic, for building shared library.
1390
1391 2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1392
1393         PR gas/22791
1394         * elf64-x86-64.c (is_32bit_relative_branch): Removed.
1395         (elf_x86_64_relocate_section): Check PIC relocations in PIE.
1396         Remove is_32bit_relative_branch usage.  Disallow PC32 reloc
1397         against protected function in shared object.
1398
1399 2018-02-13  Sergei Trofimovich  <slyfox@inbox.ru>
1400
1401         PR 22828
1402         * po/ru.po: Fix typo in Russian translation.
1403
1404 2018-02-13  Maciej W. Rozycki  <macro@mips.com>
1405
1406         * wasm-module.c (wasm_scan_name_function_section): Rename
1407         `index' local variable to `idx'.
1408
1409 2018-02-13  Nick Clifton  <nickc@redhat.com>
1410
1411         PR 22823
1412         Fix compile time warnings generated by gcc version 8.
1413         * libbfd-in.h: Remove extraneous text from prototypes.
1414         Add prototypes for bfd_false_any, bfd_true_any,
1415         bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
1416         bfd_n1_any, bfd_void_any.
1417         (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
1418         function.
1419         (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
1420         (_bfd_generic_bfd_set_private_flags): Likewise.
1421         (_bfd_generic_bfd_copy_private_section_data): Likewise.
1422         (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
1423         (_bfd_generic_bfd_copy_private_header_data): Likewise.
1424         (_bfd_generic_bfd_print_private_bfd_data): Likewise.
1425         (_bfd_noarchive_construct_extended_name_table): Likewise.
1426         (_bfd_noarchive_truncate_arname): Likewise.
1427         (_bfd_noarchive_write_ar_hdr): Likewise.
1428         (_bfd_noarchive_get_elt_at_index): Likewise.
1429         (_bfd_nosymbols_canonicalize_symtab): Likewise.
1430         (_bfd_nosymbols_print_symbol): Likewise.
1431         (_bfd_nosymbols_get_symbol_info): Likewise.
1432         (_bfd_nosymbols_get_symbol_version_string): Likewise.
1433         (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
1434         (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
1435         (_bfd_nosymbols_get_lineno): Likewise.
1436         (_bfd_nosymbols_find_nearest_line): Likewise.
1437         (_bfd_nosymbols_find_line): Likewise.
1438         (_bfd_nosymbols_find_inliner_info): Likewise.
1439         (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
1440         (_bfd_nosymbols_read_minisymbols): Likewise.
1441         (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
1442         (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
1443         (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
1444         (_bfd_nowrite_set_arch_mach): Likewise.
1445         (_bfd_nowrite_set_section_contents): Likewise.
1446         (_bfd_nolink_sizeof_headers): Likewise.
1447         (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
1448         (_bfd_nolink_bfd_relax_section): Likewise.
1449         (_bfd_nolink_bfd_gc_sections): Likewise.
1450         (_bfd_nolink_bfd_lookup_section_flags): Likewise.
1451         (_bfd_nolink_bfd_merge_sections): Likewise.
1452         (_bfd_nolink_bfd_is_group_section): Likewise.
1453         (_bfd_nolink_bfd_discard_group): Likewise.
1454         (_bfd_nolink_bfd_link_hash_table_create): Likewise.
1455         (_bfd_nolink_bfd_link_add_symbols): Likewise.
1456         (_bfd_nolink_bfd_link_just_syms): Likewise.
1457         (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
1458         (_bfd_nolink_bfd_final_link): Likewise.
1459         (_bfd_nolink_bfd_link_split_section): Likewise.
1460         (_bfd_nolink_section_already_linked): Likewise.
1461         (_bfd_nolink_bfd_define_common_symbol): Likewise.
1462         (_bfd_nolink_bfd_define_start_stop): Likewise.
1463         (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
1464         (_bfd_nodynamic_get_synthetic_symtab): Likewise.
1465         (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
1466         (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
1467         * libbfd.c (bfd_false_any): New function.  Like bfd_false but
1468         accepts one or more arguments.
1469         (bfd_true_any): Likewise.
1470         (bfd_nullvoidptr_any): Likewise.
1471         (bfd_0_any): Likewise.
1472         (bfd_0u_any): Likewise.
1473         (bfd_0l_any): Likewise.
1474         (_bfd_n1_any): Likewise.
1475         (bfd_void_any): Likewise.
1476         * libbfd.h (extern): Regenerate
1477         * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
1478         based dummy function.
1479         * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
1480         * binary.c (binary_get_symbol_info): Likewise.
1481         * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
1482         * coff-mips.c (mips_ecoff_backend_data): Likewise.
1483         * coffcode.h (coff_set_alignment_hook): Likewise.
1484         (symname_in_debug_hook): Likewise.
1485         (bfd_coff_backend_data bigobj_swap_table): Likewise.
1486         * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
1487         * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
1488         * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
1489         * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
1490         * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
1491         * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
1492         * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
1493         * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
1494         * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
1495         * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
1496         * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
1497         * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
1498         * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
1499         * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
1500         * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
1501         * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
1502         (bfd_elfNN_bfd_make_debug_symbol): Likewise.
1503         (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
1504         (bfd_elfNN_bfd_set_private_flags): Likewise.
1505         (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
1506         (elf_backend_init_index_section): Likewise.
1507         (elf_backend_allow_non_load_phdr): Likewise.
1508         * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
1509         * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
1510         * ieee.c (ieee_construct_extended_name_table): Likewise.
1511         (ieee_write_armap): Likewise.
1512         (ieee_write_ar_hdr): Likewise.
1513         (ieee_bfd_is_target_special_symbol): Likewise.
1514         * ihex.c (ihex_canonicalize_symtab): Likewise.
1515         (ihex_bfd_is_target_special_symbol): Likewise.
1516         * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
1517         * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
1518         (_bfd_ecoff_set_alignment_hook): Likewise.
1519         * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
1520         * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
1521         * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
1522         * oasys.c (oasys_construct_extended_name_table): Likewise.
1523         (oasys_write_armap): Likewise.
1524         (oasys_write_ar_hdr): Likewise.
1525         (oasys_bfd_is_target_special_symbol): Likewise.
1526         * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
1527         * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
1528         * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
1529         * som.c (som_bfd_is_target_special_symbol): Likewise.
1530         * srec.c (srec_bfd_is_target_special_symbol): Likewise.
1531         * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
1532         * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
1533         * versados.c (versados_bfd_is_target_special_symbol): Likewise.
1534         (versados_bfd_reloc_name_lookup): Likewise.
1535         * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
1536         (vms_bfd_define_start_stop): Likewise.
1537         (alpha_vms_bfd_is_target_special_symbol): Likewise.
1538         * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
1539         * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
1540         * elf32-arc.c (get_replace_function): Assign replacement function
1541         to func pointer.
1542         * elf32-i370.c (i370_noop): Update prototype.
1543
1544 2018-02-13  Alan Modra  <amodra@gmail.com>
1545
1546         PR 22836
1547         * elf.c (_bfd_elf_fixup_group_sections): Account for removed
1548         relocation sections.  If size reduces to just the flag word,
1549         remove that too and mark with SEC_EXCLUDE.
1550         * elflink.c (bfd_elf_final_link): Strip empty group sections.
1551
1552 2018-02-13  Alan Modra  <amodra@gmail.com>
1553
1554         PR 22829
1555         * elf.c (assign_file_positions_for_non_load_sections): Rewrite
1556         PT_GNU_RELRO setup.
1557
1558 2018-02-12  Zebediah Figura  <z.figura12@gmail.com>
1559
1560         * i386msdos.c (msdos_mkobject); New function.
1561         (msdos_object_p): New function.
1562         (i386_msdos_vec): Use msdos_object_p as the check_format
1563         function.
1564         * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
1565         NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
1566         IMAGE_NT_SIGNATURE.
1567         * peXXigen.c: Likewise.
1568         * coff-ia64.c: Likewise.
1569
1570 2018-02-12  Nick Clifton  <nickc@redhat.com>
1571
1572         * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
1573         assignment.
1574         * elf32-arc.c (elf_arc_relocate_section): Likewise.
1575
1576 2018-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1577
1578         * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
1579         (sparc_elf_append_rela): Assert that there is enough room in section.
1580         (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
1581         (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
1582         (allocate_dynrelocs): Remove outdated comments and reorder conditions.
1583         For a symbol subject to a GOT relocation, reserve a slot in the
1584         relocation section if the symbol isn't dynamic and we are in PIC mode.
1585         (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
1586         is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
1587         <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
1588         <R_SPARC_PC10>: Reorder conditions.  Remove always-false assertion.
1589         (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
1590         resolved_to_zero.  Do not generate a dynamic GOT relocation for an
1591         undefined weak symbol with non-default visibility.  Remove superfluous
1592         'else' and fix formatting.
1593
1594 2018-02-09  H.J. Lu  <hongjiu.lu@intel.com>
1595
1596         * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
1597         is_solaris.
1598         (i386_elf32_sol2_vec): Don't declare.
1599         (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
1600         Don't set need_global_offset_table.
1601         (elf_i386_solaris_arch_bed): New.
1602         (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
1603         Solaris.
1604         * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
1605         target_os != is_nacl instead of target_os == is_normal.
1606         (x86_64_elf64_sol2_vec): Don't declare.
1607         (elf_x86_64_link_setup_gnu_properties): Check target_os !=
1608         is_nacl instead of target_os == is_normal.  Don't set
1609         need_global_offset_table.
1610         (elf_x86_64_solaris_arch_bed): New.
1611         (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
1612         Solaris.
1613         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
1614         _GLOBAL_OFFSET_TABLE_ for Solaris.
1615         (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
1616         need_global_offset_table.
1617         * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
1618         (elf_x86_link_hash_table): Remove need_global_offset_table.
1619         (elf_x86_init_table): Likewise.
1620
1621 2018-02-08  H.J. Lu  <hongjiu.lu@intel.com>
1622
1623         * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
1624         Remove prototype.
1625         (i386_elf32_sol2_vec): Declared.
1626         (elf_i386_link_setup_gnu_properties): Set
1627         need_global_offset_table with info->output_bfd->xvec.
1628         * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
1629         Remove prototype.
1630         (x86_64_elf64_sol2_vec): Declared.
1631         (elf_x86_64_link_setup_gnu_properties): Set
1632         need_global_offset_table with info->output_bfd->xvec.
1633
1634 2018-02-08  H.J. Lu  <hongjiu.lu@intel.com>
1635
1636         * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
1637         New prototype.
1638         (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
1639         for Solaris.
1640         * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
1641         New prototype.
1642         (elf_x86_64_link_setup_gnu_properties): Set
1643         need_global_offset_table for Solaris.
1644         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
1645         unused _GLOBAL_OFFSET_TABLE_ for Solaris.
1646         (_bfd_x86_elf_link_setup_gnu_properties): Copy
1647         need_global_offset_table.
1648         * elfxx-x86.h (elf_x86_link_hash_table): Add
1649         need_global_offset_table.
1650         (elf_x86_init_table): Likewise.
1651
1652 2018-02-08  Jim Wilson  <jimw@sifive.com>
1653
1654         * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
1655         change.
1656
1657 2018-02-08  Nick Clifton  <nickc@redhat.com>
1658
1659         PR 22788
1660         * elf.c (elf_parse_notes): Reject notes with excessuively large
1661         alignments.
1662
1663 2018-02-07  Alan Modra  <amodra@gmail.com>
1664
1665         Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
1666         * elf32-ppc.c: Remove speculation barrier support.
1667         * elf32-ppc.h: Likewise.
1668         * elf64-ppc.c: Likewise.
1669         * elf64-ppc.h: Likewise.
1670
1671 2018-02-06  Jim Wilson  <jimw@sifive.com>
1672
1673         * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
1674         callback to report an error.
1675
1676 2018-02-06  Eric Botcazou  <ebotcazou@adacore.com>
1677
1678         PR ld/22263
1679         * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
1680         into call to !bfd_link_executable and tidy up.
1681         (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
1682         <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
1683         !bfd_link_executable.
1684         <R_SPARC_TLS_IE_HI22>: Likewise.
1685         <GOT relocations>: Remove useless code, tidy and merge related blocks.
1686         <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
1687         !bfd_link_executable.
1688         <R_SPARC_WPLT30>: Tidy up.
1689         (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
1690         !bfd_link_executable.
1691         (allocate_dynrelocs): Likewise.
1692         (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
1693         <R_SPARC_TLS_GD_HI22>: Merge into...
1694         <R_SPARC_TLS_GD_LO10>: ...this.  Adjust 4th argument in call to
1695         sparc_elf_tls_transition and remove redundant code.
1696         <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
1697         !bfd_link_executable.
1698         <R_SPARC_TLS_LDO_HIX22>: Likewise.
1699         <R_SPARC_TLS_LE_HIX22>: Likewise.  Tidy up.
1700         <R_SPARC_TLS_LDM_CALL>: Likewise.
1701         <R_SPARC_TLS_GD_CALL>: Likewise.  Tidy up.
1702         <R_SPARC_TLS_GD_ADD>: Likewise.
1703         <R_SPARC_TLS_LDM_ADD>: Likewise.
1704         <R_SPARC_TLS_LDO_ADD>: Likewise.
1705         <R_SPARC_TLS_IE_LD>: Likewise.
1706
1707 2018-02-06  MiloÅ¡ Stojanović  <milos.stojanovic@rt-rk.com>
1708
1709         PR 22789
1710         * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
1711         functions failed to find the function name, try the generic elf
1712         find function instead.
1713
1714 2018-02-06  Sergio Durigan Junior  <sergiodj@redhat.com>
1715
1716         * coff-rs6000.c (xcoff_write_archive_contents_old): Use
1717         'memcpy' instead of 'strncpy' when writing the magic number.
1718
1719 2018-02-06  Nick Clifton  <nickc@redhat.com>
1720
1721         PR 22794
1722         * opncls.c (bfd_get_debug_link_info_1): Check the size of the
1723         section before attempting to read it in.
1724         (bfd_get_alt_debug_link_info): Likewise.
1725
1726 2018-02-06  Paul Carroll  <pcarroll@codesourcery.com>
1727
1728         * bfd/dwarf2.c (find_abstract_name): Modified to return file and
1729         line information in addition to name, if they can be found.
1730
1731 2018-02-05  Renlin Li  <renlin.li@arm.com>
1732
1733         PR ld/22764
1734         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
1735         R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
1736         check for writeable section as well.
1737
1738 2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
1739
1740         PR ld/22782
1741         * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
1742         _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
1743         undefined weak symbol to 0.
1744         * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
1745         if _GLOBAL_OFFSET_TABLE_ is referenced.
1746         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
1747         got_referenced instead of ref_regular_nonweak.  Remove the
1748         unused _GLOBAL_OFFSET_TABLE_ from symbol table.
1749         * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
1750
1751 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
1752
1753         * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
1754         initialize `hi_reloc'.
1755
1756 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
1757
1758         * elfxx-mips.c (_bfd_mips_elf_section_processing): For
1759         SHT_MIPS_REGINFO sections don't assert the correct size and
1760         report an error instead.
1761
1762 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
1763
1764         * elf.c (_bfd_elf_write_object_contents): Propagate a failure
1765         status from `->elf_backend_section_processing'.
1766
1767 2018-02-02  Jim Wilson  <jimw@sifive.com>
1768
1769         PR ld/22756
1770         * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
1771         If link_info->wrap_hash, check for a duplicate symbol and ignore.
1772         (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
1773         Pass new argument to riscv_relax_delete_bytes.
1774         (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise.  Remove
1775         ATTRIBUTE_UNUSED from link_info parameter.
1776
1777 2018-02-02  Alan Modra  <amodra@gmail.com>
1778
1779         * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
1780         emitted for toc sequence optimization.  Set and use "howto" later.
1781
1782 2018-02-01  Simon Marchi  <simon.marchi@ericsson.com>
1783
1784         * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
1785         arithmetic on NULL pointer.
1786         * elflink.c (_bfd_elf_archive_symbol_lookup,
1787         elf_link_add_archive_symbols): Likewise.
1788
1789 2018-01-31  Michael Matz  <matz@suse.de>
1790
1791         * elflink.c (bfd_elf_define_start_stop): Fix check of
1792         def_dynamic.
1793
1794 2018-01-31  H.J. Lu  <hongjiu.lu@intel.com>
1795
1796         PR ld/21964
1797         * elflink.c (bfd_elf_define_start_stop): Check if __start and
1798         __stop symbols are referenced by shared objects.
1799
1800 2018-01-30  Alan Modra  <amodra@gmail.com>
1801
1802         PR 22758
1803         * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
1804         segment when demand paged with lma on the same page.  Test this
1805         before load/non-load, executable/non-executable,
1806         writable/non-writable tests and simplify.  Delete bogus relro
1807         condition in writable/non-writable test.  Delete outdated
1808         comment.  Formatting.
1809
1810 2018-01-30  Alan Modra  <amodra@gmail.com>
1811
1812         * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
1813         symbols dynamic.
1814
1815 2018-01-29  Alan Modra  <amodra@gmail.com>
1816
1817         PR 22741
1818         * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
1819         range before converting to a symbol table pointer.
1820
1821 2018-01-27  Nick Clifton  <nickc@redhat.com>
1822
1823         * po/ru.po: Updated Russian translation.
1824
1825 2018-01-26  Alan Modra  <amodra@gmail.com>
1826
1827         * elflink.c (bfd_elf_define_start_stop): Override symbols when
1828         they are defined dynamically.
1829
1830 2018-01-26  Alan Modra  <amodra@gmail.com>
1831
1832         * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
1833         .branch_lt changes size.
1834
1835 2018-01-25  Alan Modra  <amodra@gmail.com>
1836
1837         PR 22746
1838         * elfcode.h (elf_object_p): Avoid integer overflow.
1839
1840 2018-01-25  Eric Botcazou  <ebotcazou@adacore.com>
1841
1842         PR ld/22727
1843         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
1844         Do a mere lookup of the __tls_get_addr symbol instead of adding it.
1845
1846         Revert
1847         2017-10-19  H.J. Lu  <hongjiu.lu@intel.com>
1848
1849         PR ld/22263
1850         * elfxx-sparc.c (sparc_elf_tls_transition): Replace
1851         bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
1852         bfd_link_executable for TLS check.
1853         (_bfd_sparc_elf_check_relocs): Likewise.
1854         (allocate_dynrelocs): Likewise.
1855         (_bfd_sparc_elf_relocate_section): Likewise.
1856
1857 2018-01-24  Renlin Li  <renlin.li@arm.com>
1858
1859         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
1860         BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
1861         BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
1862         BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
1863         BFD_RELOC_AARCH64_MOVW_PREL_G3.
1864         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1865         (_bfd_aarch64_elf_resolve_relocation): Likewise.
1866
1867 2018-01-24  Renlin Li  <renlin.li@arm.com>
1868
1869         * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
1870         BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
1871         BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
1872         BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
1873         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
1874         BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
1875         BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
1876         BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
1877         BFD_RELOC_AARCH64_MOVW_PREL_G3.
1878         * bfd-in2.h: Regenerate.
1879         * libbfd.h: Regenerate.
1880
1881 2018-01-23  Maciej W. Rozycki  <macro@mips.com>
1882
1883         * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
1884         `mips_elf32_section_processing' comment reference.
1885
1886 2018-01-20  H.J. Lu  <hongjiu.lu@intel.com>
1887
1888         PR ld/22721
1889         * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
1890         versioned __tls_get_addr symbol.
1891
1892 2018-01-19  Nick Clifton  <nickc@redhat.com>
1893
1894         * po/fr.po: Updated French translation.
1895
1896 2018-01-18  Alan Modra  <amodra@gmail.com>
1897
1898         * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
1899         * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
1900         (ppc64_elf_build_stubs): Likewise.
1901
1902 2018-01-17  Nick Clifton  <nickc@redhat.com>
1903
1904         * po/ru.po: Updated Russian translation.
1905         * po/uk/po: Updated Ukranian translation.
1906
1907 2018-01-17  Alan Modra  <amodra@gmail.com>
1908
1909         * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
1910
1911 2018-01-17  Alan Modra  <amodra@gmail.com>
1912
1913         * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
1914         (CRSETEQ, BEQCTRM): Define.
1915         (is_nonpic_glink_stub): Don't check bctr.
1916         (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
1917         (ppc_elf_relax_section): Size speculation barrier.
1918         (output_bctr): New function.
1919         (write_glink_stub): Use output_bctr.
1920         (ppc_elf_relocate_section): Use output_bctr for long branch stub.
1921         (ppc_elf_finish_dynamic_symbol): Likewise.
1922         (ppc_elf_finish_dynamic_sections): Use output_bctr.
1923         * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
1924         * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
1925         (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
1926         (size_global_entry_stubs): Handle speculation barrier sizing.
1927         (plt_stub_size): Likewise.
1928         (output_bctr): New function.
1929         (build_plt_stub, build_tls_get_addr_stub): Output speculation
1930         barrier.
1931         (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
1932         (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
1933         (build_global_entry_stubs): Output speculation barrier.
1934         (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
1935         * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
1936
1937 2018-01-17  Alan Modra  <amodra@gmail.com>
1938
1939         * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
1940         __tls_get_addr_opt, and alignment sizing.
1941         (TLS_GET_ADDR_GLINK_SIZE): Delete.
1942         (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
1943         (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
1944         or 8 insns.
1945         (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
1946         (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
1947         (ppc_elf_size_dynamic_sections): Likewise.  Size branch table
1948         by PLT reloc count.
1949         (write_glink_stub): Handle __tls_get_addr_opt stub.
1950         Pad out to size given by GLINK_ENTRY_SIZE.
1951         (ppc_elf_relocate_section): Adjust write_glink_stub call.
1952         (ppc_elf_finish_dynamic_symbol): Likewise.
1953         (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
1954         insn array since so many need rewriting.
1955         * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
1956         * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
1957         GLINK_CALL_STUB_SIZE.  Add htab param and evaluate to size without
1958         nops.  Adjust all uses.
1959         (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
1960         in glink_vma calculation.
1961         (struct ppc_link_hash_table): Add global_entry section pointer.
1962         (create_linkage_sections): Create separate section for global
1963         entry stubs.
1964         (PPC_LO, PPC_HI, PPC_HA): Move earlier.
1965         (size_global_entry_stubs): Handle sizing for aligned stubs.
1966         (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
1967         and don't stash end of glink branch table in rawsize.
1968         (ppc_build_one_stub): Rewrite stub size calculations.
1969         (build_global_entry_stubs): Use new section.
1970         (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
1971         Build lazy link stubs out to end of section.  Build global entry
1972         stubs in new section.
1973
1974 2018-01-15  Nick Clifton  <nickc@redhat.com>
1975
1976         * po/uk.po: Updated Ukranian translation.
1977
1978 2018-01-13  Nick Clifton  <nickc@redhat.com>
1979
1980         * po/bfd.pot: Regenerated.
1981
1982 2018-01-13  Nick Clifton  <nickc@redhat.com>
1983
1984         * version.m4: Bump version to 2.30.51
1985         * configure: Regenerate.
1986
1987 2018-01-13  Nick Clifton  <nickc@redhat.com>
1988
1989         2.30 branch created.
1990
1991 2018-01-12  Jens Widell  <jl@opera.com>
1992
1993         * elf.c (setup_group): Optimize search for group by remembering
1994         last found group and restarting search at that index.
1995         * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
1996
1997 2018-01-12  Gunther Nikl  <gnikl@users.sourceforge.net>
1998
1999         * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
2000         bfd_link_common_skip_none in switch.
2001
2002 2018-01-12  Alan Modra  <amodra@gmail.com>
2003
2004         PR ld/22649
2005         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
2006         references on forced local symbols.
2007
2008 2018-01-12  Vlad Ivanov  <vlad@ivanov.email>
2009
2010         * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
2011         .reginfo section has wrong size.
2012
2013 2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
2014
2015         PR ld/22393
2016         * elf.c (_bfd_elf_map_sections_to_segments): When generating
2017         separate code and read-only data LOAD segments, create a new
2018         LOAD segment if the previous section contains text and the
2019         current section doesn't or vice versa.  Don't put a writable
2020         section in a read-only segment if there is a RELRO segment.
2021
2022 2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
2023
2024         PR ld/22649
2025         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
2026         references on forced local symbols.
2027
2028 2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
2029
2030         PR ld/22677
2031         * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
2032         INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
2033
2034 2018-01-09  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
2035
2036         PR 22662
2037         * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
2038
2039 2018-01-03  John Baldwin  <jhb@FreeBSD.org>
2040
2041         * elf.c (elfcore_grok_freebsd_note): Handle
2042         NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
2043         NT_FREEBSD_PROCSTAT_VMMAP.
2044
2045 2018-01-03  Alan Modra  <amodra@gmail.com>
2046
2047         Update year range in copyright notice of all files.
2048
2049 For older changes see ChangeLog-2017
2050 \f
2051 Copyright (C) 2018 Free Software Foundation, Inc.
2052
2053 Copying and distribution of this file, with or without modification,
2054 are permitted in any medium without royalty provided the copyright
2055 notice and this notice are preserved.
2056
2057 Local Variables:
2058 mode: change-log
2059 left-margin: 8
2060 fill-column: 74
2061 version-control: never
2062 End: