[ARM] Implement FDPIC relocations.
[deliverable/binutils-gdb.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:
This page took 0.080407 seconds and 5 git commands to generate.