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