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