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