1 2016-12-20 Andrew Waterman <andrew@sifive.com>
3 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use
4 EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT.
6 2016-12-20 Andrew Waterman <andrew@sifive.com>
8 * elfnn-riscv.c (bfd_riscv_get_max_alignment): Return bfd_vma
9 instead of unsigned int.
11 2016-12-20 Andrew Waterman <andrew@sifive.com>
12 Kuan-Lin Chen <kuanlinchentw@gmail.com>
14 * reloc.c (BFD_RELOC_RISCV_TPREL_I): New relocation.
15 (BFD_RELOC_RISCV_TPREL_S): Likewise.
16 (BFD_RELOC_RISCV_RELAX): Likewise.
17 (BFD_RELOC_RISCV_CFA): Likewise.
18 (BFD_RELOC_RISCV_SUB6): Likewise.
19 (BFD_RELOC_RISCV_SET8): Likewise.
20 (BFD_RELOC_RISCV_SET8): Likewise.
21 (BFD_RELOC_RISCV_SET16): Likewise.
22 (BFD_RELOC_RISCV_SET32): Likewise.
23 * elfnn-riscv.c (perform_relocation): Handle the new
25 (_bfd_riscv_relax_tls_le): Likewise.
26 (_bfd_riscv_relax_align): Likewise.
27 (_bfd_riscv_relax_section): Likewise.
28 (howto_table): Likewise.
29 (riscv_reloc_map): Likewise.
30 (relax_func_t): New type.
31 (_bfd_riscv_relax_call): Add reserve_size argument, which
32 controls the maximal offset pessimism. Correct type of max_alignment.
33 (_bfd_riscv_relax_lui): Likewise.
34 (_bfd_riscv_relax_tls_le): Likewise.
35 (_bfd_riscv_relax_align): Likewise.
36 (_bfd_riscv_relax_section): Compute the required reserve size
37 when relocating and use it to when calling relax_func.
38 * bfd-in2.h: Regenerate.
41 2016-12-20 Andrew Waterman <andrew@sifive.com>
43 * elfnn-riscv.c: Formatting and comment fixes throughout.
44 * elfxx-riscv.c: Likewise.
45 (howto_table): Change the src_mask field from MINUS_ONE to 0 for
46 R_RISCV_TLS_DTPMOD32, R_RISCV_TLS_DTPMOD64, R_RISCV_TLS_DTPREL32,
47 R_RISCV_TLS_DTPREL64, R_RISCV_TLS_TPREL32, R_RISCV_TLS_TPREL64.
49 2016-12-20 Palmer Dabbelt <palmer@dabbelt.com>
51 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
52 error message when linking elf32 and elf64.
54 2016-12-19 Christian Groessler <chris@groessler.org>
56 * elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'. Make
57 'sum' local variable signed.
59 2016-12-16 fincs <fincs.alt1@gmail.com>
61 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
62 for info->gc_keep_exported.
63 (bfd_elf_gc_sections): Likewise.
65 2016-12-15 Alan Modra <amodra@gmail.com>
69 * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move
70 reloc counting code later after ELF flavour test.
72 2016-12-14 Maciej W. Rozycki <macro@imgtec.com>
74 * bfd-in.h (elf_internal_abiflags_v0): New struct declaration.
75 (bfd_mips_elf_get_abiflags): New prototype.
76 * elfxx-mips.c (bfd_mips_elf_get_abiflags): New function.
77 * bfd-in2.h: Regenerate.
79 2016-12-14 Yury Norov <ynorov@caviumnetworks.com>
81 * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where
84 2016-12-13 Alan Modra <amodra@gmail.com>
86 * elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR
87 for objcopy/strip or when a ld script specifies PHDRS.
89 2016-12-13 Alan Modra <amodra@gmail.com>
91 * elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust
92 segments that include the ELF file header or program headers.
94 2016-12-08 Alan Modra <amodra@gmail.com>
97 * elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.
99 2016-12-07 Nick Clifton <nickc@redhat.com>
102 * elflink.c (bfd_elf_record_link_assignment): Replace call to
103 abort with an error message and error return value.
105 2016-12-06 Nick Clifton <nickc@redhat.com>
108 * elf.c (copy_special_section_fields): Check for an invalid
109 sh_link field before attempting to follow it.
112 * aoutx.h (squirt_out_relocs): Check for relocs without an
115 2016-12-06 Alan Modra <amodra@gmail.com>
117 * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize
118 lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp.
119 Don't match lmd and stmd.
121 2016-12-05 Alyssa Milburn <amilburn@zall.org>
123 * elfxx-sparc.c: Do not stop processing relocations after
124 partially relaxing a call with WDISP30.
126 2016-12-05 Nick Clifton <nickc@redhat.com>
129 * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
130 the end of the string buffer.
133 * peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.
136 * aoutx.h (squirt_out_relocs): Check for and report any relocs
137 that could not be recognised.
140 * elf.c (find_link): Check for null headers before attempting to
144 * aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
148 (aout_link_add_symbols): Fix off by one error checking for
149 overflow of string offset.
151 2016-12-03 Alan Modra <amodra@gmail.com>
153 * elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined".
154 (struct ppc_link_hash_table): Delete "twiddled_syms". Add
155 "need_func_desc_adj".
156 (lookup_fdh): Link direct fdh sym via oh field and set flags.
157 (make_fdh): Make strong and weak undefined function descriptor
159 (ppc64_elf_merge_symbol): New function.
160 (elf_backend_merge_symbol): Define.
161 (ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake
162 function descriptors.
163 (add_symbol_adjust): Don't twiddle symbols to undefweak.
164 Propagate more ref flags to function descriptor symbol. Make
165 some function descriptor symbols dynamic.
166 (ppc64_elf_before_check_relocs): Only run add_symbol_adjust for
167 ELFv1. Set need_func_desc_adj. Don't fix undefs list.
168 (ppc64_elf_check_relocs): Set non_ir_ref for descriptors.
169 Don't call lookup_fdh here.
170 (ppc64_elf_gc_sections): New function.
171 (bfd_elf64_bfd_gc_sections): Define.
172 (ppc64_elf_gc_mark_hook): Mark descriptor.
173 (func_desc_adjust): Don't make fake function descriptor syms strong
174 here. Exit earlier on non-dotsyms. Take note of elf.dynamic
175 flag when deciding whether a dynamic function descriptor might
176 be needed. Transfer elf.dynamic and set elf.needs_plt. Move
177 plt regardless of visibility. Make descriptor dynamic if
178 entry sym is dynamic, not for other cases.
179 (ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if
181 (ppc64_elf_edit_opd): Use oh field rather than lookup_fdh.
182 (ppc64_elf_size_stubs): Likewise.
183 (ppc_build_one_stub): Don't clear was_undefined. Only set sym
184 undefweak if stub symbol is defined.
185 (undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete.
186 * elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare.
188 2016-12-03 Alan Modra <amodra@gmail.com>
190 * elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
191 elf_link_hash_table rather than ppc_link_hash_table.
193 2016-12-03 Alan Modra <amodra@gmail.com>
195 * elf64-ppc.c (add_symbol_adjust): Delete dead code.
197 2016-12-03 Alan Modra <amodra@gmail.com>
199 * elf64-ppc.c (add_symbol_adjust): Correct order of tests for
200 warning and indirect symbols.
202 2016-12-03 Alan Modra <amodra@gmail.com>
204 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
205 flags when direct symbol is versioned_hidden.
207 2016-12-02 Nick Clifton <nickc@redhat.com>
210 * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
211 when following indirect links.
214 * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
215 for an illegal string offset.
217 2016-12-02 Gary Benson <gbenson@redhat.com>
219 * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
222 2016-12-02 Josh Conner <joshconner@google.com>
224 * config.bfd: Add support for fuchsia (OS).
226 2016-12-01 Yury Norov <ynorov@caviumnetworks.com>
229 * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
230 to the GOT when operating in 32-bit mode.
232 2016-12-01 Ma Jiang <ma.jiang@zte.com.cn>
235 * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
236 test for HI16 relocs.
238 2016-12-01 Nick Clifton <nickc@redhat.com>
241 * aoutx.h (find_nearest_line): Handle the case where the main file
242 name and the directory name are both empty.
245 * aoutx.h (find_nearest_line): Handle the case where the function
248 2016-11-30 Alan Modra <amodra@gmail.com>
250 * elf.c (get_program_header_size): Revert accidental change.
252 2016-11-30 Alan Modra <amodra@gmail.com>
255 * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
256 on any pass past STUB_SHRINK_ITER.
258 2016-11-28 H.J. Lu <hongjiu.lu@intel.com>
260 * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
261 symbol in executable.
262 (elf_link_output_extsym): Don't change bind from global to
263 local when linking executable.
265 2016-11-28 Nick Clifton <nickc@redhat.com>
268 * elf.c (phdr_sorter): Delete.
269 (assign_file_positions_except_relocs): Do not sort program
272 2016-11-25 Jon Turney <jon.turney@dronecode.org.uk>
275 * peXXigen.c (rsrc_process_section): Do not shrink the merged
278 2016-11-24 Jiong Wang <jiong.wang@arm.com>
281 * elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
284 2016-11-24 Kuan-Lin Chen <kuanlinchentw@gmail.com>
286 * bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.
288 2016-11-23 Nick Clifton <nickc@redhat.com>
291 * elf.c (elf_modify_segment_map): Allow empty LOAD segments if
292 they contain the program headers.
293 (_bfd_elf_map_sections_to_segments): If the linker created the
294 PHDR segment then always attempt to include it in a LOAD segment.
295 (assign_file_positions_for_non_load_sections): Allow LOAD segments
296 to overlap PHDR segments.
297 (phdr_sorter): New function. Sorts program headers.
298 (assign_file_positions_except_relocs): Sort the program headers
299 before writing them out. Issue an error if the PHDR segment is
300 not covered by a LOAD segment, unless the backend allows it.
301 * elf-bfd.h (struct elf_backend_data): Add
302 elf_backend_allow_non_load_phdr.
303 * elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
304 default definition that returns FALSE.
305 (elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
307 * elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
309 (elf_backend_allow_non_load_phdr): Define.
310 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
311 place the interpreter string into the .interp section if the
312 nointerp flag is set in the link info structure.
313 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
314 * elf32-score7.c (score_elf_final_link_relocate): Allow for the
315 _gp symbol not being part of the output.
317 2016-11-23 Alan Modra <amodra@gmail.com>
319 * elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
320 * elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
321 (elfNN_bed): Init new field.
322 * elflink.c (bfd_elf_final_link): Add and use htab variable. Handle
324 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
326 (elf_backend_dtrel_excludes_plt): Define.
327 * elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
328 (elf_backend_dtrel_excludes_plt): Define.
329 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
330 subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
331 (elf_backend_dtrel_excludes_plt): Define.
332 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
334 (elf_backend_dtrel_excludes_plt): Define.
335 * elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
337 (elf_backend_dtrel_excludes_plt): Define.
338 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
340 (elf_backend_dtrel_excludes_plt): Define.
341 * elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
343 (elf_backend_dtrel_excludes_plt): Define.
344 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
346 (elf_backend_dtrel_excludes_plt): Define.
347 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
349 (elf_backend_dtrel_excludes_plt): Define.
350 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
352 (elf_backend_dtrel_excludes_plt): Define.
353 * elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
355 (elf_backend_dtrel_excludes_plt): Define.
356 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
357 DT_RELASZ and DT_RELA code. Use ELF htab shortcuts for other
359 (elf_backend_dtrel_excludes_plt): Define.
360 * elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
361 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
363 (elf_backend_dtrel_excludes_plt): Define.
364 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
366 (elf_backend_dtrel_excludes_plt): Define.
367 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
369 (elf_backend_dtrel_excludes_plt): Define.
370 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
372 (elf_backend_dtrel_excludes_plt): Define.
373 * elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
375 (elf_backend_dtrel_excludes_plt): Define.
376 * elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
377 * elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
379 (elf_backend_dtrel_excludes_plt): Define.
380 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
382 (elf_backend_dtrel_excludes_plt): Define.
383 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
385 (elf_backend_dtrel_excludes_plt): Define.
386 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
388 (elf_backend_dtrel_excludes_plt): Define.
389 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
391 (elf_backend_dtrel_excludes_plt): Define.
392 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
394 (elf_backend_dtrel_excludes_plt): Define.
395 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
397 (elf_backend_dtrel_excludes_plt): Define.
398 * elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
400 (elf_backend_dtrel_excludes_plt): Define.
401 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
403 * elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.
405 2016-11-23 Alan Modra <amodra@gmail.com>
407 * elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
409 (mn10300_elf_final_link_relocate): Likewise.
410 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
411 (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
412 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
413 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
414 * elf32-bfin.c (bfin_check_relocs): Likewise.
415 (bfin_relocate_section): Likewise.
416 (bfin_gc_sweep_hook): Likewise.
417 (struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
419 (bfinfdpic_got_section, bfinfdpic_gotrel_section,
420 bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
422 (_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
424 (bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
425 (bfin_size_dynamic_sections): Likewise.
426 * elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
427 (cr16_elf_check_relocs): Likewise.
428 (cr16_elf_final_link_relocate): Likewise.
429 (_bfd_cr16_elf_create_dynamic_sections): Likewise.
430 (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
431 (_bfd_cr16_elf_size_dynamic_sections): Likewise.
432 (_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
433 (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
434 * elf32-cris.c (cris_elf_relocate_section): Likewise.
435 (elf_cris_finish_dynamic_symbol): Likewise.
436 (elf_cris_finish_dynamic_sections): Likewise.
437 (cris_elf_gc_sweep_hook): Likewise.
438 (elf_cris_adjust_gotplt_to_got): Likewise.
439 (elf_cris_adjust_dynamic_symbol): Likewise.
440 (cris_elf_check_relocs): Likewise. Delete dead code.
441 (elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
443 (elf_cris_discard_excess_program_dynamics): Likewise.
444 * elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
445 sgotrel, splt and spltrel.
446 (frvfdpic_got_section, frvfdpic_gotrel_section,
447 frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
449 (_frv_create_got_section): Likewise.
450 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
451 srelgot, splt and srelplt.
452 (hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
453 (elf32_hppa_create_dynamic_sections): Likewise.
454 (elf32_hppa_check_relocs): Likewise.
455 (allocate_plt_static): Likewise.
456 (allocate_dynrelocs): Likewise.
457 (elf32_hppa_size_dynamic_sections): Likewise.
458 (elf32_hppa_relocate_section): Likewise.
459 (elf32_hppa_finish_dynamic_symbol): Likewise.
460 (elf32_hppa_finish_dynamic_sections): Likewise.
461 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
462 * elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
463 sgotplt, srelgot, splt and srelplt.
464 (lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
466 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
467 (lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
468 (lm32_elf_check_relocs): Likewise.
469 (lm32_elf_finish_dynamic_sections): Likewise.
470 (lm32_elf_finish_dynamic_symbol): Likewise.
471 (allocate_dynrelocs): Likewise.
472 (lm32_elf_size_dynamic_sections): Likewise.
473 (lm32_elf_create_dynamic_sections): Likewise.
474 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
475 (m32c_elf_check_relocs): Likewise.
476 (m32c_elf_finish_dynamic_sections): Likewise.
477 (m32c_elf_always_size_sections): Likewise.
478 * elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
479 sgotplt, srelgot, splt and srelplt.
480 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
481 (m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
483 (allocate_dynrelocs): Likewise.
484 (m32r_elf_size_dynamic_sections): Likewise.
485 (m32r_elf_relocate_section): Likewise.
486 (m32r_elf_finish_dynamic_symbol): Likewise.
487 (m32r_elf_finish_dynamic_sections): Likewise.
488 (m32r_elf_check_relocs): Likewise.
489 * elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
490 (elf_m68k_check_relocs): Likewise.
491 (elf_m68k_adjust_dynamic_symbol): Likewise.
492 (elf_m68k_size_dynamic_sections): Likewise.
493 (elf_m68k_relocate_section): Likewise.
494 (elf_m68k_finish_dynamic_symbol): Likewise.
495 (elf_m68k_finish_dynamic_sections): Likewise.
496 * elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
497 sgotplt, srelgot, splt and srelplt.
498 (elf_metag_relocate_section): Use elf htab shortcuts to dynamic
500 (elf_metag_create_dynamic_sections): Likewise. Allocate got header
502 (elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
503 (allocate_dynrelocs): Likewise.
504 (elf_metag_size_dynamic_sections): Likewise.
505 (elf_metag_finish_dynamic_symbol): Likewise.
506 (elf_metag_finish_dynamic_sections): Likewise.
507 (elf_metag_size_stubs): Likewise.
508 (elf_backend_got_header_size): Don't define.
509 (elf_backend_want_got_plt): Define.
510 * elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
511 sgotplt, srelgot, splt and srelpl.
512 (microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
514 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
515 (microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
516 (microblaze_elf_create_dynamic_sections): Likewise.
517 (allocate_dynrelocs): Likewise.
518 (microblaze_elf_size_dynamic_sections): Likewise.
519 (microblaze_elf_finish_dynamic_symbol): Likewise.
520 (microblaze_elf_finish_dynamic_sections): Likewise.
521 * elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
523 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
524 (nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
526 (allocate_dynrelocs): Likewise.
527 (nds32_elf_size_dynamic_sections): Likewise.
528 (nds32_elf_relocate_section): Likewise.
529 (nds32_elf_finish_dynamic_symbol): Likewise.
530 (nds32_elf_finish_dynamic_sections): Likewise.
531 (nds32_elf_check_relocs): Likewise.
532 (calculate_plt_memory_address): Likewise.
533 (calculate_got_memory_address): Likewise.
534 * elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
535 sgotplt, srelgot, splt and srelplt.
536 * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
537 (or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
538 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
539 (or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
540 (or1k_elf_finish_dynamic_sections): Likewise.
541 (or1k_elf_finish_dynamic_symbol): Likewise.
542 (allocate_dynrelocs): Likewise.
543 (or1k_elf_size_dynamic_sections): Likewise.
544 (or1k_elf_create_dynamic_sections): Likewise.
545 * elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
546 plt, relplt, iplt, reliplt and sgotplt.
547 (ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
548 (ppc_elf_create_glink): Likewise.
549 (ppc_elf_create_dynamic_sections): Likewise.
550 (ppc_elf_check_relocs): Likewise.
551 (ppc_elf_select_plt_layout): Likewise.
552 (ppc_elf_tls_setup): Likewise.
553 (allocate_got): Likewise.
554 (allocate_dynrelocs): Likewise.
555 (ppc_elf_size_dynamic_sections): Likewise.
556 (ppc_elf_relax_section): Likewise.
557 (ppc_elf_relocate_section): Likewise.
558 (ppc_elf_finish_dynamic_symbol): Likewise.
559 (ppc_elf_reloc_type_class): Likewise.
560 (ppc_elf_finish_dynamic_sections): Likewise.
561 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
562 (rl78_elf_check_relocs): Likewise.
563 (rl78_elf_finish_dynamic_sections): Likewise.
564 (rl78_elf_always_size_sections): Likewise.
565 * elf32-s390.c (create_got_section): Delete.
566 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
567 (elf_s390_check_relocs): Likewise.
568 * elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
569 (s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
570 * elf32-score7.c (score_elf_create_got_section): As above.
571 (s7_bfd_score_elf_finish_dynamic_sections): As above.
572 * elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
573 sgotplt, srelgot, splt and srelplt.
574 (create_got_section): Don't set them.
575 (sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
577 (allocate_dynrelocs): Likewise.
578 (sh_elf_size_dynamic_sections): Likewise.
579 (sh_elf_add_rofixup): Likewise.
580 (sh_elf_relocate_section): Likewise.
581 (sh_elf_check_relocs): Likewise.
582 (sh_elf_finish_dynamic_symbol): Likewise.
583 (sh_elf_finish_dynamic_sections): Likewise.
584 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
585 * elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
586 * elf32-vax.c (elf_vax_check_relocs): Likewise.
587 (elf_vax_adjust_dynamic_symbol): Likewise.
588 (elf_vax_always_size_sections): Likewise.
589 (elf_vax_instantiate_got_entries): Likewise.
590 (elf_vax_relocate_section): Likewise.
591 (elf_vax_finish_dynamic_symbol): Likewise.
592 (elf_vax_finish_dynamic_sections): Likewise.
593 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
594 (xstormy16_elf_always_size_sections): Likewise.
595 (xstormy16_elf_relocate_section): Likewise.
596 (xstormy16_elf_finish_dynamic_sections): Likewise.
597 * elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
598 sgotplt, srelgot, splt and srelplt.
599 (elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
601 (elf_xtensa_allocate_dynrelocs): Likewise.
602 (elf_xtensa_allocate_local_got_size): Likewise.
603 (elf_xtensa_size_dynamic_sections): Likewise.
604 (elf_xtensa_relocate_section): Likewise.
605 (elf_xtensa_finish_dynamic_sections): Likewise.
606 (shrink_dynamic_reloc_sections): Likewise.
607 (elf_xtensa_get_plt_section): Likewise.
608 (elf_xtensa_get_gotplt_section): Likewise.
609 (xtensa_callback_required_dependence): Likewise.
610 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
611 shortcuts to dynamic sections.
612 (elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
614 (elf64_alpha_size_plt_section): Likewise.
615 (elf64_alpha_size_rela_got_1): Likewise.
616 (elf64_alpha_size_rela_got_section): Likewise.
617 (elf64_alpha_relocate_section): Likewise.
618 (elf64_alpha_finish_dynamic_symbol): Likewise.
619 (elf64_alpha_finish_dynamic_sections): Likewise.
620 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
621 * elf64-s390.c (create_got_section): Delete.
622 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
623 (elf_s390_check_relocs): Likewise.
624 * elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
626 (sh_elf64_check_relocs): Likewise.
627 (sh64_elf64_adjust_dynamic_symbol): Likewise.
628 (sh64_elf64_size_dynamic_sections): Likewise.
629 (sh64_elf64_finish_dynamic_symbol): Likewise.
630 (sh64_elf64_finish_dynamic_sections): Likewise.
631 * elflink.c (_bfd_elf_create_got_section): Likewise.
632 * elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
633 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
634 (elfNN_ia64_finish_dynamic_sections): Likewise.
635 * elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
636 * elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
637 sgotplt, splt and sgot.
638 (mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
640 (mips_elf_gotplt_index): Likewise.
641 (mips_elf_primary_global_got_index): Likewise.
642 (mips_elf_global_got_index): Likewise.
643 (mips_elf_got_offset_from_index): Likewise.
644 (mips_elf_create_local_got_entry): Likewise.
645 (mips_elf_create_got_section): Likewise.
646 (mips_elf_calculate_relocation): Likewise.
647 (_bfd_mips_elf_create_dynamic_sections): Likewise.
648 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
649 (mips_elf_lay_out_got): Likewise.
650 (mips_elf_set_plt_sym_value): Likewise.
651 (_bfd_mips_elf_size_dynamic_sections): Likewise.
652 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
653 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
654 (mips_finish_exec_plt): Likewise.
655 (mips_vxworks_finish_exec_plt): Likewise.
656 (mips_vxworks_finish_shared_plt): Likewise.
657 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
658 * elfxx-sparc.c (sparc_finish_dyn): Likewise.
659 * elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.
661 2016-11-23 Alan Modra <amodra@gmail.com>
663 * po/BLD-POTFILES.in: Regenerate.
664 * po/SRC-POTFILES.in: Regenerate.
666 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
668 * warning.m4: Fix spelling in comments.
669 * configure.ac: Fix spelling in comments.
670 * configure: Regenerate.
672 2016-11-22 Alan Modra <amodra@gmail.com>
675 * elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
676 * elf32-ppc.c: Include opcode/ppc.h.
677 (ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
678 R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
679 R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
680 R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
681 R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
682 (ppc_elf_link_hash_table_create): Update default_params init.
683 (ppc_elf_vle_split16): Correct shift and mask. Add params.
684 Report or fix insn/reloc mismatches.
685 (ppc_elf_relocate_section): Pass input_section, offset and fixup
686 to ppc_elf_vle_split16.
688 2016-11-22 Alan Modra <amodra@gmail.com>
690 * elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
691 input_bfd. Replace occurrences of output_bfd as bfd_get_32 and
692 bfd_put_32 param with input_bfd.
693 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Also
694 ppc_elf_vle_split16 param.
695 (ppc_elf_vle_split16): Rename output_bfd param to input_bfd.
697 2016-11-21 Maciej W. Rozycki <macro@imgtec.com>
699 * dwarf2.c (build_line_info_table): Rename `index' local
700 variable to `line_index'.
701 (build_lookup_funcinfo_table): Rename `index' local variable to
704 2016-11-19 Jose E. Marchesi <jose.marchesi@oracle.com>
706 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not
707 apply the negative GOT offset optimization in 64-bit code.
709 2016-11-18 James Clarke <jrtc27@jrtc27.com>
711 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
712 R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
713 R_SPARC_GOT* for non-local references. Instead, treat them like
714 R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
715 immediate with the calculated relocation.
717 2016-11-18 Nick Clifton <nickc@redhat.com>
720 * elf32-metag.c (elf_metag_relocate_section): Replace abort with
721 an informative error message.
723 2016-11-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
726 * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
727 manipulation of diff value, and don't assume sym2 is less than sym1.
728 (elf32_avr_adjust_reloc_if_spans_insn): New function.
729 (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
730 and remove redundant did_pad.
733 2016-11-14 H.J. Lu <hongjiu.lu@intel.com>
736 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
737 plt_got.offset for R_X86_64_PLTOFF64.
739 2016-11-14 Nick Clifton <nickc@redhat.com>
741 * coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall.
743 2016-11-11 Luke Allardyce <lukeallardyce@gmail.com>
746 * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
747 but treat them as debugging symbols.
749 2016-11-10 Jiong Wang <jiong.wang@arm.com>
752 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
753 symbol locally in PIE.
755 2016-11-10 Nick Clifton <nickc@redhat.com>
758 * compress.c (bfd_get_full_section_contents): Provide a more
759 helpful error message when a section is too large to load.
761 2016-11-08 Pedro Alves <palves@redhat.com>
763 * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
766 2016-11-08 Igor Tsimbalist <tigor.tools@gmail.com>
768 * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
769 'number_of_functions' to keep lookup table and number of entries in
771 (line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
772 to keep lookup table and number of entries in the table.
773 (lookup_funcinfo): New structure for lookup table for function
775 (build_line_info_table): New function to create and build the lookup
776 table for line information.
777 (lookup_address_in_line_info_table): Use the lookup table instead of
778 traverse a linked list.
779 (compare_lookup_funcinfos): New compare fuction used in sorting of
780 lookup table for function references.
781 (build_lookup_funcinfo_table): New function to create, build and
782 sort the lookup table for functions references.
783 (lookup_address_in_function_table): Use the table instead of
784 traverse a linked list.
785 (_bfd_dwarf2_cleanup_debug_info): Free memory from function references
788 2016-11-04 Nick Clifton <nickc@redhat.com>
790 * targets.c (bfd_target_vector): Only add riscv_elf32_vec target
791 when supporting 64-bit BFD targets.
793 2016-11-03 Tristan Gingold <gingold@adacore.com>
795 * config.bfd: Deprecate many old triplets.
797 2016-11-03 Nick Clifton <nickc@redhat.com>
799 * po/da.po: Updated Danish translation.
801 2016-11-01 Maciej W. Rozycki <macro@imgtec.com>
803 * reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
804 not fall through to the default case.
806 2016-11-01 Palmer Dabbelt <palmer@dabbelt.com>
807 Andrew Waterman <andrew@sifive.com>
809 Add support for RISC-V architecture.
810 * Makefile.am: Add entries for riscv32-elf and riscv64-elf.
811 * config.bdf: Likewise.
812 * configure.ac: Likewise.
813 * Makefile.in: Regenerate.
814 * configure: Regenerate.
815 * archures.c: Add bfd_riscv_arch.
816 * reloc.c: Add riscv relocs.
817 * targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
818 * bfd-in2.h: Regenerate.
819 * libbfd.h: Regenerate.
820 * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
821 * elfnn-riscv.c: New file.
822 * elfxx-riscv.c: New file.
823 * elfxx-riscv.h: New file.
825 2016-10-31 Alan Modra <amodra@gmail.com>
828 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
831 2016-10-27 Andrew Burgess <andrew.burgess@embecosm.com>
833 * cpu-arc.c (arc_get_mach): Delete.
835 2016-10-25 Maciej W. Rozycki <macro@imgtec.com>
837 * elfxx-mips.c (STUB_JALR): Correct description.
839 2016-10-20 Nick Clifton <nickc@redhat.com>
841 * po/gas.pot: Regenerate.
843 2016-10-19 Nick Clifton <nickc@redhat.com>
845 * aout-adobe.c: Add missing c-format tags for translatable strings.
846 * aout-cris.c: Likewise.
849 * binary.c: Likewise.
851 * coff-alpha.c: Likewise.
852 * coff-arm.c: Likewise.
853 * coff-i860.c: Likewise.
854 * coff-mcore.c: Likewise.
855 * coff-ppc.c: Likewise.
856 * coff-rs6000.c: Likewise.
857 * coff-sh.c: Likewise.
858 * coff-tic4x.c: Likewise.
859 * coff-tic54x.c: Likewise.
860 * coff-tic80.c: Likewise.
861 * coff64-rs6000.c: Likewise.
862 * coffcode.h: Likewise.
863 * coffgen.c: Likewise.
864 * cofflink.c: Likewise.
865 * coffswap.h: Likewise.
866 * cpu-arm.c: Likewise.
867 * dwarf2.c: Likewise.
869 * elf-attrs.c: Likewise.
870 * elf-eh-frame.c: Likewise.
871 * elf-ifunc.c: Likewise.
872 * elf-m10300.c: Likewise.
873 * elf-s390-common.c: Likewise.
875 * elf32-arc.c: Likewise.
876 * elf32-arm.c: Likewise.
877 * elf32-avr.c: Likewise.
878 * elf32-bfin.c: Likewise.
879 * elf32-cr16.c: Likewise.
880 * elf32-cr16c.c: Likewise.
881 * elf32-cris.c: Likewise.
882 * elf32-crx.c: Likewise.
883 * elf32-d10v.c: Likewise.
884 * elf32-d30v.c: Likewise.
885 * elf32-epiphany.c: Likewise.
886 * elf32-fr30.c: Likewise.
887 * elf32-frv.c: Likewise.
888 * elf32-gen.c: Likewise.
889 * elf32-hppa.c: Likewise.
890 * elf32-i370.c: Likewise.
891 * elf32-i386.c: Likewise.
892 * elf32-i960.c: Likewise.
893 * elf32-ip2k.c: Likewise.
894 * elf32-iq2000.c: Likewise.
895 * elf32-lm32.c: Likewise.
896 * elf32-m32c.c: Likewise.
897 * elf32-m32r.c: Likewise.
898 * elf32-m68hc11.c: Likewise.
899 * elf32-m68hc12.c: Likewise.
900 * elf32-m68hc1x.c: Likewise.
901 * elf32-m68k.c: Likewise.
902 * elf32-mcore.c: Likewise.
903 * elf32-mep.c: Likewise.
904 * elf32-metag.c: Likewise.
905 * elf32-microblaze.c: Likewise.
906 * elf32-moxie.c: Likewise.
907 * elf32-msp430.c: Likewise.
908 * elf32-mt.c: Likewise.
909 * elf32-nds32.c: Likewise.
910 * elf32-nios2.c: Likewise.
911 * elf32-or1k.c: Likewise.
912 * elf32-pj.c: Likewise.
913 * elf32-ppc.c: Likewise.
914 * elf32-rl78.c: Likewise.
915 * elf32-rx.c: Likewise.
916 * elf32-s390.c: Likewise.
917 * elf32-score.c: Likewise.
918 * elf32-score7.c: Likewise.
919 * elf32-sh-symbian.c: Likewise.
920 * elf32-sh.c: Likewise.
921 * elf32-sh64.c: Likewise.
922 * elf32-spu.c: Likewise.
923 * elf32-tic6x.c: Likewise.
924 * elf32-tilepro.c: Likewise.
925 * elf32-v850.c: Likewise.
926 * elf32-vax.c: Likewise.
927 * elf32-visium.c: Likewise.
928 * elf32-xgate.c: Likewise.
929 * elf32-xtensa.c: Likewise.
930 * elf64-alpha.c: Likewise.
931 * elf64-gen.c: Likewise.
932 * elf64-hppa.c: Likewise.
933 * elf64-ia64-vms.c: Likewise.
934 * elf64-mmix.c: Likewise.
935 * elf64-ppc.c: Likewise.
936 * elf64-s390.c: Likewise.
937 * elf64-sh64.c: Likewise.
938 * elf64-sparc.c: Likewise.
939 * elf64-x86-64.c: Likewise.
940 * elfcode.h: Likewise.
941 * elfcore.h: Likewise.
942 * elflink.c: Likewise.
943 * elfnn-aarch64.c: Likewise.
944 * elfnn-ia64.c: Likewise.
945 * elfxx-mips.c: Likewise.
946 * elfxx-sparc.c: Likewise.
947 * elfxx-tilegx.c: Likewise.
950 * libbfd.c: Likewise.
951 * linker.c: Likewise.
952 * m68klinux.c: Likewise.
953 * mach-o.c: Likewise.
958 * pe-mips.c: Likewise.
959 * peXXigen.c: Likewise.
960 * pei-x86_64.c: Likewise.
961 * peicode.h: Likewise.
962 * ppcboot.c: Likewise.
964 * sparclinux.c: Likewise.
967 * vms-alpha.c: Likewise.
968 * vms-lib.c: Likewise.
969 * xcofflink.c: Likewise.
971 2016-10-18 Nick Clifton <nickc@redhat.com>
973 * po/da.po: Updated Danish translation.
975 2016-10-18 Maciej W. Rozycki <macro@imgtec.com>
977 * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
980 2016-10-18 Maciej W. Rozycki <macro@imgtec.com>
982 * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
983 variable to `reloc_index'.
985 2016-10-12 Alan Modra <amodra@gmail.com>
987 * section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting.
988 (STD_SECTION): Adjust to suit.
989 * elf.c (_bfd_elf_large_com_section): Likewise.
990 * bfd-in2.h: Regenerate.
992 2016-10-11 Alan Modra <amodra@gmail.com>
994 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
995 defined temporarily with bfd_und_section.
996 * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
997 * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
998 symbols with bfd_und_section.
1000 2016-10-07 Alan Modra <amodra@gmail.com>
1002 * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
1003 obfd param with struct bfd_link_info param. Update all callers.
1004 * linker.c (bfd_merge_private_bfd_data): Likewise.
1005 (_bfd_generic_verify_endian_match): Likewise.
1006 * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
1007 * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
1008 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
1009 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
1010 (_bfd_elf_merge_object_attributes): Likewise.
1011 * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
1012 * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
1013 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
1014 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
1015 (elf32_arm_merge_private_bfd_data): Likewise.
1016 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
1017 * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
1018 * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
1019 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
1020 * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
1021 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
1022 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
1023 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
1024 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
1025 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
1026 * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
1027 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
1028 * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
1029 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
1030 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
1031 (elf32_msp430_merge_private_bfd_data): Likewise.
1032 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
1033 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
1034 * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
1035 * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
1036 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
1037 (ppc_elf_merge_obj_attributes): Likewise.
1038 (ppc_elf_merge_private_bfd_data): Likewise.
1039 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
1040 * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
1041 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
1042 * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
1043 (elf32_score_merge_private_bfd_data): Likewise.
1044 * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
1045 * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
1046 * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
1047 * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
1048 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
1049 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
1050 (elf32_tic6x_merge_private_bfd_data): Likewise.
1051 * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
1052 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
1053 * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
1054 * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
1055 * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
1056 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
1057 * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
1058 * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
1059 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
1060 * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
1061 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
1062 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
1063 (mips_elf_merge_obj_attributes): Likewise.
1064 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
1065 * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
1066 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
1067 * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
1068 * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
1069 * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
1070 * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
1071 * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
1072 * bfd-in2.h: Regenerate.
1073 * libbfd.h: Regenerate.
1075 2016-10-07 Alan Modra <amodra@gmail.com>
1077 * Makefile.am (LIBBFD_H_FILES): Update.
1078 * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
1079 * cpu-sh.c (sh_merge_bfd_arch): Move to..
1080 * elf32-sh.c: ..here, and make static.
1081 * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
1083 * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
1084 _bfd_generic_verify_endian_match.
1085 * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
1086 (bfd_elf32_bfd_merge_private_bfd_data): Define as
1087 _bfd_generic_verify_endian_match.
1088 * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
1090 * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
1091 (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
1092 * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
1093 * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
1094 * libbfd.c (_bfd_generic_verify_endian_match): Move to..
1095 * linker.c: ..here, and make internal.
1096 * bfd.c (bfd_merge_private_bfd_data): Move to..
1098 * Makefile.in: Regenerate.
1099 * doc/Makefile.in: Regenerate.
1100 * bfd-in2.h: Regenerate.
1101 * libbfd.h: Regenerate.
1103 2016-10-06 Alan Modra <amodra@gmail.com>
1105 * coff-h8300.c: Spell fall through comments consistently.
1106 * coffgen.c: Likewise.
1107 * elf32-hppa.c: Likewise.
1108 * elf32-ppc.c: Likewise.
1109 * elf32-score.c: Likewise.
1110 * elf32-score7.c: Likewise.
1111 * elf64-ppc.c: Likewise.
1112 * elfxx-aarch64.c: Likewise.
1113 * elfxx-mips.c: Likewise.
1114 * cpu-ns32k.c: Add missing fall through comments.
1115 * elf-m10300.c: Likewise.
1116 * elf32-arm.c: Likewise.
1117 * elf32-avr.c: Likewise.
1118 * elf32-bfin.c: Likewise.
1119 * elf32-frv.c: Likewise.
1120 * elf32-i386.c: Likewise.
1121 * elf32-microblaze.c: Likewise.
1122 * elf32-nds32.c: Likewise.
1123 * elf32-ppc.c: Likewise.
1124 * elf32-rl78.c: Likewise.
1125 * elf32-rx.c: Likewise.
1126 * elf32-s390.c: Likewise.
1127 * elf32-sh.c: Likewise.
1128 * elf32-tic6x.c: Likewise.
1129 * elf64-ia64-vms.c: Likewise.
1130 * elf64-ppc.c: Likewise.
1131 * elf64-s390.c: Likewise.
1132 * elf64-x86-64.c: Likewise.
1133 * elflink.c: Likewise.
1134 * elfnn-aarch64.c: Likewise.
1135 * elfnn-ia64.c: Likewise.
1137 * oasys.c: Likewise.
1138 * pdp11.c: Likewise.
1140 * versados.c: Likewise.
1142 2016-10-06 Alan Modra <amodra@gmail.com>
1144 * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
1146 * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
1147 * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
1149 2016-10-06 Alan Modra <amodra@gmail.com>
1151 * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
1152 OR in arithmetic expression, not boolean OR.
1154 2016-09-30 Alan Modra <amodra@gmail.com>
1156 * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
1157 as per comment at head of bfd-in2.h.
1158 * Makefile.in: Regenerate.
1160 2016-09-30 Alan Modra <amodra@gmail.com>
1162 * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
1163 _bfd_error_handler (...) throughout.
1164 * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
1165 * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
1166 * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
1167 * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
1168 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
1169 * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
1170 * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
1171 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
1172 * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
1173 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
1174 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
1175 * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
1176 * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
1177 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
1178 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
1179 * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
1180 * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
1181 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
1182 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
1183 * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
1184 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
1185 * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
1186 * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
1187 * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
1188 * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
1189 * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
1190 * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
1191 * xcofflink.c: Likewise.
1193 2016-09-30 Alan Modra <amodra@gmail.com>
1195 * bfd-in.h: Include stdarg.h.
1196 * bfd.c (bfd_error_handler_type): Make like vprintf.
1197 (_bfd_error_internal): Rename from _bfd_error_handler. Make static.
1198 (error_handler_internal): New function, split out from..
1199 (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler.
1200 (bfd_set_error_handler): Update.
1201 (bfd_get_error_handler, bfd_get_assert_handler): Delete.
1202 (_bfd_assert_handler): Make static.
1203 * coffgen.c (null_error_handler): Update params.
1204 * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
1205 Don't use bfd_error_handler_type.
1206 * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
1207 * elfxx-target.h (elf_backend_link_order_error_handler): Default
1208 to _bfd_error_handler.
1209 * libbfd-in.h (_bfd_default_error_handler): Don't declare.
1210 (bfd_assert_handler_type): Likewise.
1211 (_bfd_error_handler): Update.
1212 * bfd-in2.h: Regenerate.
1213 * libbfd.h: Regenerate.
1215 2016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
1218 * elf-bfd.h (struct elf_backend_data): Delete
1219 elf_backend_count_output_relocs callback and add
1220 elf_backend_update_relocs.
1221 * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
1222 (emit_relocs): Deleted.
1223 (elf32_arm_emit_relocs): Deleted.
1224 (elf_backend_emit_relocs): Updated not to use the old functions.
1225 (elf32_arm_update_relocs): New function.
1226 (elf_backend_update_relocs): New define.
1227 * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
1228 relocation count. Call elf_backend_emit_relocs.
1229 (_bfd_elf_size_reloc_section): Do not call
1230 elf_backend_count_output_relocs.
1231 * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
1232 (elf_backend_update_relocs): New define.
1234 2016-09-28 Christophe Lyon <christophe.lyon@linaro.org>
1237 * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
1238 Thumb-ARM stub is too far.
1240 2016-09-27 Nick Clifton <nickc@redhat.com>
1243 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
1244 timestamp field if real time values are not being stored.
1246 2016-09-26 Vlad Zakharov <vzakhar@synopsys.com>
1248 * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
1249 to verify CC_FOR_BUILD compiler.
1250 (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
1251 and add CC_FOR_BUILD compiler checks.
1252 * Makefile.in: Regenerate.
1253 * configure: Likewise.
1254 * doc/Makefile.in: Likewise.
1256 2016-09-26 Awson <kyrab@mail.ru>
1259 * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
1260 for R_AMD64_PCRQUAD relocations.
1262 2016-09-26 Alan Modra <amodra@gmail.com>
1264 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
1265 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
1266 (ppc_elf_merge_obj_attributes): Use it. Don't copy first file
1267 attributes, merge them. Don't warn about undefined tag bits,
1268 or copy unknown values to output.
1269 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
1270 _bfd_elf_ppc_merge_fp_attributes.
1272 2016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
1275 * elf-bfd.h (struct elf_backend_data): Add
1276 elf_backend_count_output_relocs callback to count relocations in
1278 * elf-arm.c (elf32_arm_add_relocation): Deleted.
1279 (elf32_arm_write_section): Move additional relocation to emit_relocs.
1280 (elf32_arm_count_output_relocs): New function.
1281 (emit_relocs): New function.
1282 (elf32_arm_emit_relocs): New function.
1283 (elf32_arm_vxworks_emit_relocs): New function.
1284 (elf_backend_emit_relocs): Updated to use the new functions.
1285 (elf_backend_count_output_relocs): New define.
1286 * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
1287 to the relocation count.
1288 (_bfd_elf_link_size_reloc_section): Use callback to count the
1289 relocations which will be in output.
1290 (_bfd_elf_default_count_output_relocs): New function.
1291 * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
1293 2016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com>
1295 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
1296 negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
1297 bigger than 0x1000 bytes.
1299 2016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
1301 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
1304 2016-09-14 Nick Clifton <nickc@redhat.com>
1307 * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
1308 contains a valid size for the Debug directory.
1310 2016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com>
1312 * format.c (struct bfd_preserve): New "build_id" field.
1313 (bfd_preserve_save): Save "build_id".
1314 (bfd_preserve_restore): Restore "build_id".
1316 2016-09-06 H.J. Lu <hongjiu.lu@intel.com>
1319 * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
1320 relocation with copy relocation when building executable.
1322 2016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1325 * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
1326 delete_shrinks_insn. Modify computation of shrinked_insn_address.
1327 Compute shrink_boundary and adjust addend only if
1328 addend_within_shrink_boundary.
1329 (elf32_avr_relax_section): Modify calls to
1330 elf32_avr_relax_delete_bytes to pass extra parameter.
1332 2016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
1334 * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
1335 array of bytes and use bfd_get_16 to interpret its encoding according
1336 to endianness of target.
1338 2016-09-01 Alan Modra <amodra@gmail.com>
1340 * elf64-ppc.c (synthetic_opd): New static var.
1341 (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
1342 (ppc64_elf_get_synthetic_symtab): Likewise. Comment.
1344 2016-08-31 Alan Modra <amodra@gmail.com>
1346 * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead,
1347 track max group size with a new "group_size" var that is reduced
1348 by a factor of 1024 from the 24-bit branch size whenever a 14-bit
1351 2016-08-31 Alan Modra <amodra@gmail.com>
1353 * elf32-ppc.c (ppc_elf_section_processing): Delete.
1354 (elf_backend_section_processing): Don't define.
1355 (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't
1356 split on non-exec sections differing in SHF_PPC_VLE. When
1357 splitting segments, mark size invalid.
1359 2016-08-30 Alan Modra <amodra@gmail.com>
1362 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
1364 2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
1368 * elf32-i386.c (elf_i386_check_relocs): Issue an error when
1369 R_386_PC32 relocation is used to call IFUNC function in PIC
1372 2016-08-27 Alan Modra <amodra@gmail.com>
1375 * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
1376 have corresponding SHF_GROUP sections.
1377 (bfd_elf_set_group_contents): Comment.
1379 2016-08-27 Alan Modra <amodra@gmail.com>
1382 * elf64-ppc.c (pc_dynrelocs): New function.
1383 (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
1384 handle pic dynamic relocs.
1386 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1388 * bfd-in.h (struct elf32_arm_params): Define.
1389 (bfd_elf32_arm_set_target_relocs): Rename into ...
1390 (bfd_elf32_arm_set_target_params): This. Use a struct
1391 elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
1392 * bfd-in2.h: Regenerate.
1393 * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
1394 (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
1395 elf32_arm_params rather than as individual parameters.
1397 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1399 * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
1400 passed the end of htab->stub_group array.
1401 (elf32_arm_create_or_find_stub_sec): Likewise.
1402 (elf32_arm_create_stub): Likewise.
1404 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1406 * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
1407 to TRUE for GOT and TLS relocs.
1409 2016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
1411 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
1413 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1415 * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
1416 * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
1417 (struct elf_arc_link_hash_table): Likewise.
1418 (elf_arc_link_hash_newfunc): Likewise.
1419 (elf_arc_link_hash_table_free): Likewise.
1420 (arc_elf_link_hash_table_create): Likewise.
1421 (elf_arc_relocate_section): Fixed conditions related to dynamic
1422 (elf_arc_check_relocs): Likewise.
1423 (arc_elf_create_dynamic_sections): Added
1424 (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
1425 through the hash table.
1427 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1429 * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
1430 debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
1433 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1435 * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
1437 * bfd-in2.h: Regenerated from the previous changes.
1438 * libbfd.h: Regenerated from the previous changes.
1440 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1442 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
1443 the input import library bfd.
1444 * bfd-in2.h: Regenerate.
1445 * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
1446 and new_cmse_stub_offset fields.
1447 (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
1449 (elf32_arm_add_stub): Likewise for stub_offset.
1450 (arm_new_stubs_start_offset_ptr): New function.
1451 (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
1452 empty SG veneers to have zero relocations.
1453 (arm_size_one_stub): Only initialize stub size and template
1454 information for non empty veneers. Do not update veneer section size
1455 if veneer already has an offset.
1456 (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
1457 of a boolean indicating success or failure.
1458 (cmse_scan): Change stub_changed parameter into an integer pointer
1459 parameter cmse_stub_created to count the number of stub created and
1460 adapt to change of return value in elf32_arm_create_stub.
1461 (cmse_entry_fct_p): New function.
1462 (arm_list_new_cmse_stub): Likewise.
1463 (set_cmse_veneer_addr_from_implib): Likewise.
1464 (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
1465 cmse_scan instead of that of cmse_stub_changed to compute the number
1466 of stub created and use it to initialize stub_changed. Call
1467 set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
1468 of return value in elf32_arm_create_stub. Use
1469 arm_stub_section_start_offset () if not NULL to initialize size of
1470 secure gateway veneers section. Initialize stub_offset of Cortex-A8
1471 erratum fix to -1. Use ret to hold return value.
1472 (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
1473 NULL to initialize size of secure gateway veneers section. Adapt
1474 comment to stress the importance of zeroing veneer section content.
1475 (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
1476 initialize eponymous field in struct elf32_arm_link_hash_table.
1478 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
1480 * elf32-s390.c (stdarg.h): New include.
1481 (elf_s390_grok_psinfo): New function.
1482 (elf_s390_write_core_note): New function.
1483 (elf_backend_grok_psinfo): Declare backend hook.
1484 (elf_backend_write_core_note): Likewise.
1485 * elf64-s390.c (stdarg.h): New include.
1486 (elf_s390_grok_prstatus): New function.
1487 (elf_s390_grok_psinfo): New function.
1488 (elf_s390_write_core_note): New function.
1489 (elf_backend_grok_prstatus): Declare backend hook.
1490 (elf_backend_grok_psinfo): Likewise.
1491 (elf_backend_write_core_note): Likewise.
1493 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
1495 * elf32-s390.c (allocate_dynrelocs): Fix indentation.
1496 (elf_s390_finish_ifunc_symbol): Likewise.
1497 (elf_s390_finish_dynamic_symbol): Likewise.
1498 (elf_s390_finish_dynamic_sections): Likewise.
1499 (elf_s390_grok_prstatus): Likewise.
1500 * elf64-s390.c (elf_s390_hash_table): Fix indentation.
1501 (elf_s390_finish_dynamic_symbol): Likewise.
1503 2016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
1505 * elf32-arc.c (elf32_arc_grok_prstatus): New function.
1507 2016-08-23 Nick Clifton <nickc@redhat.com>
1509 * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
1510 there is no arm data associated with the section.
1512 2016-08-23 Alan Modra <amodra@gmail.com>
1515 * elf32-or1k.c (or1k_elf_relocate_section): Offset from
1516 _GLOBAL_OFFSET_TABLE_, not start of .got section.
1518 2016-08-22 Nick Clifton <nickc@redhat.com>
1520 * doc/chew.c (main): Free the string buffer used to files as they
1523 2016-08-22 Alan Modra <amodra@gmail.com>
1525 * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
1526 (ppc_elf_relocate_section): ..to here. Comment. Error on
1527 detecting -mbss-plt -fPIC local ifuncs too.
1528 (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
1529 branch table entries.
1531 2016-08-19 Nick Clifton <nickc@redhat.com>
1533 * elf.c (assign_section_numbers): Assign number for the .shstrtab
1534 section after the symbol table and string table sections.
1536 2016-08-19 Alan Modra <amodra@gmail.com>
1538 * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
1539 (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
1540 dyn_relocs for weakdefs.
1541 (alias_readonly_dynrelocs): New function.
1542 (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
1543 (ppc64_elf_relocate_section): Simplify condition under which
1544 dyn_relocs are emitted.
1546 2016-08-19 Alan Modra <amodra@gmail.com>
1549 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
1550 (readonly_dynrelocs): Comment fix.
1551 (global_entry_stub): New function.
1552 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
1553 ELFv2 code deciding on dynamic relocs vs. global entry stubs to
1554 that in size_global_entry_stubs, handling ifunc too. Delete dead
1556 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
1557 dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
1558 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
1559 undefweak syms. Expand and correct comments.
1560 (size_global_entry_stubs): Ensure symbol is defined.
1561 (ppc64_elf_relocate_section): Match condition under which
1562 dyn_relocs are emitted to that in allocate_dynrelocs.
1564 2016-08-12 Alan Modra <amodra@gmail.com>
1566 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
1567 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
1568 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
1570 2016-08-11 Alan Modra <amodra@gmail.com>
1572 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
1573 non_got_ref true in any case where we could have generated dynbss
1574 copies but decide not to do so.
1576 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1578 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
1579 the stub address retrieved if associated with a microMIPS
1582 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1584 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
1585 stub also add STO_MICROMIPS annotation.
1587 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1589 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
1590 in microMIPS LA25 stub references.
1592 2016-08-09 Jiaming Wei <jmwei@hxgpt.com>
1594 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
1595 adjusting the use_count of merged .got entries.
1597 2016-08-08 Nick Clifton <nickc@redhat.com>
1599 * doc/chew.c (delete_string): Only free the string buffer if it is
1600 there. Mark the buffer as NULL after freeing.
1601 (drop): Free the dropped string.
1602 (free_words): New function: Frees the memory allocated to the
1604 (add_instrinsic): Duplicate the name string, so that it can be
1606 (compile): Free unused words.
1607 (main): Free the dictionary and top level string buffers at the
1610 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1612 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
1613 * bfd-in2.h: Regenerate.
1614 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
1616 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
1617 cmse_implib field in struct elf32_arm_link_hash_table.
1618 (elf32_arm_filter_cmse_symbols): New function.
1619 (elf32_arm_filter_implib_symbols): Likewise.
1620 (elf_backend_filter_implib_symbols): Define to
1621 elf32_arm_filter_implib_symbols.
1623 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1625 * elf32-arm.c (CMSE_PREFIX): Define macro.
1626 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
1627 (cmse_branch_thumb_only): Declare stub.
1628 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
1629 (elf32_arm_get_plt_info): Add globals parameter. Use it to return
1630 FALSE if there is no PLT.
1631 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
1632 (elf32_arm_final_link_relocate): Likewise.
1633 (elf32_arm_gc_sweep_hook): Likewise.
1634 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
1635 secure entry functions.
1636 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
1637 (arm_dedicated_stub_output_section_required): Change to a switch case
1638 and add a case for arm_stub_cmse_branch_thumb_only.
1639 (arm_dedicated_stub_output_section_required_alignment): Likewise.
1640 (arm_stub_dedicated_output_section_name): Likewise.
1641 (arm_stub_dedicated_input_section_ptr): Likewise and remove
1642 ATTRIBUTE_UNUSED for htab parameter.
1643 (arm_stub_required_alignment): Likewise.
1644 (arm_stub_sym_claimed): Likewise.
1645 (arm_dedicated_stub_section_padding): Likewise.
1646 (cmse_scan): New function.
1647 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
1648 Set stub_changed to TRUE if such veneers were created.
1649 (elf32_arm_swap_symbol_in): Add detection code for CMSE special
1652 2016-08-02 Alan Modra <amodra@gmail.com>
1655 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
1657 2016-08-02 Nick Clifton <nickc@redhat.com>
1660 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
1661 (elf_backend_sweep_hook): Delete.
1663 2016-08-01 Andrew Jenner <andrew@codesourcery.com>
1664 Kwok Cheung Yeung <kcy@codesourcery.com>
1666 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
1667 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
1668 (ppc_elf_vle_split16): Clear field before inserting.
1670 2016-08-01 Nick Clifton <nickc@redhat.com>
1672 * po/sv.po: Updated Swedish translation.
1674 2016-07-27 Ozkan Sezer <sezeroz@gmail.com>
1675 Nick Clifton <nickc@redhat.com>
1678 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
1679 of the coff_section_data before using it.
1681 2016-07-26 Maciej W. Rozycki <macro@imgtec.com>
1683 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
1684 in PLT compression selection.
1685 (_bfd_mips_elf_check_relocs): Likewise.
1687 2016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
1689 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
1690 case where there's no elf_link_hash_entry while processing
1691 GOT_NORMAL got entries.
1693 2016-07-21 H.J. Lu <hongjiu.lu@intel.com>
1695 * version.m4 (BFD_VERSION): Set to 2.27.51.
1696 * configure: Regenerated.
1698 2016-07-21 Nick Clifton <nickc@redhat.com>
1700 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
1701 (swap_out_syms): Return an error when not finding ELF output
1702 section rather than asserting.
1704 2016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
1706 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
1708 2016-07-20 John Baldwin <jhb@FreeBSD.org>
1710 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
1711 and handle pr_pid if present.
1713 2016-07-20 H.J. Lu <hongjiu.lu@intel.com>
1716 * elf.c (assign_file_positions_for_load_sections): Also check
1717 p_paddr for program header space.
1719 2016-07-20 Alan Modra <amodra@gmail.com>
1721 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
1722 ppc64_elf_unhandled_reloc for special_function.
1723 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
1725 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
1727 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
1729 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
1730 corresponding error message.
1732 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
1734 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
1735 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
1736 (branch_reloc_p): New function.
1737 (mips_elf_calculate_relocation): Handle ISA mode determination
1738 for relocations against section symbols, against absolute
1739 symbols and absolute relocations. Also set `*cross_mode_jump_p'
1741 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
1742 checks for weak undefined symbols. Also check target alignment
1743 within the same ISA mode.
1744 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
1745 in the alignment check.
1746 <R_MICROMIPS_PC7_S1>: Add an alignment check.
1747 <R_MICROMIPS_PC10_S1>: Likewise.
1748 <R_MICROMIPS_PC16_S1>: Likewise.
1749 (mips_elf_perform_relocation): Report a failure for unsupported
1750 same-mode JALX instructions and cross-mode branches.
1751 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
1752 error messages for jumps to misaligned addresses.
1754 2016-07-16 Alan Modra <amodra@gmail.com>
1756 * elflink.c: Include plugin-api.h.
1757 * plugin.c (bfd_plugin_open_input): New function, extracted from..
1758 (try_claim): ..here.
1759 * plugin.h: Don't include bfd.h.
1760 (bfd_plugin_open_input): Declare.
1762 2016-07-16 Alan Modra <amodra@gmail.com>
1764 * targets.c (bfd_seach_for_target): Rename to..
1765 (bfd_iterate_over_targets): ..this. Rewrite doc.
1766 * bfd-in2.h: Regenerate.
1768 2016-07-16 Alan Modra <amodra@gmail.com>
1770 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
1771 * libbfd.h: Regenerate.
1772 * bfd-in2.h: Regenerate.
1774 2016-07-16 Alan Modra <amodra@gmail.com>
1776 * libbfd-in.h (BFD_ALIGN): Move to..
1778 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
1779 * elf32-ppc.c (default_params): Adjust init.
1780 (ppc_elf_link_params): Set pagesize_p2.
1781 * libbfd.h: Regenerate.
1782 * bfd-in2.h: Regenerate.
1784 2016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1786 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
1787 (_bfd_elf_filter_global_symbols): Declare.
1788 * elf.c (_bfd_elf_filter_global_symbols): New function.
1789 * elflink.c (elf_filter_global_symbols): Likewise.
1790 (elf_output_implib): Likewise.
1791 (bfd_elf_final_link): Call above function, failing if it does.
1792 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
1794 (elf_backend_copy_indirect_symbol): Fix spacing.
1795 (elf_backend_hide_symbol): Likewise.
1796 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
1798 2016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
1799 Nick Clifton <nickc@redhat.com>
1801 * elf32-arc.c (PR_DEBUG): Delete.
1802 Fix printing of debug information. Fix formatting of debug
1804 (debug_arc_reloc): Handle symbols that are not from an input file.
1805 (arc_do_relocation): Remove excessive exclamation points.
1807 * arc-got.h: Fix formatting. Fix printing of debug information.
1808 (new_got_entry_to_list): Use xmalloc.
1809 * config.bfd: use the big-endian arc vector as the default vector
1810 for big-endian arc targets.
1812 2016-07-15 Alan Modra <amodra@gmail.com>
1814 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
1815 from marking sym_indices.
1817 2016-07-14 Maciej W. Rozycki <macro@imgtec.com>
1819 * reloc.c (bfd_perform_relocation): Try the `howto' handler
1820 first with relocations against absolute symbols.
1821 (bfd_install_relocation): Likewise.
1823 2016-07-12 H.J. Lu <hongjiu.lu@intel.com>
1825 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1826 .got/.got.plt sections to 8 bytes.
1828 2016-07-12 Nick Clifton <nickc@redhat.com>
1830 * binary.c (binary_set_section_contents): Second grammar fix.
1832 2016-07-12 Douglas B Rupp <rupp@adacore.com>
1834 * binary.c (binary_set_section_contents): Fix grammar in warning
1837 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
1839 * elf32-arc.c: made PR_DEBUG always defined.
1841 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
1843 * arc-got.h: Moved got related structures from elf32-arc.c to
1844 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
1845 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
1846 tls_type_for_reloc, symbol_has_entry_of_type,
1847 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
1848 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
1849 relocate_fix_got_relocs_for_got_info,
1850 create_got_dynrelocs_for_single_entry,
1851 create_got_dynrelocs_for_got_info): Added to file.
1852 * elf32-arc.c: Removed GOT & TLS related structs and functions to
1855 2016-07-08 James Bowman <james.bowman@ftdichip.com>
1857 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
1859 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
1861 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
1862 (THUMB32_MOVW): Likewise.
1863 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
1864 (DEF_STUBS): Define long_branch_thumb2_only_pure.
1865 (arm_stub_is_thumb): Add new veneer stub.
1866 (arm_type_of_stub): Use new veneer.
1867 (arm_stub_required_alignment): Add new veneer.
1869 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
1871 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
1872 (SEC_ELF_PURECODE): ... this.
1873 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
1875 (elf32_arm_fake_sections): Likewise.
1876 (elf_32_arm_section_flags): Likewise.
1877 (elf_32_arm_lookup_section_flags): Likewise.
1878 * section.c (SEC_ELF_NOREAD): Rename to ...
1879 (SEC_ELF_PURECODE): ... this.
1881 2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
1883 * elf32-arm.c (using_thumb2_bl): New function.
1884 (arm_type_of_stub): Declare thumb2 variable together and change type
1885 to bfd_boolean. Use using_thumb2_bl () to determine whether
1886 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
1887 checked for BL range.
1888 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
1889 the bit size of BL offset.
1891 2016-06-29 Nick Clifton <nickc@redhat.com>
1893 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
1894 Returns TRUE for AArch64 mapping symbols.
1895 (elfNN_aarch64_backend_symbol_processing): New function. Marks
1896 mapping symbols as precious in object files so that they will not
1898 (elf_backend_symbol_processing): Define.
1900 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
1901 for ARM mapping symbols.
1902 (elf32_arm_backend_symbol_processing): Make use of the new function.
1904 2016-06-28 H.J. Lu <hongjiu.lu@intel.com>
1907 * elflink.c (elf_link_check_versioned_symbol): Return false
1908 for unreferenced undefined symbol.
1910 2016-06-28 Nick Clifton <nickc@redhat.com>
1912 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
1915 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
1916 function. Marks mapping symbols in object files as precious, so
1917 that strip will not remove them.
1918 (elf_backend_symbol_processing): Define.
1920 2016-06-28 James Clarke <jrtc27@jrtc27.com>
1922 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
1923 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
1925 2016-06-28 Maciej W. Rozycki <macro@imgtec.com>
1927 * elf32-mips.c (elf_mips16_howto_table_rel): Add
1929 (mips16_reloc_map): Likewise.
1930 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
1931 (mips16_elf64_howto_table_rela): Likewise.
1932 (mips16_reloc_map): Likewise.
1933 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
1934 (elf_mips16_howto_table_rela): Likewise.
1935 (mips16_reloc_map): Likewise.
1936 * elfxx-mips.c (mips16_branch_reloc_p): New function.
1937 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
1938 (b_reloc_p): Likewise.
1939 (mips_elf_calculate_relocation): Likewise.
1940 (_bfd_mips_elf_check_relocs): Likewise.
1941 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
1942 * bfd-in2.h: Regenerate.
1943 * libbfd.h: Regenerate.
1945 2016-06-27 Alan Modra <amodra@gmail.com>
1948 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
1949 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
1951 (ppc64_elf_size_stubs): Adjust to suit.
1953 2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1955 * elf32-dlx.h: New file.
1956 * elf32-dlx.c: Adjust.
1958 2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1960 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
1962 2016-06-24 John Baldwin <jhb@FreeBSD.org>
1964 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
1967 2016-06-24 John Baldwin <jhb@FreeBSD.org>
1969 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
1970 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
1971 (elfcore_grok_freebsd_psinfo): New function.
1972 (elfcore_grok_freebsd_prstatus): New function.
1973 (elfcore_grok_freebsd_note): New function.
1974 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
1977 2016-06-24 Joel Brobecker <brobecker@adacore.com>
1979 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
1982 2016-06-24 Alan Modra <amodra@gmail.com>
1984 * config.bfd: Delete mips vxworks patterns matched earlier.
1985 Combine mips*-*-none with mips*-*-elf*.
1987 2016-06-21 Maciej W. Rozycki <macro@imgtec.com>
1989 * elfxx-mips.c (mips_elf_perform_relocation): Call
1990 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
1991 use the `%X%H' format for the cross-mode jump conversion error
1992 message. Remove the full stop from the end of the message.
1993 Continue processing rather than returning failure.
1995 2016-06-21 Graham Markall <graham.markall@embecosm.com>
1997 * archures.c: Remove bfd_mach_arc_nps400.
1998 * bfd-in2.h: Likewise.
1999 * cpu-arc.c (arch_info_struct): Likewise.
2000 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
2003 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
2007 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
2009 (elf_link_is_defined_archive_symbol): Call
2010 bfd_link_plugin_object_p on unknown plugin object and use the
2011 IR symbol table if the input is an IR object.
2012 * plugin.c (bfd_link_plugin_object_p): New function.
2013 * plugin.h (bfd_link_plugin_object_p): New prototype.
2015 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
2018 * elflink.c (elf_link_add_object_symbols): Don't check alignment
2019 on symbol from plugin dummy input.
2021 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
2023 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
2025 * bfd-in2.h: Regenerated.
2026 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
2027 with bfd_plugin_unknown.
2029 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
2032 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
2033 bfd_boolean argument.
2034 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
2035 "shared object" with "PIC object" in comments.
2036 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
2037 "shared object" with "PIC object" in comments. Avoid PLT if
2038 requested. Generate dynamic relocations for non-GOT references.
2039 Make room for the special first entry in PLT and allocate PLT
2040 entry only for PLT and PC-relative references. Store dynamic
2041 GOT relocations in .rel[a].iplt section for static executables.
2042 If PLT isn't used, always use GOT for symbol value. Don't
2043 allocate GOT entry if it isn't used.
2044 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
2045 count only in the code section. Allocate dynamic pointer
2046 relocation against STT_GNU_IFUNC symbol in the non-code section.
2047 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
2048 only for PC-relative references.
2049 (elf_i386_allocate_dynrelocs): Pass TRUE to
2050 _bfd_elf_allocate_ifunc_dyn_relocs.
2051 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
2052 relocations against STT_GNU_IFUNC symbols without PLT. Generate
2053 dynamic pointer relocation against STT_GNU_IFUNC symbol in
2054 the non-code section and store it in the proper REL section.
2055 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
2057 (elf_i386_finish_dynamic_symbol): Generate dynamic
2058 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
2059 STT_GNU_IFUNC symbols without PLT.
2060 (elf_i386_finish_dynamic_sections): Don't handle local
2061 STT_GNU_IFUNC symbols here.
2062 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
2064 (elf_backend_output_arch_local_syms): New.
2065 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
2066 count only in the code section. Allocate dynamic pointer
2067 relocation against STT_GNU_IFUNC symbol in the non-code section.
2068 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
2069 count only for PC-relative references.
2070 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
2071 _bfd_elf_allocate_ifunc_dyn_relocs.
2072 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
2073 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
2074 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
2075 without PLT. Generate dynamic pointer relocation against
2076 STT_GNU_IFUNC symbol in the non-code section and store it in
2077 the proper RELA section. Don't allow non-pointer relocation
2078 against STT_GNU_IFUNC symbol without PLT.
2079 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
2080 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
2081 STT_GNU_IFUNC symbols without PLT.
2082 (elf_x86_64_finish_dynamic_sections): Don't handle local
2083 STT_GNU_IFUNC symbols here.
2084 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
2086 (elf_backend_output_arch_local_syms): New.
2087 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
2088 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
2090 2016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
2091 Tony Wang <tony.wang@arm.com>
2093 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
2095 (stub_long_branch_thumb2_only): Define stub.
2096 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
2097 (arm_stub_long_branch_thumb2_only): Likewise.
2098 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
2101 2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
2103 * archures.c (bfd_mach_sparc_v8plusc): Define.
2104 (bfd_mach_sparc_v9c): Likewise.
2105 (bfd_mach_sparc_v8plusd): Likewise.
2106 (bfd_mach_sparc_v9d): Likewise.
2107 (bfd_mach_sparc_v8pluse): Likewise.
2108 (bfd_mach_sparc_v9e): Likewise.
2109 (bfd_mach_sparc_v8plusv): Likewise
2110 (bfd_mach_sparc_v9v): Likewise.
2111 (bfd_mach_sparc_v8plusm): Likewise.
2112 (bfd_mach_sparc_v9m): Likewise.
2113 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
2114 (bfd_mach_sparc_64bit_p): Likewise.
2115 * bfd-in2.h: Regenerate.
2116 * cpu-sparc.c (arch_info_struct): Add entries for
2117 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
2118 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
2119 and bfd_mach_sparc_v9{c,d,e,v,m}.
2120 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
2121 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
2123 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
2125 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
2126 symbols for relocations against IFUNC symbols.
2127 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2129 2016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
2131 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
2132 .rela.iplt in DT_PLTRELSZ.
2133 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
2134 for DT_PLTRELSZ and DT_RELASZ as well.
2136 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
2138 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
2139 non-loaded, non-alloced sections.
2140 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2142 2016-06-15 H.J. Lu <hongjiu.lu@intel.com>
2144 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
2145 allocating dynamic relocation.
2146 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2148 2016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2151 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
2152 offsets until reloc_toaddr.
2154 2016-06-14 H.J. Lu <hongjiu.lu@intel.com>
2156 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
2157 Don't check symbol type for STN_UNDEF symbol index.
2158 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
2159 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
2162 2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
2164 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
2166 (using_thumb2): Try Tag_THUMB_ISA_use first and check
2167 for exact arch value then. Force review of arch check logic for new
2169 (arch_has_arm_nop): Update and fix arch check logic. Force review of
2170 that logic for new architecture.
2171 (arch_has_thumb2_nop): Remove.
2172 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
2173 (elf32_arm_final_link_relocate): Likewise but using thumb2.
2175 2016-06-14 Alan Modra <amodra@gmail.com>
2177 * bfd-in.h (bfd_my_archive): Delete.
2178 * bfd-in2.h: Regenerate.
2180 2016-06-14 Alan Modra <amodra@gmail.com>
2183 * archive.c (open_nested_file): Set my_archive.
2184 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
2186 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
2187 (bfd_seek): Likewise.
2188 * bfdwin.c (bfd_get_file_window): Likewise.
2189 * cache.c (cache_bmmap): Likewise.
2190 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
2191 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
2193 * plugin.c (try_claim): Likewise.
2194 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
2195 file within thin archive, not the archive.
2197 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
2200 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
2201 section address for R_386_GOT32/R_386_GOT32X relocations against
2202 IFUNC symbols if there is no base register and return error for
2205 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
2207 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
2208 GOT32 adjustment for static executables.
2210 2016-06-13 Maciej W. Rozycki <macro@imgtec.com>
2212 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
2214 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2216 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
2218 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2220 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
2222 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2224 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
2225 (SECTSTART): Changed.
2226 (elf_arc_relocate_section): Fixed mistake in PIE related
2228 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
2230 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2232 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
2233 enable support for "-z combreloc" and DT_RELACOUNT.
2234 (elf_backend_reloc_type_class): Likewise
2236 2016-06-11 H.J. Lu <hongjiu.lu@intel.com>
2239 * elf32-i386.c (elf_i386_relocate_section): When relocating
2240 R_386_GOT32, return error without a base register for PIC and
2241 subtract the .got.plt section address only with a base register.
2243 2016-06-10 Alan Modra <amodra@gmail.com>
2245 * elf-strtab.c (struct strtab_save): Use size_t for "size".
2246 (struct elf_strtab_hash): Likewise for "size" and "alloced".
2247 (_bfd_elf_strtab_init): Formatting.
2248 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
2249 (_bfd_elf_strtab_addref): Take size_t idx param.
2250 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
2251 (_bfd_elf_strtab_offset): Likewise.
2252 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
2253 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
2254 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
2255 (_bfd_elf_strtab_finalize): Similarly.
2256 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
2257 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
2258 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
2259 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
2260 using bfd_size_type.
2261 (bfd_section_from_shdr): Delete amt.
2262 (_bfd_elf_init_reloc_shdr): Likewise.
2263 (_bfd_elf_link_assign_sym_version): Likewise.
2264 (assign_section_numbers): Use size_t reloc_count.
2265 * elflink.c (struct elf_symbuf_head): Use size_t "count".
2266 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
2267 (elf_link_is_defined_archive_symbol): Likewise.
2268 (elf_add_dt_needed_tag): Likewise.
2269 (elf_finalize_dynstr): Likewise.
2270 (elf_link_add_object_symbols): Likewise.
2271 (bfd_elf_size_dynamic_sections): Likewise.
2272 (elf_create_symbuf): Similarly.
2273 (bfd_elf_match_symbols_in_sections): Likewise.
2274 (elf_link_swap_symbols_out): Likewise.
2275 (elf_link_check_versioned_symbol): Likewise.
2276 (bfd_elf_gc_record_vtinherit): Likewise.
2277 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
2279 2016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2282 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
2283 and relocs only if shrinking occurred.
2285 2016-06-08 H.J. Lu <hongjiu.lu@intel.com>
2287 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
2288 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
2289 (elf_i386_check_tls_transition): Check indirect call and direct
2290 call with the addr32 prefix for general and local dynamic models.
2291 Set the tls_get_addr feild.
2292 (elf_i386_convert_load_reloc): Always use addr32 prefix for
2293 indirect ___tls_get_addr call via GOT.
2294 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
2295 transitions with indirect call and direct call with the addr32
2298 2016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
2300 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
2301 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
2302 (elf_s390_relocate_section): Fix comment.
2303 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
2306 2016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
2308 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
2309 section offset when calculation the larl operand in the first PLT
2312 2016-06-07 Alan Modra <amodra@gmail.com>
2314 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
2315 to match other 32-bit archs.
2316 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
2317 (ppc_elf_object_p): Call it.
2318 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
2320 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
2321 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
2322 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
2323 _bfd_elf_ppc_at_tprel_transform): Move to..
2324 * elf-bfd.h: ..here.
2325 (_bfd_elf_ppc_set_arch): Declare.
2326 * bfd-in2.h: Regenerate.
2328 2016-06-06 H.J. Lu <hongjiu.lu@intel.com>
2330 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
2331 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
2332 (elf_x86_64_check_tls_transition): Check indirect call and
2333 direct call with the addr32 prefix for general and local dynamic
2334 models. Set the tls_get_addr feild.
2335 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
2336 indirect __tls_get_addr call via GOT.
2337 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
2338 transitions with indirect call and direct call with the addr32
2341 2016-06-04 Christian Groessler <chris@groessler.org>
2343 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
2345 2016-06-02 Nick Clifton <nickc@redhat.com>
2348 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
2350 (arch_info_struct): Likewise.
2351 (architectures): Likewise.
2353 2016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
2355 * config.bfd: Replace -uclibc with *.
2357 2016-06-02 H.J. Lu <hongjiu.lu@intel.com>
2359 * elf64-x86-64.c: Replace data32 with data16 in comments.
2361 2016-05-31 Alan Modra <amodra@gmail.com>
2365 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
2366 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
2367 symbol given a version by a script different to the version
2368 of the symbol being added.
2369 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
2370 _bfd_elf_strtab_restore. Don't fudge dynstr references.
2371 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
2372 (struct strtab_save): New.
2373 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
2374 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
2375 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
2377 2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2379 * elf32-hppa.h: Add extern "C".
2380 * elf32-nds32.h: Likewise.
2381 * elf32-tic6x.h: Likewise.
2383 2016-06-01 Nick Clifton <nickc@redhat.com>
2385 * po/sr.po: New Serbian translation.
2386 * configure.ac (ALL_LINGUAS): Add sr.
2387 * configure: Regenerate.
2389 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
2391 * elfxx-mips.c (b_reloc_p): New function.
2392 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
2395 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
2397 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
2398 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
2399 reloc location from calculation, treat the addend as signed with
2400 local non-section symbols and enable overflow detection.
2402 2016-05-28 Alan Modra <amodra@gmail.com>
2404 * aoutx.h: Adjust linker callback calls throughout file,
2407 * coff-alpha.c: Likewise.
2408 * coff-arm.c: Likewise.
2409 * coff-h8300.c: Likewise.
2410 * coff-h8500.c: Likewise.
2411 * coff-i960.c: Likewise.
2412 * coff-mcore.c: Likewise.
2413 * coff-mips.c: Likewise.
2414 * coff-ppc.c: Likewise.
2415 * coff-rs6000.c: Likewise.
2416 * coff-sh.c: Likewise.
2417 * coff-tic80.c: Likewise.
2418 * coff-w65.c: Likewise.
2419 * coff-z80.c: Likewise.
2420 * coff-z8k.c: Likewise.
2421 * coff64-rs6000.c: Likewise.
2422 * cofflink.c: Likewise.
2423 * ecoff.c: Likewise.
2424 * elf-bfd.h: Likewise.
2425 * elf-m10200.c: Likewise.
2426 * elf-m10300.c: Likewise.
2427 * elf32-arc.c: Likewise.
2428 * elf32-arm.c: Likewise.
2429 * elf32-avr.c: Likewise.
2430 * elf32-bfin.c: Likewise.
2431 * elf32-cr16.c: Likewise.
2432 * elf32-cr16c.c: Likewise.
2433 * elf32-cris.c: Likewise.
2434 * elf32-crx.c: Likewise.
2435 * elf32-d10v.c: Likewise.
2436 * elf32-epiphany.c: Likewise.
2437 * elf32-fr30.c: Likewise.
2438 * elf32-frv.c: Likewise.
2439 * elf32-ft32.c: Likewise.
2440 * elf32-h8300.c: Likewise.
2441 * elf32-hppa.c: Likewise.
2442 * elf32-i370.c: Likewise.
2443 * elf32-i386.c: Likewise.
2444 * elf32-i860.c: Likewise.
2445 * elf32-ip2k.c: Likewise.
2446 * elf32-iq2000.c: Likewise.
2447 * elf32-lm32.c: Likewise.
2448 * elf32-m32c.c: Likewise.
2449 * elf32-m32r.c: Likewise.
2450 * elf32-m68hc1x.c: Likewise.
2451 * elf32-m68k.c: Likewise.
2452 * elf32-mep.c: Likewise.
2453 * elf32-metag.c: Likewise.
2454 * elf32-microblaze.c: Likewise.
2455 * elf32-moxie.c: Likewise.
2456 * elf32-msp430.c: Likewise.
2457 * elf32-mt.c: Likewise.
2458 * elf32-nds32.c: Likewise.
2459 * elf32-nios2.c: Likewise.
2460 * elf32-or1k.c: Likewise.
2461 * elf32-ppc.c: Likewise.
2462 * elf32-s390.c: Likewise.
2463 * elf32-score.c: Likewise.
2464 * elf32-score7.c: Likewise.
2465 * elf32-sh.c: Likewise.
2466 * elf32-sh64.c: Likewise.
2467 * elf32-spu.c: Likewise.
2468 * elf32-tic6x.c: Likewise.
2469 * elf32-tilepro.c: Likewise.
2470 * elf32-v850.c: Likewise.
2471 * elf32-vax.c: Likewise.
2472 * elf32-visium.c: Likewise.
2473 * elf32-xstormy16.c: Likewise.
2474 * elf32-xtensa.c: Likewise.
2475 * elf64-alpha.c: Likewise.
2476 * elf64-hppa.c: Likewise.
2477 * elf64-ia64-vms.c: Likewise.
2478 * elf64-mmix.c: Likewise.
2479 * elf64-ppc.c: Likewise.
2480 * elf64-s390.c: Likewise.
2481 * elf64-sh64.c: Likewise.
2482 * elf64-x86-64.c: Likewise.
2483 * elflink.c: Likewise.
2484 * elfnn-aarch64.c: Likewise.
2485 * elfnn-ia64.c: Likewise.
2486 * elfxx-mips.c: Likewise.
2487 * elfxx-sparc.c: Likewise.
2488 * elfxx-tilegx.c: Likewise.
2489 * linker.c: Likewise.
2490 * pdp11.c: Likewise.
2491 * pe-mips.c: Likewise.
2492 * reloc.c: Likewise.
2493 * reloc16.c: Likewise.
2494 * simple.c: Likewise.
2495 * vms-alpha.c: Likewise.
2496 * xcofflink.c: Likewise.
2497 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
2498 status param. Adjust calls to these and linker callbacks throughout.
2499 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
2500 get_ramstart): Delete status param. Adjust calls to these and
2501 linker callbacks throughout.
2503 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
2505 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
2506 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
2507 target alignment verification.
2509 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
2511 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
2512 section name if `bfd_elf_string_from_elf_section' returns an
2515 2016-05-26 Maciej W. Rozycki <macro@imgtec.com>
2517 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2518 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
2519 for message. Continue processing rather than returning failure.
2521 2016-05-25 Maciej W. Rozycki <macro@imgtec.com>
2523 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2524 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
2525 Call `bfd_set_error'.
2527 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
2530 * archive.c (bfd_slurp_armap): Replace
2531 bfd_elf64_archive_slurp_armap with
2532 _bfd_archive_64_bit_slurp_armap.
2533 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
2534 BFD64 is defined and the archive is too big.
2535 (coff_write_armap): Likewise.
2536 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
2537 (_bfd_archive_64_bit_slurp_armap): This.
2538 (bfd_elf64_archive_write_armap): Renamed to ...
2539 (_bfd_archive_64_bit_write_armap): This.
2540 * configure.ac: Add --enable-64-bit-archive.
2541 (want_64_bit_archive): New. Set to true by default for 64-bit
2542 MIPS and s390 ELF targets.
2543 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
2544 * config.in: Regenerated.
2545 * configure: Likewise.
2546 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
2547 (bfd_elf64_archive_slurp_armap): Likewise.
2548 (bfd_elf64_archive_write_armap): Likewise.
2549 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
2550 (bfd_elf64_archive_construct_extended_name_table): Likewise.
2551 (bfd_elf64_archive_truncate_arname): Likewise.
2552 (bfd_elf64_archive_read_ar_hdr): Likewise.
2553 (bfd_elf64_archive_write_ar_hdr): Likewise.
2554 (bfd_elf64_archive_openr_next_archived_file): Likewise.
2555 (bfd_elf64_archive_get_elt_at_index): Likewise.
2556 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2557 (bfd_elf64_archive_update_armap_timestamp): Likewise.
2558 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
2559 (bfd_elf64_archive_slurp_armap): Likewise.
2560 (bfd_elf64_archive_write_armap): Likewise.
2561 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
2562 (bfd_elf64_archive_construct_extended_name_table): Likewise.
2563 (bfd_elf64_archive_truncate_arname): Likewise.
2564 (bfd_elf64_archive_read_ar_hdr): Likewise.
2565 (bfd_elf64_archive_write_ar_hdr): Likewise.
2566 (bfd_elf64_archive_openr_next_archived_file): Likewise.
2567 (bfd_elf64_archive_get_elt_at_index): Likewise.
2568 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2569 (bfd_elf64_archive_update_armap_timestamp): Likewise.
2570 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
2571 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
2572 bfd_elfNN_archive_functions isn't defined.
2573 (TARGET_LITTLE_SYM): Likewise.
2574 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
2575 (_bfd_archive_64_bit_write_armap): Likewise.
2576 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
2577 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
2578 (_bfd_archive_64_bit_truncate_arname): Likewise.
2579 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
2580 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
2581 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
2582 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
2583 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
2584 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
2585 * libbfd.h: Regenerated.
2586 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
2587 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
2589 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
2592 * cofflink.c (coff_link_check_archive_element): Return TRUE if
2593 linker add_archive_element callback returns FALSE.
2594 * ecoff.c (ecoff_link_check_archive_element): Likewise.
2595 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
2596 archive element if linker add_archive_element callback returns
2598 * elflink.c (elf_link_add_archive_symbols): Likewise.
2599 * pdp11.c (aout_link_check_ar_symbols): Likewise.
2600 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
2601 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
2602 (xcoff_link_check_ar_symbols): Likewise.
2604 2016-05-24 Maciej W. Rozycki <macro@imgtec.com>
2606 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2607 <bfd_reloc_outofrange>: Unify error reporting code.
2609 2016-05-23 Jim Wilson <jim.wilson@linaro.org>
2611 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
2612 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
2613 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
2614 * bfd-in2.h: Regenerate.
2615 * libbfd.h: Likewise.
2617 2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
2619 * config.bfd: Add entry for arm-phoenix.
2621 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2623 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
2624 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
2625 account for padding for stub section requiring one.
2626 (elf32_arm_build_stubs): Add comment to stress the importance of
2627 zeroing veneer section content.
2629 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2631 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
2633 * bfd-in2.h: Regenerate.
2634 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
2636 (arm_dedicated_stub_output_section_required_alignment): Likewise.
2637 (arm_dedicated_stub_output_section_name): Likewise.
2638 (arm_dedicated_stub_input_section_ptr): Likewise.
2639 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
2640 function description comment. Add support for dedicated output stub
2641 section to given stub types.
2642 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
2643 elf32_arm_create_or_find_stub_sec.
2644 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
2645 (elf32_arm_size_stubs): Pass stub type when calling
2646 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
2647 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
2649 2016-05-20 H.J. Lu <hongjiu.lu@intel.com>
2651 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
2652 when setting need_convert_load.
2654 2016-05-20 Maciej W. Rozycki <macro@imgtec.com>
2656 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
2659 2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
2662 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
2664 (elf_i386_convert_load): Don't convert R_386_GOT32.
2666 2016-05-20 Alan Modra <amodra@gmail.com>
2669 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
2670 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
2672 2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
2674 * elf32-arc.c (arc_elf_final_write_processing): Changed.
2675 (debug_arc_reloc): Likewise.
2676 (elf_arc_relocate_section): Likewise.
2677 (elf_arc_check_relocs): Likewise.
2678 (elf_arc_adjust_dynamic_symbol): Likewise.
2679 (elf_arc_add_symbol_hook): Likewise.
2681 2016-05-19 Maciej W. Rozycki <macro@imgtec.com>
2683 * config.bfd: Remove `am34-*-linux*' support.
2685 2016-05-19 Alan Modra <amodra@gmail.com>
2687 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
2688 relocs before plt relocs.
2690 2016-05-19 Alan Modra <amodra@gmail.com>
2692 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
2693 before dereferencing.
2695 2016-05-18 Nick Clifton <nickc@redhat.com>
2697 * po/sv.po: Updated Swedish translation.
2699 2016-05-18 Alan Modra <amodra@gmail.com>
2701 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
2702 for each BFD. Don't goto error_ret_free_local from outside loop.
2704 2016-05-17 Maciej W. Rozycki <macro@imgtec.com>
2706 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
2707 STB_GNU_UNIQUE handling.
2708 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
2709 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
2710 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
2711 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2712 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2713 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2714 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2715 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2716 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
2717 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
2718 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
2719 (elf_backend_add_symbol_hook): Remove macro.
2720 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
2721 for STB_GNU_UNIQUE symbols.
2723 2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
2725 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
2727 (v850_elf_copy_private_bfd_data): ... here. Call the new
2728 function and `_bfd_elf_copy_private_bfd_data'.
2730 2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
2733 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
2734 GOTPCREL relocation against large section.
2736 2016-05-13 Alan Modra <amodra@gmail.com>
2738 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
2739 linker dynamic sections in calculating size and address of
2740 dynamic tags rather than using output sections. Remove asserts.
2741 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
2742 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
2743 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
2744 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2745 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
2746 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
2747 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
2748 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
2749 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
2750 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
2751 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
2752 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
2753 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2754 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
2755 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
2756 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
2757 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
2758 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
2759 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2760 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2761 * elflink.c (bfd_elf_final_link): Likewise.
2762 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
2763 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
2764 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
2765 don't set doit. Look up dynobj section.
2766 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
2767 invocation and dynamic tag vma calculation. Don't test
2768 boolean var == TRUE.
2769 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
2772 2016-05-13 Alan Modra <amodra@gmail.com>
2774 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
2775 octets_per_byte. Put dynamic .rela.plt last in link orders.
2776 Assign output_offset for reloc sections rather than writing
2777 sorted relocs from block corresponding to output_offset.
2779 2016-05-12 Alan Modra <amodra@gmail.com>
2781 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
2783 2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
2785 * elfxx-mips.c (print_mips_ases): Add DSPR3.
2787 2016-05-11 Alan Modra <amodra@gmail.com>
2789 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
2790 (elf32_hppa_check_relocs): Don't set dynobj.
2791 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
2792 (elf32_hppa_build_stubs): Likewise.
2793 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
2795 2016-05-11 Alan Modra <amodra@gmail.com>
2798 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
2799 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
2801 2016-05-10 Jiong Wang <jiong.wang@arm.com>
2803 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
2804 aarch64_tls_transition check.
2806 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2808 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
2810 (arm_stub_sym_claimed): New function.
2811 (elf32_arm_create_stub): Use veneered symbol name and section if
2812 veneer needs to claim its symbol, and keep logic unchanged otherwise.
2813 (arm_stub_claim_sym): New function.
2814 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
2815 veneered symbol, otherwise create local symbol as before.
2817 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2819 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
2820 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
2821 and set branch type of a symbol.
2822 (bfd_elf32_arm_process_before_allocation): Likewise.
2823 (elf32_arm_relocate_section): Likewise and fix identation along the
2825 (allocate_dynrelocs_for_symbol): Likewise.
2826 (elf32_arm_finish_dynamic_symbol): Likewise.
2827 (elf32_arm_swap_symbol_in): Likewise.
2828 (elf32_arm_swap_symbol_out): Likewise.
2830 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2832 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
2833 * bfd-in2.h: Regenerated.
2834 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
2835 parameter to add_stub_section callback.
2836 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
2837 and pass it down to add_stub_section.
2838 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
2840 (elf32_arm_size_stubs): Add output section parameter to
2841 add_stub_section function pointer parameter.
2843 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2845 * elf32-arm.c (elf32_arm_create_stub): New function.
2846 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
2848 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2850 * elf32-arm.c (enum elf32_arm_stub_type): Delete
2851 arm_stub_a8_veneer_lwm enumerator.
2852 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
2853 aforementioned enumerator.
2854 (struct elf32_arm_stub_hash_entry): Delete target_addend
2855 field and add source_value.
2856 (struct a8_erratum_fix): Delete addend field and add target_offset.
2857 (stub_hash_newfunc): Initialize source_value field amd remove
2858 initialization for target_addend.
2859 (arm_build_one_stub): Stop special casing Thumb relocations: promote
2860 the else to being always executed, moving the
2861 arm_stub_a8_veneer_b_cond specific code in it. Remove
2862 stub_entry->target_addend from points_to computation.
2863 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
2864 to target symbol from start of section rather than the offset from the
2866 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
2867 fields from struct a8_erratum_fix's offset and target_offset
2869 (make_branch_to_a8_stub): Rename target variable to loc. Compute
2870 veneered_insn_loc and loc using stub_entry's source_value.
2872 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2874 (elf32_arm_merge_eabi_attributes): Add merging logic for
2877 2016-05-10 Pip Cet <pipcet@gmail.com>
2880 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
2881 Define as _bfd_generic_copy_link_hash_symbol_type when using
2884 2016-05-09 Nick Clifton <nickc@redhat.com>
2887 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
2888 field before accessing sections array.
2890 2016-05-09 Christophe Monat <christophe.monat@st.com>
2893 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
2894 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
2896 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
2898 (create_instruction_vldmdb): Likewise.
2899 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
2900 uses it to re-encode.
2902 2016-05-09 Nick Clifton <nickc@redhat.com>
2905 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
2908 2016-05-09 Alan Modra <amodra@gmail.com>
2910 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
2912 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
2915 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
2916 documenting that indx == -3 if symbol is defined in a discarded
2918 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
2919 symbol is defined in a discarded section.
2920 (elf_link_output_extsym): Strip a global symbol defined in a
2923 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
2925 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
2928 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
2930 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
2932 (elf_i386_convert_load_reloc): This. New function.
2933 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
2935 (elf_x86_64_convert_load_reloc): This. New function.
2937 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
2939 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
2940 Don't check if contents == NULL.
2941 (elf_i386_tls_transition): Add from_relocate_section. Check
2942 from_relocate_section instead of contents != NULL. Update
2943 elf_i386_check_tls_transition call.
2944 (elf_i386_check_relocs): Cache the section contents if
2945 keep_memory is FALSE. Pass FALSE as from_relocate_section to
2946 elf_i386_tls_transition.
2947 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
2948 to elf_i386_tls_transition.
2949 (elf_backend_caches_rawsize): New.
2950 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
2951 if contents == NULL.
2952 (elf_x86_64_tls_transition): Add from_relocate_section. Check
2953 from_relocate_section instead of contents != NULL.
2954 (elf_x86_64_check_relocs): Cache the section contents if
2955 keep_memory is FALSE. Pass FALSE as from_relocate_section to
2956 elf_x86_64_tls_transition.
2957 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
2958 to elf_x86_64_tls_transition.
2959 (elf_backend_caches_rawsize): New.
2961 2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
2964 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
2967 2016-05-03 Jiong Wang <jiong.wang@arm.com>
2969 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
2970 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
2971 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
2972 no_apply_dynamic_relocs.
2973 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
2974 dynamic relocations generated.
2976 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2978 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
2980 (elf_i386_create_dynamic_sections): Here.
2981 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
2982 interp setting to ...
2983 (elf_x86_64_create_dynamic_sections): Here.
2985 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2987 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
2988 and replace (EH)->has_got_reloc with GOT_RELOC.
2989 (elf_i386_fixup_symbol): Pass has_got_reloc to
2990 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2991 (elf_i386_allocate_dynrelocs): Likewise.
2992 (elf_i386_relocate_section): Likewise.
2993 (elf_i386_finish_dynamic_symbol): Likewise.
2994 (elf_i386_convert_load): Pass TRUE to
2995 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2996 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
2997 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
2998 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
2999 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
3000 (elf_x86_64_allocate_dynrelocs): Likewise.
3001 (elf_x86_64_relocate_section): Likewise.
3002 (elf_x86_64_finish_dynamic_symbol): Likewise.
3003 (elf_x86_64_convert_load): Pass TRUE to
3004 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
3006 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
3008 * elf32-i386.c (check_relocs_failed): New.
3009 (elf_i386_check_relocs): Set check_relocs_failed on error.
3010 (elf_i386_relocate_section): Skip if check_relocs failed.
3012 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
3014 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
3015 check_relocs_failed on error.
3017 2016-04-29 Nick Clifton <nickc@redhat.com>
3020 * elf-bfd.h (struct elf_backend_data): Rename
3021 elf_backend_set_special_section_info_and_link to
3022 elf_backend_copy_special_section_fields.
3023 * elfxx-target.h: Likewise.
3024 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
3025 comparing section flags.
3026 (copy_special_section_fields): New function.
3027 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
3028 Perform two scans over special sections. The first one looks for
3029 a direct mapping between the output section and an input section.
3030 The second scan looks for a possible match based upon section
3032 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
3033 function. Handle setting the sh_link field of SHT_ARM_EXIDX
3035 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
3036 elf32_i386_copy_solaris_special_section_fields.
3037 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
3038 Rename to elf32_sparc_copy_solaris_special_section_fields.
3039 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
3040 elf64_x86_64_copy_solaris_special_section_fields.
3042 2016-04-28 Nick Clifton <nickc@redhat.com>
3044 * po/zh_CN.po: Updated Chinese (simplified) translation.
3046 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
3049 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
3050 when estimating distances between output sections.
3052 2016-04-27 Alan Modra <amodra@gmail.com>
3054 * elflink.c (_bfd_elf_is_start_stop): New function.
3055 (_bfd_elf_gc_mark_rsec): Use it.
3056 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
3058 2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
3060 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
3061 * mmo.c (mmo_get_section_contents): Likewise.
3062 (mmo_set_section_contents): Likewise.
3064 2016-04-26 H.J. Lu <hongjiu.lu@intel.com>
3066 * elf-bfd.h (elf_link_hash_table): Update comments for
3068 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
3069 the unused NULL entry at the head of dynamic symbol table.
3070 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
3073 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
3075 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
3076 created file from dynobj.
3078 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
3080 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
3081 normal input file if possible.
3083 2016-04-21 Nick Clifton <nickc@redhat.com>
3085 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
3086 * aout-target.h: Likewise.
3087 * aout-tic30.c: Likewise.
3088 * binary.c: Likewise.
3090 * coff-alpha.c: Likewise.
3091 * coff-rs6000.c: Likewise.
3092 * coff64-rs6000.c: Likewise.
3093 * coffcode.h: Likewise.
3094 * i386msdos.c: Likewise.
3095 * i386os9k.c: Likewise.
3098 * libbfd-in.h: Likewise.
3099 * libecoff.h: Likewise.
3100 * mach-o-target.c: Likewise.
3102 * nlm-target.h: Likewise.
3103 * oasys.c: Likewise.
3105 * plugin.c: Likewise.
3106 * ppcboot.c: Likewise.
3109 * tekhex.c: Likewise.
3110 * versados.c: Likewise.
3111 * vms-alpha.c: Likewise.
3113 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
3114 * linker.c (bfd_link_check_relocs): New function.
3115 (_bfd_generic_link_check_relocs): New function.
3116 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
3117 _bfd_link_check_relocs field.
3118 (struct bfd_target)L Add _bfd_link_check_relocs field.
3119 * bfd-in2.h: Regenerate.
3120 * libbfd.h: Regenerate.
3122 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3124 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
3125 (elf_backend_gc_sweep_hook): Likewise.
3126 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
3127 (elf_backend_gc_sweep_hook): Likewise.
3129 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3131 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
3132 in excluded sections
3134 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3137 * elf64-x86-64.c (check_relocs_failed): New.
3138 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
3139 Support relocation agaist local symbol. Set check_relocs_failed.
3140 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
3141 R_X86_64_32 relocation overflow.
3142 (elf_x86_64_relocate_section): Skip if check_relocs failed.
3143 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
3145 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3147 * elf32-i386.c (elf_i386_check_relocs): Call
3148 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
3149 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3151 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3153 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
3154 * elflink.c (_bfd_elf_link_check_relocs): New function.
3155 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
3156 if check_relocs_after_open_input is FALSE.
3158 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
3160 * cache.c: Update old style function definitions.
3161 * elf32-m68k.c: Likewise.
3162 * elf64-mmix.c: Likewise.
3163 * stab-syms.c: Likewise.
3165 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
3167 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
3169 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
3171 * Makefile.in: Regenerated with automake 1.11.6.
3172 * aclocal.m4: Likewise.
3173 * doc/Makefile.in: Likewise.
3175 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
3177 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
3178 * bfd-in2.h: Regenerate.
3179 * libbfd.h: Regenerate.
3180 * elf32-arc.c: Add 'opcode/arc.h' include.
3181 (struct arc_relocation_data): Add symbol_name.
3182 (arc_special_overflow_checks): New function.
3183 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
3184 required, add an extra comment.
3185 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
3187 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
3189 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
3191 (elf_arc_relocate_section): Update enum uses.
3192 (elf_arc_check_relocs): Likewise.
3193 (elf_arc_finish_dynamic_symbol): Likewise.
3195 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
3197 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
3200 2016-04-14 Nick Clifton <nickc@redhat.com>
3203 * elf-bbfd.h (struct elf_backend_data): New field:
3205 New field: elf_backend_set_special_section_info_and_link
3206 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
3208 (elf_backend_set_special_section_info_and_link): Define if not
3210 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
3211 elf_backend_strtab_flags macros to initialise fields in structure.
3212 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
3213 being set even if SHF_MERGE is not set.
3214 (elf_fake_sections): Likewise.
3215 (section_match): New function. Matches two ELF sections based
3216 upon fixed characteristics.
3217 (find_link): New function. Locates a section in a BFD that
3218 matches a section in a different BFD.
3219 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
3220 fields of reserved sections.
3221 (bfd_elf_compute_section_file_positions): Set the flags for the
3222 .shstrtab section based upon the elf_strtab_flags field in the
3223 elf_backend_data structure.
3224 (swap_out_syms): Likewise for the .strtab section.
3225 * elflink.c (bfd_elf_final_link): Set the flags for the
3226 .strtab section based upon the elf_strtab_flags field in the
3227 elf_backend_data structure.
3228 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
3229 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
3231 (elf_backend_set_special_section_info_and_link): Define for
3233 * elf32-sparc.c: Likewise.
3234 * elf64-x86-64.c: Likewise.
3236 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
3239 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
3241 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
3242 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
3243 applies to read-only section.
3244 * elf32-i386.c (elf_i386_link_hash_table): Add
3245 readonly_dynrelocs_against_ifunc.
3246 (elf_i386_allocate_dynrelocs): Updated.
3247 (elf_i386_size_dynamic_sections): Issue an error for read-only
3248 segment with dynamic IFUNC relocations only if
3249 readonly_dynrelocs_against_ifunc is TRUE.
3250 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
3251 readonly_dynrelocs_against_ifunc.
3252 (elf_x86_64_allocate_dynrelocs): Updated.
3253 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
3254 segment with dynamic IFUNC relocations only if
3255 readonly_dynrelocs_against_ifunc is TRUE.
3256 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
3259 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
3261 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
3262 a fall through from error_ret_free_internal. Free local_syms in
3263 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
3265 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3267 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
3268 (relocate_plt_for_entry): Likewise.
3270 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3272 * elf32-arc.c (elf_arc_check_relocs): Changed
3274 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3276 * elf32-arc.c (name_for_global_symbol): Changed assert.
3277 (get_replace_function): Created.:
3278 (struct arc_relocation_data): Changed to signed types.
3279 (defines S, L, P, PDATA): Casted to signed type.
3280 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
3281 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
3282 (arc_do_relocation): Changed.
3284 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3286 * elf32-arc.c (name_for_global_symbol): Added assert to check for
3288 (elf_arc_relocate_section): Added and changed asserts, validating
3289 the synamic symbol index.
3290 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
3291 relocation if symbol has dynindx set to -1.
3293 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
3296 * elflink.c (elf_link_add_object_symbols): Always turn hidden
3297 and internal symbols which have a dynamic index into local
3300 2016-04-04 Nick Clifton <nickc@redhat.com>
3303 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
3304 version number if the version is zero.
3306 2016-04-01 Alan Modra <amodra@gmail.com>
3309 * elflink.c (on_needed_list): Recursively check needed status.
3310 (elf_link_add_object_symbols): Adjust.
3312 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3314 * elf32-avr.c (avr_elf32_load_records_from_section): Free
3315 internal_relocs only if they aren't cached.
3317 2016-03-29 Nick Clifton <nickc@redhat.com>
3320 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
3321 assertion on the size of the got section to allow it to be bigger
3322 than the number of relocs.
3324 2016-03-29 Toni Spets <toni.spets@iki.fi>
3327 * coffcode.h (coff_write_object_contents): Revert accidental
3330 2016-03-22 Alan Modra <amodra@gmail.com>
3333 * dwarf2.c (read_attribute_value): Skip info_ptr check for
3334 DW_FORM_flag_present.
3336 2016-03-22 Nick Clifton <nickc@redhat.com>
3338 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
3339 architecture name for backwards compatibility.
3341 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
3342 unbounded stack use.
3344 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
3345 sufficiently recent version of GCC.
3346 * configure: Regenerate.
3348 2016-03-22 Alan Modra <amodra@gmail.com>
3351 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
3353 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3355 * archures.c (bfd_mach_arc_nps400): Define.
3356 * bfd-in2.h: Regenerate.
3357 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
3358 some existing entries to make space.
3359 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
3360 (arc_elf_final_write_processing): Likewise.
3362 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3364 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
3366 (arc_elf_final_write_processing): Don't bother setting cpu field
3367 in e_flags, this will have been set elsewhere.
3369 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3371 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
3374 2016-03-21 Nick Clifton <nickc@redhat.com>
3376 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
3377 * configure: Regenerate.
3378 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
3379 alloca with call to xmalloc.
3380 * elf32-nds32.c: Likewise.
3381 * elf64-hppa.c: Likewise.
3382 * elfxx-mips.c: Likewise.
3384 * pei-x86_64.c: Likewise.
3388 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
3391 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
3393 (elf_i386_relocate_section): Likewise.
3394 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3395 (elf_x86_64_relocate_section): Likewise.
3397 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
3400 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
3401 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
3402 relocation overflow check.
3404 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
3406 * bfd-in2.h: Regenerated.
3408 2016-03-11 Dan Gissel <dgisselq@ieee.org>
3411 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
3412 uses bytes not octets.
3413 * elflink.c (resolve_section): Likewise.
3414 Add a bfd parameter.
3415 (eval_section): Pass the input_bfd to resolve_section.
3416 (bfd_elf_perform_complex_relocation): Convert byte offset to
3417 octets before read and writing values.
3418 (elf_link_input_bfd): Add byte to octet conversions.
3419 (elf_reloc_link_order): Likewise.
3420 (elf_fixup_link_order): Likewise.
3421 (bfd_elf_final_link): Likewise.
3422 * reloc.c (_bfd_final_link_relocate): Likewise.
3423 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3425 2016-03-10 Nick Clifton <nickc@redhat.com>
3427 * config.bfd: Mark the i370 target as obsolete.
3429 2016-03-09 Pedro Alves <palves@redhat.com>
3431 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
3432 gcc ABI)" to printable name.
3433 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
3434 of "v850-rh850" as printable name.
3436 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
3439 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
3440 relocations against absolute symbols.
3442 2016-03-09 Alan Modra <amodra@gmail.com>
3445 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
3446 length elements in the archive.
3448 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3451 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
3452 for -E/--dynamic-list only when not relocatable.
3454 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3457 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
3458 count for locally defined local IFUNC symbols in shared object.
3459 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3461 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3464 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
3467 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3468 Andrew Burgess <andrew.burgess@embecosm.com>
3470 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
3471 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
3472 (arc_elf_howto_init): Added assert to validate relocations.
3473 (get_middle_endian_relocation): Delete.
3474 (middle_endian_convert): New function.
3475 (ME): Redefine, now does nothing.
3476 (IS_ME): New define.
3477 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
3478 definition to call middle_endian_convert. Add a new local
3479 variable and make use of this throughout. Added call to
3480 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
3482 2016-03-07 Nick Clifton <nickc@redhat.com>
3485 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
3486 length elements in the archive.
3488 2016-03-07 Jiong Wang <jiong.wang@arm.com>
3490 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
3491 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
3493 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
3496 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
3497 executable as definition if the new definition comes from a
3500 2016-03-02 Alan Modra <amodra@gmail.com>
3502 * Makefile.in: Regenerate.
3503 * po/SRC-POTFILES.in: Regenerate.
3505 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
3507 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
3508 relocation addend when sections get merged.
3510 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3512 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
3514 (elf_arc_relocate_section): Fixes and conditions to support PIE.
3515 Assert for code sections dynamic relocs.
3517 2016-02-26 Renlin Li <renlin.li@arm.com>
3519 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
3520 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
3522 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3525 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
3526 load with locally bound symbols if PIC is false or there is no
3527 base register. Optimize branch to 0 if PIC is false.
3528 (elf_i386_relocate_section): Don't generate dynamic relocations
3529 against undefined weak symbols if PIC is false.
3530 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
3531 if we can't estimate relocation overflow with --no-relax.
3532 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
3533 symbols if PIC is false. Optimize branch to 0 if PIC is false.
3534 (elf_x86_64_relocate_section): Don't generate dynamic relocations
3535 against undefined weak symbols if PIC is false.
3537 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3540 * bfd.c (bfd): Change flags to 20 bits.
3541 (BFD_CONVERT_ELF_COMMON): New.
3542 (BFD_USE_ELF_STT_COMMON): Likewise.
3543 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
3544 BFD_USE_ELF_STT_COMMON.
3545 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
3546 * configure.ac: Remove --enable-elf-stt-common.
3547 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
3548 common symbol depending on BFD_CONVERT_ELF_COMMON and
3549 BFD_USE_ELF_STT_COMMON.
3550 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
3552 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
3554 (elf_link_convert_common_type): New function.
3555 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
3556 common symbol depending on BFD_CONVERT_ELF_COMMON and
3557 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
3558 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
3559 and BFD_USE_ELF_STT_COMMON to object_flags.
3560 (TARGET_LITTLE_SYM): Likewise.
3561 * syms.c (BSF_KEEP_G): Renamed to ...
3562 (BSF_ELF_COMMON): This.
3563 * bfd-in2.h: Regenerated.
3564 * config.in: Likewise.
3565 * configure: Likewise.
3567 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3572 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3573 (elf_i386_link_hash_entry): Add has_got_reloc and
3575 (elf_i386_link_hash_table): Add interp.
3576 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
3578 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
3580 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
3581 (elf_i386_fixup_symbol): New function.
3582 (elf_i386_pie_finish_undefweak_symbol): Likewise.
3583 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
3584 relocations and discard relocations against resolved undefined
3585 weak symbols in executable. Don't make resolved undefined weak
3586 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
3587 relocation against undefined weak symbols in PIE.
3588 (elf_i386_size_dynamic_sections): Set interp to .interp section.
3589 (elf_i386_relocate_section): Don't generate dynamic relocations
3590 against resolved undefined weak symbols in PIE, except for
3592 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
3593 dynamic PLT/GOT relocations for resolved undefined weak symbols.
3594 Don't generate dynamic relocation against resolved undefined weak
3595 symbol in executable.
3596 (elf_i386_finish_dynamic_sections): Call
3597 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
3598 (elf_backend_fixup_symbol): New.
3599 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3600 (elf_x86_64_link_hash_entry): Add has_got_reloc and
3602 (elf_x86_64_link_hash_table): Add interp.
3603 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
3605 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
3607 (elf_x86_64_check_relocs): Set has_got_reloc and
3609 (elf_x86_64_fixup_symbol): New function.
3610 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
3611 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
3612 relocations and discard relocations against resolved undefined
3613 weak symbols in executable. Don't make resolved undefined weak
3614 symbols in executable dynamic.
3615 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
3616 (elf_x86_64_relocate_section): Check relocation overflow for
3617 dynamic relocations against unresolved weak undefined symbols.
3618 Don't generate dynamic relocations against resolved weak
3619 undefined symbols in PIE.
3620 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
3621 dynamic PLT/GOT relocations for resolved undefined weak symbols.
3622 Don't generate dynamic relocation against resolved undefined weak
3623 symbol in executable.
3624 (elf_x86_64_finish_dynamic_sections): Call
3625 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
3626 (elf_backend_fixup_symbol): New.
3628 2016-02-26 Alan Modra <amodra@gmail.com>
3630 * elf64-ppc.c (create_linkage_sections): Create sfpr when
3631 save_restore_funcs, rest of sections when not relocatable.
3632 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
3633 (sfpr_define): Define all symbols on emitted code.
3634 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
3635 when relocatable. Move sfpr_define loop earlier.
3637 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3639 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
3640 (elf_x86_64_relocate_section): Use it. Replace
3641 x86_64_elf_howto_table[r_type] with howto.
3643 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3646 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
3647 symbol version is unknown.
3649 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3651 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
3652 to (bfd_vma) -1 when setting needs_plt to 0.
3653 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3655 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
3657 * elflink.c (bfd_elf_record_link_assignment): Check for shared
3658 library, instead of PIC, and don't check PDE when making linker
3659 assigned symbol dynamic.
3661 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
3663 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
3664 ABIVERSION for non-executable stack.
3666 2016-02-23 Rich Felker <bugdal@aerifal.cx>
3669 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
3670 Always produce a RELATIVE reloc for a local symbol.
3672 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
3674 Fix test-case ld-elf/pr19617b
3675 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
3676 discard unused non-function symbols when --dynamic-list-data.
3678 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
3680 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
3681 dynsym section, even if it is empty, with dynamic sections.
3683 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
3685 * syms.c: Remove BSF_COMMON from comments.
3686 * bfd-in2.h: Regenerated.
3688 2016-02-22 Jiong Wang <jiong.wang@arm.com>
3690 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
3691 for destination. Remove useless function parameters.
3692 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
3694 2016-02-19 Nick Clifton <nickc@redhat.com>
3697 * aoutx.h (aout_link_add_symbols): Check for out of range string
3701 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
3702 processing if we encounter a reloc without an associated symbol.
3704 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
3707 * elflink.c (elf_link_add_object_symbols): Always create dynamic
3708 sections for -E/--dynamic-list.
3710 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
3712 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
3715 2016-02-16 Joseph Myers <joseph@codesourcery.com>
3717 * plugin.c (plugin_vec): Set match priority to 255.
3718 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
3719 matching against the plugin vector, take priority from there not
3722 2016-02-15 Nick Clifton <nickc@redhat.com>
3724 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
3725 for length and type fields. Use a signed value for the
3726 suffix_length field.
3728 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
3731 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
3732 significant bit in GOT offset for R_386_GOT32X.
3734 2016-02-10 Nick Clifton <nickc@redhat.com>
3737 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
3739 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
3740 number of messages about FDE encoding preventing .eh_frame_hdr
3743 2016-02-09 Nick Clifton <nickc@redhat.com>
3745 * oasys.c (oasys_archive_p): Fix indentation.
3746 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
3747 constant for left shifting.
3749 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
3750 helpful warning message to explain why certain AArch64 relocs
3753 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
3755 * pe-mips.c (coff_mips_reloc): Fix formatting.
3757 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3759 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
3760 to bfd_mach_arc_arc600.
3762 2016-02-04 Alan Modra <amodra@gmail.com>
3764 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
3767 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
3770 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
3771 distances in the compressed_size field of the output section.
3773 2016-02-02 Alan Modra <amodra@gmail.com>
3775 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
3776 ELFv2 entry optimization.
3778 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
3781 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
3782 no relocations in relocatable files.
3784 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
3787 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
3788 if a symbol from a library loaded via DT_NEEDED doesn't match
3789 the symbol referenced by regular object.
3791 2016-02-01 Nathaniel Smith <njs@pobox.com>
3793 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
3796 2016-02-01 Alan Modra <amodra@gmail.com>
3798 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
3799 an out of range reloc_index.
3800 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
3802 2016-02-01 Kamil Rytarowski <n54@gmx.com>
3804 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
3805 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
3806 * Makefile.in: Regenerated.
3808 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
3810 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
3812 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
3815 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
3817 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
3819 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
3822 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
3823 against STT_GNU_IFUNC symbol only with dynamic symbols.
3824 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
3826 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
3829 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
3830 decompress debug sections.
3832 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
3834 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
3837 2016-01-25 Nick Clifton <nickc@redhat.com>
3840 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
3841 dsym filename buffer.
3843 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
3845 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
3847 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
3849 * elfxx-mips.c (BZ16_REG): Correct calculation.
3851 2016-01-21 Nick Clifton <nickc@redhat.com>
3853 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
3854 changing the type of _loc to be bfd_byte *.
3855 (elf_arc_finish_dynamic_symbol): Likewise.
3857 2016-01-21 Nick Clifton <nickc@redhat.com>
3860 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
3861 class of the linker stub bfd.
3862 (elf32_arm_check_relocs): Skip check for pic format after
3863 processing a vxWorks R_ARM_ABS12 reloc.
3864 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
3865 reporting a class mismatch.
3867 2016-01-21 Jiong Wang <jiong.wang@arm.com>
3869 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
3870 veneer for sym_sec != input_sec.
3871 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
3872 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
3873 calculation destination.
3875 2016-01-21 Alan Modra <amodra@gmail.com>
3877 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
3878 (swap_linux_prpsinfo64_out): New function.
3879 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3880 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
3881 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
3882 (elfcore_write_linux_prpsinfo64): Likewise.
3883 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
3884 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3885 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
3887 2016-01-21 Alan Modra <amodra@gmail.com>
3889 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
3890 * elf.c: Adjust #include.
3891 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
3892 * Makefile.am (SOURCE_HFILES): Update.
3893 * Makefile.in: Regenerate.
3894 * po/SRC-PORFILES.in: Regenerate.
3896 2016-01-21 Alan Modra <amodra@gmail.com>
3898 * configure.ac: Move corefile selection later in file. Move
3899 tdefaults code immediately after other target vector code.
3900 * configure: Regenerate.
3902 2016-01-20 Mickael Guene <mickael.guene@st.com>
3904 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
3905 section using '.text.noread' pattern.
3907 2016-01-19 John Baldwin <jhb@FreeBSD.org>
3909 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
3911 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
3912 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
3914 * arc-plt.def: New file.
3915 * arc-plt.h: Likewise.
3916 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
3917 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
3918 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
3919 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
3920 (name_for_global_symbol): Added.
3921 (ADD_RELA): Helper to create dynamic relocs.
3922 (new_got_entry_to_list): Create a new got entry in linked list.
3923 (symbol_has_entry_of_type): Search for specific type of entry in
3925 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
3926 (is_reloc_for_TLS, arc_elf_set_private_flags)
3927 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
3928 (arc_elf_merge_private_bfd_data): New functions.
3929 (debug_arc_reloc): Cleaned debug info printing.
3930 (PDATA reloc): Changed not to perform address alignment.
3931 (reverse_me): Added. Fix for ARC_32 relocs.
3932 (arc_do_relocation): Return bfd_reloc_of when no relocation should
3934 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
3935 Changed function to access an array of list of GOT entries instead
3936 of just an array of offsets.
3937 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
3938 (elf_arc_check_relocs): Likewise.
3939 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
3940 (elf_arc_finish_dynamic_sections): Likewise
3941 (arc_create_dynamic_sections): Modified conditions to create
3943 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
3944 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
3945 (relocate_plt_for_entry): Changed to support new way to define PLT
3947 (add_symbol_to_plt): Likewise.
3948 (arc_elf_link_hash_table_create): New function.
3950 2016-01-18 Nick Clifton <nickc@redhat.com>
3953 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
3954 section number into internal section number.
3955 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
3956 * coffswap.h (coff_swap_sym_in): Likewise.
3957 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
3958 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
3959 section number field is big enough to hold the external value.
3961 2016-01-17 Alan Modra <amodra@gmail.com>
3963 * configure: Regenerate.
3965 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
3967 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
3968 when address in first unwind entry does not match start of
3971 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
3972 Jiong Wang <jiong.wang@arm.com>
3975 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
3978 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
3980 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
3981 place 'R_' before the reloc name returned.
3982 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
3983 the relocation string.
3985 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3987 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
3988 factored out from...
3989 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3991 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3993 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
3994 attribute check after ELF file header flag check.
3996 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3998 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
3999 return status from `_bfd_elf_merge_object_attributes'.
4001 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
4003 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
4004 factored out from...
4005 (_bfd_mips_elf_merge_private_bfd_data): ... here.
4007 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
4009 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
4010 handling of input MIPS ABI flags together.
4012 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
4014 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
4015 attribute checks for null input.
4017 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
4019 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
4020 pointers to target data.
4022 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
4024 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
4027 2016-01-01 Alan Modra <amodra@gmail.com>
4029 Update year range in copyright notice of all files.
4031 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
4033 Copyright (C) 2016 Free Software Foundation, Inc.
4035 Copying and distribution of this file, with or without modification,
4036 are permitted in any medium without royalty provided the copyright
4037 notice and this notice are preserved.
4043 version-control: never