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