1 2016-12-02 Josh Conner <joshconner@google.com>
3 * configure.tgt: Add support for fuchsia (OS).
5 2016-12-01 Yury Norov <ynorov@caviumnetworks.com>
8 * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
9 to the GOT when operating in 32-bit mode.
11 2016-12-01 Ma Jiang <ma.jiang@zte.com.cn>
14 * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
17 2016-12-01 Nick Clifton <nickc@redhat.com>
20 * aoutx.h (find_nearest_line): Handle the case where the main file
21 name and the directory name are both empty.
24 * aoutx.h (find_nearest_line): Handle the case where the function
27 2016-11-30 Alan Modra <amodra@gmail.com>
29 * elf.c (get_program_header_size): Revert accidental change.
31 2016-11-30 Alan Modra <amodra@gmail.com>
34 * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
35 on any pass past STUB_SHRINK_ITER.
37 2016-11-28 H.J. Lu <hongjiu.lu@intel.com>
39 * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
41 (elf_link_output_extsym): Don't change bind from global to
42 local when linking executable.
44 2016-11-28 Nick Clifton <nickc@redhat.com>
47 * elf.c (phdr_sorter): Delete.
48 (assign_file_positions_except_relocs): Do not sort program
51 2016-11-25 Jon Turney <jon.turney@dronecode.org.uk>
54 * peXXigen.c (rsrc_process_section): Do not shrink the merged
57 2016-11-24 Jiong Wang <jiong.wang@arm.com>
60 * elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
63 2016-11-24 Kuan-Lin Chen <kuanlinchentw@gmail.com>
65 * bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.
67 2016-11-23 Nick Clifton <nickc@redhat.com>
70 * elf.c (elf_modify_segment_map): Allow empty LOAD segments if
71 they contain the program headers.
72 (_bfd_elf_map_sections_to_segments): If the linker created the
73 PHDR segment then always attempt to include it in a LOAD segment.
74 (assign_file_positions_for_non_load_sections): Allow LOAD segments
75 to overlap PHDR segments.
76 (phdr_sorter): New function. Sorts program headers.
77 (assign_file_positions_except_relocs): Sort the program headers
78 before writing them out. Issue an error if the PHDR segment is
79 not covered by a LOAD segment, unless the backend allows it.
80 * elf-bfd.h (struct elf_backend_data): Add
81 elf_backend_allow_non_load_phdr.
82 * elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
83 default definition that returns FALSE.
84 (elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
86 * elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
88 (elf_backend_allow_non_load_phdr): Define.
89 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
90 place the interpreter string into the .interp section if the
91 nointerp flag is set in the link info structure.
92 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
93 * elf32-score7.c (score_elf_final_link_relocate): Allow for the
94 _gp symbol not being part of the output.
96 2016-11-23 Alan Modra <amodra@gmail.com>
98 * elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
99 * elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
100 (elfNN_bed): Init new field.
101 * elflink.c (bfd_elf_final_link): Add and use htab variable. Handle
103 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
105 (elf_backend_dtrel_excludes_plt): Define.
106 * elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
107 (elf_backend_dtrel_excludes_plt): Define.
108 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
109 subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
110 (elf_backend_dtrel_excludes_plt): Define.
111 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
113 (elf_backend_dtrel_excludes_plt): Define.
114 * elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
116 (elf_backend_dtrel_excludes_plt): Define.
117 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
119 (elf_backend_dtrel_excludes_plt): Define.
120 * elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
122 (elf_backend_dtrel_excludes_plt): Define.
123 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
125 (elf_backend_dtrel_excludes_plt): Define.
126 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
128 (elf_backend_dtrel_excludes_plt): Define.
129 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
131 (elf_backend_dtrel_excludes_plt): Define.
132 * elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
134 (elf_backend_dtrel_excludes_plt): Define.
135 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
136 DT_RELASZ and DT_RELA code. Use ELF htab shortcuts for other
138 (elf_backend_dtrel_excludes_plt): Define.
139 * elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
140 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
142 (elf_backend_dtrel_excludes_plt): Define.
143 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
145 (elf_backend_dtrel_excludes_plt): Define.
146 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
148 (elf_backend_dtrel_excludes_plt): Define.
149 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
151 (elf_backend_dtrel_excludes_plt): Define.
152 * elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
154 (elf_backend_dtrel_excludes_plt): Define.
155 * elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
156 * elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
158 (elf_backend_dtrel_excludes_plt): Define.
159 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
161 (elf_backend_dtrel_excludes_plt): Define.
162 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
164 (elf_backend_dtrel_excludes_plt): Define.
165 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
167 (elf_backend_dtrel_excludes_plt): Define.
168 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
170 (elf_backend_dtrel_excludes_plt): Define.
171 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
173 (elf_backend_dtrel_excludes_plt): Define.
174 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
176 (elf_backend_dtrel_excludes_plt): Define.
177 * elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
179 (elf_backend_dtrel_excludes_plt): Define.
180 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
182 * elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.
184 2016-11-23 Alan Modra <amodra@gmail.com>
186 * elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
188 (mn10300_elf_final_link_relocate): Likewise.
189 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
190 (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
191 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
192 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
193 * elf32-bfin.c (bfin_check_relocs): Likewise.
194 (bfin_relocate_section): Likewise.
195 (bfin_gc_sweep_hook): Likewise.
196 (struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
198 (bfinfdpic_got_section, bfinfdpic_gotrel_section,
199 bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
201 (_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
203 (bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
204 (bfin_size_dynamic_sections): Likewise.
205 * elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
206 (cr16_elf_check_relocs): Likewise.
207 (cr16_elf_final_link_relocate): Likewise.
208 (_bfd_cr16_elf_create_dynamic_sections): Likewise.
209 (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
210 (_bfd_cr16_elf_size_dynamic_sections): Likewise.
211 (_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
212 (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
213 * elf32-cris.c (cris_elf_relocate_section): Likewise.
214 (elf_cris_finish_dynamic_symbol): Likewise.
215 (elf_cris_finish_dynamic_sections): Likewise.
216 (cris_elf_gc_sweep_hook): Likewise.
217 (elf_cris_adjust_gotplt_to_got): Likewise.
218 (elf_cris_adjust_dynamic_symbol): Likewise.
219 (cris_elf_check_relocs): Likewise. Delete dead code.
220 (elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
222 (elf_cris_discard_excess_program_dynamics): Likewise.
223 * elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
224 sgotrel, splt and spltrel.
225 (frvfdpic_got_section, frvfdpic_gotrel_section,
226 frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
228 (_frv_create_got_section): Likewise.
229 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
230 srelgot, splt and srelplt.
231 (hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
232 (elf32_hppa_create_dynamic_sections): Likewise.
233 (elf32_hppa_check_relocs): Likewise.
234 (allocate_plt_static): Likewise.
235 (allocate_dynrelocs): Likewise.
236 (elf32_hppa_size_dynamic_sections): Likewise.
237 (elf32_hppa_relocate_section): Likewise.
238 (elf32_hppa_finish_dynamic_symbol): Likewise.
239 (elf32_hppa_finish_dynamic_sections): Likewise.
240 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
241 * elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
242 sgotplt, srelgot, splt and srelplt.
243 (lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
245 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
246 (lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
247 (lm32_elf_check_relocs): Likewise.
248 (lm32_elf_finish_dynamic_sections): Likewise.
249 (lm32_elf_finish_dynamic_symbol): Likewise.
250 (allocate_dynrelocs): Likewise.
251 (lm32_elf_size_dynamic_sections): Likewise.
252 (lm32_elf_create_dynamic_sections): Likewise.
253 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
254 (m32c_elf_check_relocs): Likewise.
255 (m32c_elf_finish_dynamic_sections): Likewise.
256 (m32c_elf_always_size_sections): Likewise.
257 * elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
258 sgotplt, srelgot, splt and srelplt.
259 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
260 (m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
262 (allocate_dynrelocs): Likewise.
263 (m32r_elf_size_dynamic_sections): Likewise.
264 (m32r_elf_relocate_section): Likewise.
265 (m32r_elf_finish_dynamic_symbol): Likewise.
266 (m32r_elf_finish_dynamic_sections): Likewise.
267 (m32r_elf_check_relocs): Likewise.
268 * elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
269 (elf_m68k_check_relocs): Likewise.
270 (elf_m68k_adjust_dynamic_symbol): Likewise.
271 (elf_m68k_size_dynamic_sections): Likewise.
272 (elf_m68k_relocate_section): Likewise.
273 (elf_m68k_finish_dynamic_symbol): Likewise.
274 (elf_m68k_finish_dynamic_sections): Likewise.
275 * elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
276 sgotplt, srelgot, splt and srelplt.
277 (elf_metag_relocate_section): Use elf htab shortcuts to dynamic
279 (elf_metag_create_dynamic_sections): Likewise. Allocate got header
281 (elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
282 (allocate_dynrelocs): Likewise.
283 (elf_metag_size_dynamic_sections): Likewise.
284 (elf_metag_finish_dynamic_symbol): Likewise.
285 (elf_metag_finish_dynamic_sections): Likewise.
286 (elf_metag_size_stubs): Likewise.
287 (elf_backend_got_header_size): Don't define.
288 (elf_backend_want_got_plt): Define.
289 * elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
290 sgotplt, srelgot, splt and srelpl.
291 (microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
293 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
294 (microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
295 (microblaze_elf_create_dynamic_sections): Likewise.
296 (allocate_dynrelocs): Likewise.
297 (microblaze_elf_size_dynamic_sections): Likewise.
298 (microblaze_elf_finish_dynamic_symbol): Likewise.
299 (microblaze_elf_finish_dynamic_sections): Likewise.
300 * elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
302 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
303 (nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
305 (allocate_dynrelocs): Likewise.
306 (nds32_elf_size_dynamic_sections): Likewise.
307 (nds32_elf_relocate_section): Likewise.
308 (nds32_elf_finish_dynamic_symbol): Likewise.
309 (nds32_elf_finish_dynamic_sections): Likewise.
310 (nds32_elf_check_relocs): Likewise.
311 (calculate_plt_memory_address): Likewise.
312 (calculate_got_memory_address): Likewise.
313 * elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
314 sgotplt, srelgot, splt and srelplt.
315 * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
316 (or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
317 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
318 (or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
319 (or1k_elf_finish_dynamic_sections): Likewise.
320 (or1k_elf_finish_dynamic_symbol): Likewise.
321 (allocate_dynrelocs): Likewise.
322 (or1k_elf_size_dynamic_sections): Likewise.
323 (or1k_elf_create_dynamic_sections): Likewise.
324 * elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
325 plt, relplt, iplt, reliplt and sgotplt.
326 (ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
327 (ppc_elf_create_glink): Likewise.
328 (ppc_elf_create_dynamic_sections): Likewise.
329 (ppc_elf_check_relocs): Likewise.
330 (ppc_elf_select_plt_layout): Likewise.
331 (ppc_elf_tls_setup): Likewise.
332 (allocate_got): Likewise.
333 (allocate_dynrelocs): Likewise.
334 (ppc_elf_size_dynamic_sections): Likewise.
335 (ppc_elf_relax_section): Likewise.
336 (ppc_elf_relocate_section): Likewise.
337 (ppc_elf_finish_dynamic_symbol): Likewise.
338 (ppc_elf_reloc_type_class): Likewise.
339 (ppc_elf_finish_dynamic_sections): Likewise.
340 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
341 (rl78_elf_check_relocs): Likewise.
342 (rl78_elf_finish_dynamic_sections): Likewise.
343 (rl78_elf_always_size_sections): Likewise.
344 * elf32-s390.c (create_got_section): Delete.
345 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
346 (elf_s390_check_relocs): Likewise.
347 * elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
348 (s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
349 * elf32-score7.c (score_elf_create_got_section): As above.
350 (s7_bfd_score_elf_finish_dynamic_sections): As above.
351 * elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
352 sgotplt, srelgot, splt and srelplt.
353 (create_got_section): Don't set them.
354 (sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
356 (allocate_dynrelocs): Likewise.
357 (sh_elf_size_dynamic_sections): Likewise.
358 (sh_elf_add_rofixup): Likewise.
359 (sh_elf_relocate_section): Likewise.
360 (sh_elf_check_relocs): Likewise.
361 (sh_elf_finish_dynamic_symbol): Likewise.
362 (sh_elf_finish_dynamic_sections): Likewise.
363 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
364 * elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
365 * elf32-vax.c (elf_vax_check_relocs): Likewise.
366 (elf_vax_adjust_dynamic_symbol): Likewise.
367 (elf_vax_always_size_sections): Likewise.
368 (elf_vax_instantiate_got_entries): Likewise.
369 (elf_vax_relocate_section): Likewise.
370 (elf_vax_finish_dynamic_symbol): Likewise.
371 (elf_vax_finish_dynamic_sections): Likewise.
372 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
373 (xstormy16_elf_always_size_sections): Likewise.
374 (xstormy16_elf_relocate_section): Likewise.
375 (xstormy16_elf_finish_dynamic_sections): Likewise.
376 * elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
377 sgotplt, srelgot, splt and srelplt.
378 (elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
380 (elf_xtensa_allocate_dynrelocs): Likewise.
381 (elf_xtensa_allocate_local_got_size): Likewise.
382 (elf_xtensa_size_dynamic_sections): Likewise.
383 (elf_xtensa_relocate_section): Likewise.
384 (elf_xtensa_finish_dynamic_sections): Likewise.
385 (shrink_dynamic_reloc_sections): Likewise.
386 (elf_xtensa_get_plt_section): Likewise.
387 (elf_xtensa_get_gotplt_section): Likewise.
388 (xtensa_callback_required_dependence): Likewise.
389 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
390 shortcuts to dynamic sections.
391 (elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
393 (elf64_alpha_size_plt_section): Likewise.
394 (elf64_alpha_size_rela_got_1): Likewise.
395 (elf64_alpha_size_rela_got_section): Likewise.
396 (elf64_alpha_relocate_section): Likewise.
397 (elf64_alpha_finish_dynamic_symbol): Likewise.
398 (elf64_alpha_finish_dynamic_sections): Likewise.
399 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
400 * elf64-s390.c (create_got_section): Delete.
401 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
402 (elf_s390_check_relocs): Likewise.
403 * elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
405 (sh_elf64_check_relocs): Likewise.
406 (sh64_elf64_adjust_dynamic_symbol): Likewise.
407 (sh64_elf64_size_dynamic_sections): Likewise.
408 (sh64_elf64_finish_dynamic_symbol): Likewise.
409 (sh64_elf64_finish_dynamic_sections): Likewise.
410 * elflink.c (_bfd_elf_create_got_section): Likewise.
411 * elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
412 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
413 (elfNN_ia64_finish_dynamic_sections): Likewise.
414 * elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
415 * elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
416 sgotplt, splt and sgot.
417 (mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
419 (mips_elf_gotplt_index): Likewise.
420 (mips_elf_primary_global_got_index): Likewise.
421 (mips_elf_global_got_index): Likewise.
422 (mips_elf_got_offset_from_index): Likewise.
423 (mips_elf_create_local_got_entry): Likewise.
424 (mips_elf_create_got_section): Likewise.
425 (mips_elf_calculate_relocation): Likewise.
426 (_bfd_mips_elf_create_dynamic_sections): Likewise.
427 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
428 (mips_elf_lay_out_got): Likewise.
429 (mips_elf_set_plt_sym_value): Likewise.
430 (_bfd_mips_elf_size_dynamic_sections): Likewise.
431 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
432 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
433 (mips_finish_exec_plt): Likewise.
434 (mips_vxworks_finish_exec_plt): Likewise.
435 (mips_vxworks_finish_shared_plt): Likewise.
436 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
437 * elfxx-sparc.c (sparc_finish_dyn): Likewise.
438 * elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.
440 2016-11-23 Alan Modra <amodra@gmail.com>
442 * po/BLD-POTFILES.in: Regenerate.
443 * po/SRC-POTFILES.in: Regenerate.
445 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
447 * warning.m4: Fix spelling in comments.
448 * configure.ac: Fix spelling in comments.
449 * configure: Regenerate.
451 2016-11-22 Alan Modra <amodra@gmail.com>
454 * elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
455 * elf32-ppc.c: Include opcode/ppc.h.
456 (ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
457 R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
458 R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
459 R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
460 R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
461 (ppc_elf_link_hash_table_create): Update default_params init.
462 (ppc_elf_vle_split16): Correct shift and mask. Add params.
463 Report or fix insn/reloc mismatches.
464 (ppc_elf_relocate_section): Pass input_section, offset and fixup
465 to ppc_elf_vle_split16.
467 2016-11-22 Alan Modra <amodra@gmail.com>
469 * elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
470 input_bfd. Replace occurrences of output_bfd as bfd_get_32 and
471 bfd_put_32 param with input_bfd.
472 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Also
473 ppc_elf_vle_split16 param.
474 (ppc_elf_vle_split16): Rename output_bfd param to input_bfd.
476 2016-11-21 Maciej W. Rozycki <macro@imgtec.com>
478 * dwarf2.c (build_line_info_table): Rename `index' local
479 variable to `line_index'.
480 (build_lookup_funcinfo_table): Rename `index' local variable to
483 2016-11-19 Jose E. Marchesi <jose.marchesi@oracle.com>
485 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not
486 apply the negative GOT offset optimization in 64-bit code.
488 2016-11-18 James Clarke <jrtc27@jrtc27.com>
490 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
491 R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
492 R_SPARC_GOT* for non-local references. Instead, treat them like
493 R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
494 immediate with the calculated relocation.
496 2016-11-18 Nick Clifton <nickc@redhat.com>
499 * elf32-metag.c (elf_metag_relocate_section): Replace abort with
500 an informative error message.
502 2016-11-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
505 * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
506 manipulation of diff value, and don't assume sym2 is less than sym1.
507 (elf32_avr_adjust_reloc_if_spans_insn): New function.
508 (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
509 and remove redundant did_pad.
512 2016-11-14 H.J. Lu <hongjiu.lu@intel.com>
515 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
516 plt_got.offset for R_X86_64_PLTOFF64.
518 2016-11-14 Nick Clifton <nickc@redhat.com>
520 * coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall.
522 2016-11-11 Luke Allardyce <lukeallardyce@gmail.com>
525 * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
526 but treat them as debugging symbols.
528 2016-11-10 Jiong Wang <jiong.wang@arm.com>
531 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
532 symbol locally in PIE.
534 2016-11-10 Nick Clifton <nickc@redhat.com>
537 * compress.c (bfd_get_full_section_contents): Provide a more
538 helpful error message when a section is too large to load.
540 2016-11-08 Pedro Alves <palves@redhat.com>
542 * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
545 2016-11-08 Igor Tsimbalist <tigor.tools@gmail.com>
547 * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
548 'number_of_functions' to keep lookup table and number of entries in
550 (line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
551 to keep lookup table and number of entries in the table.
552 (lookup_funcinfo): New structure for lookup table for function
554 (build_line_info_table): New function to create and build the lookup
555 table for line information.
556 (lookup_address_in_line_info_table): Use the lookup table instead of
557 traverse a linked list.
558 (compare_lookup_funcinfos): New compare fuction used in sorting of
559 lookup table for function references.
560 (build_lookup_funcinfo_table): New function to create, build and
561 sort the lookup table for functions references.
562 (lookup_address_in_function_table): Use the table instead of
563 traverse a linked list.
564 (_bfd_dwarf2_cleanup_debug_info): Free memory from function references
567 2016-11-04 Nick Clifton <nickc@redhat.com>
569 * targets.c (bfd_target_vector): Only add riscv_elf32_vec target
570 when supporting 64-bit BFD targets.
572 2016-11-03 Tristan Gingold <gingold@adacore.com>
574 * config.bfd: Deprecate many old triplets.
576 2016-11-03 Nick Clifton <nickc@redhat.com>
578 * po/da.po: Updated Danish translation.
580 2016-11-01 Maciej W. Rozycki <macro@imgtec.com>
582 * reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
583 not fall through to the default case.
585 2016-11-01 Palmer Dabbelt <palmer@dabbelt.com>
586 Andrew Waterman <andrew@sifive.com>
588 Add support for RISC-V architecture.
589 * Makefile.am: Add entries for riscv32-elf and riscv64-elf.
590 * config.bdf: Likewise.
591 * configure.ac: Likewise.
592 * Makefile.in: Regenerate.
593 * configure: Regenerate.
594 * archures.c: Add bfd_riscv_arch.
595 * reloc.c: Add riscv relocs.
596 * targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
597 * bfd-in2.h: Regenerate.
598 * libbfd.h: Regenerate.
599 * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
600 * elfnn-riscv.c: New file.
601 * elfxx-riscv.c: New file.
602 * elfxx-riscv.h: New file.
604 2016-10-31 Alan Modra <amodra@gmail.com>
607 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
610 2016-10-27 Andrew Burgess <andrew.burgess@embecosm.com>
612 * cpu-arc.c (arc_get_mach): Delete.
614 2016-10-25 Maciej W. Rozycki <macro@imgtec.com>
616 * elfxx-mips.c (STUB_JALR): Correct description.
618 2016-10-20 Nick Clifton <nickc@redhat.com>
620 * po/gas.pot: Regenerate.
622 2016-10-19 Nick Clifton <nickc@redhat.com>
624 * aout-adobe.c: Add missing c-format tags for translatable strings.
625 * aout-cris.c: Likewise.
628 * binary.c: Likewise.
630 * coff-alpha.c: Likewise.
631 * coff-arm.c: Likewise.
632 * coff-i860.c: Likewise.
633 * coff-mcore.c: Likewise.
634 * coff-ppc.c: Likewise.
635 * coff-rs6000.c: Likewise.
636 * coff-sh.c: Likewise.
637 * coff-tic4x.c: Likewise.
638 * coff-tic54x.c: Likewise.
639 * coff-tic80.c: Likewise.
640 * coff64-rs6000.c: Likewise.
641 * coffcode.h: Likewise.
642 * coffgen.c: Likewise.
643 * cofflink.c: Likewise.
644 * coffswap.h: Likewise.
645 * cpu-arm.c: Likewise.
646 * dwarf2.c: Likewise.
648 * elf-attrs.c: Likewise.
649 * elf-eh-frame.c: Likewise.
650 * elf-ifunc.c: Likewise.
651 * elf-m10300.c: Likewise.
652 * elf-s390-common.c: Likewise.
654 * elf32-arc.c: Likewise.
655 * elf32-arm.c: Likewise.
656 * elf32-avr.c: Likewise.
657 * elf32-bfin.c: Likewise.
658 * elf32-cr16.c: Likewise.
659 * elf32-cr16c.c: Likewise.
660 * elf32-cris.c: Likewise.
661 * elf32-crx.c: Likewise.
662 * elf32-d10v.c: Likewise.
663 * elf32-d30v.c: Likewise.
664 * elf32-epiphany.c: Likewise.
665 * elf32-fr30.c: Likewise.
666 * elf32-frv.c: Likewise.
667 * elf32-gen.c: Likewise.
668 * elf32-hppa.c: Likewise.
669 * elf32-i370.c: Likewise.
670 * elf32-i386.c: Likewise.
671 * elf32-i960.c: Likewise.
672 * elf32-ip2k.c: Likewise.
673 * elf32-iq2000.c: Likewise.
674 * elf32-lm32.c: Likewise.
675 * elf32-m32c.c: Likewise.
676 * elf32-m32r.c: Likewise.
677 * elf32-m68hc11.c: Likewise.
678 * elf32-m68hc12.c: Likewise.
679 * elf32-m68hc1x.c: Likewise.
680 * elf32-m68k.c: Likewise.
681 * elf32-mcore.c: Likewise.
682 * elf32-mep.c: Likewise.
683 * elf32-metag.c: Likewise.
684 * elf32-microblaze.c: Likewise.
685 * elf32-moxie.c: Likewise.
686 * elf32-msp430.c: Likewise.
687 * elf32-mt.c: Likewise.
688 * elf32-nds32.c: Likewise.
689 * elf32-nios2.c: Likewise.
690 * elf32-or1k.c: Likewise.
691 * elf32-pj.c: Likewise.
692 * elf32-ppc.c: Likewise.
693 * elf32-rl78.c: Likewise.
694 * elf32-rx.c: Likewise.
695 * elf32-s390.c: Likewise.
696 * elf32-score.c: Likewise.
697 * elf32-score7.c: Likewise.
698 * elf32-sh-symbian.c: Likewise.
699 * elf32-sh.c: Likewise.
700 * elf32-sh64.c: Likewise.
701 * elf32-spu.c: Likewise.
702 * elf32-tic6x.c: Likewise.
703 * elf32-tilepro.c: Likewise.
704 * elf32-v850.c: Likewise.
705 * elf32-vax.c: Likewise.
706 * elf32-visium.c: Likewise.
707 * elf32-xgate.c: Likewise.
708 * elf32-xtensa.c: Likewise.
709 * elf64-alpha.c: Likewise.
710 * elf64-gen.c: Likewise.
711 * elf64-hppa.c: Likewise.
712 * elf64-ia64-vms.c: Likewise.
713 * elf64-mmix.c: Likewise.
714 * elf64-ppc.c: Likewise.
715 * elf64-s390.c: Likewise.
716 * elf64-sh64.c: Likewise.
717 * elf64-sparc.c: Likewise.
718 * elf64-x86-64.c: Likewise.
719 * elfcode.h: Likewise.
720 * elfcore.h: Likewise.
721 * elflink.c: Likewise.
722 * elfnn-aarch64.c: Likewise.
723 * elfnn-ia64.c: Likewise.
724 * elfxx-mips.c: Likewise.
725 * elfxx-sparc.c: Likewise.
726 * elfxx-tilegx.c: Likewise.
729 * libbfd.c: Likewise.
730 * linker.c: Likewise.
731 * m68klinux.c: Likewise.
732 * mach-o.c: Likewise.
737 * pe-mips.c: Likewise.
738 * peXXigen.c: Likewise.
739 * pei-x86_64.c: Likewise.
740 * peicode.h: Likewise.
741 * ppcboot.c: Likewise.
743 * sparclinux.c: Likewise.
746 * vms-alpha.c: Likewise.
747 * vms-lib.c: Likewise.
748 * xcofflink.c: Likewise.
750 2016-10-18 Nick Clifton <nickc@redhat.com>
752 * po/da.po: Updated Danish translation.
754 2016-10-18 Maciej W. Rozycki <macro@imgtec.com>
756 * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
759 2016-10-18 Maciej W. Rozycki <macro@imgtec.com>
761 * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
762 variable to `reloc_index'.
764 2016-10-12 Alan Modra <amodra@gmail.com>
766 * section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting.
767 (STD_SECTION): Adjust to suit.
768 * elf.c (_bfd_elf_large_com_section): Likewise.
769 * bfd-in2.h: Regenerate.
771 2016-10-11 Alan Modra <amodra@gmail.com>
773 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
774 defined temporarily with bfd_und_section.
775 * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
776 * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
777 symbols with bfd_und_section.
779 2016-10-07 Alan Modra <amodra@gmail.com>
781 * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
782 obfd param with struct bfd_link_info param. Update all callers.
783 * linker.c (bfd_merge_private_bfd_data): Likewise.
784 (_bfd_generic_verify_endian_match): Likewise.
785 * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
786 * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
787 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
788 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
789 (_bfd_elf_merge_object_attributes): Likewise.
790 * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
791 * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
792 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
793 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
794 (elf32_arm_merge_private_bfd_data): Likewise.
795 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
796 * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
797 * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
798 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
799 * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
800 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
801 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
802 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
803 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
804 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
805 * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
806 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
807 * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
808 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
809 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
810 (elf32_msp430_merge_private_bfd_data): Likewise.
811 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
812 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
813 * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
814 * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
815 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
816 (ppc_elf_merge_obj_attributes): Likewise.
817 (ppc_elf_merge_private_bfd_data): Likewise.
818 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
819 * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
820 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
821 * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
822 (elf32_score_merge_private_bfd_data): Likewise.
823 * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
824 * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
825 * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
826 * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
827 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
828 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
829 (elf32_tic6x_merge_private_bfd_data): Likewise.
830 * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
831 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
832 * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
833 * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
834 * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
835 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
836 * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
837 * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
838 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
839 * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
840 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
841 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
842 (mips_elf_merge_obj_attributes): Likewise.
843 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
844 * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
845 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
846 * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
847 * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
848 * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
849 * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
850 * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
851 * bfd-in2.h: Regenerate.
852 * libbfd.h: Regenerate.
854 2016-10-07 Alan Modra <amodra@gmail.com>
856 * Makefile.am (LIBBFD_H_FILES): Update.
857 * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
858 * cpu-sh.c (sh_merge_bfd_arch): Move to..
859 * elf32-sh.c: ..here, and make static.
860 * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
862 * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
863 _bfd_generic_verify_endian_match.
864 * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
865 (bfd_elf32_bfd_merge_private_bfd_data): Define as
866 _bfd_generic_verify_endian_match.
867 * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
869 * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
870 (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
871 * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
872 * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
873 * libbfd.c (_bfd_generic_verify_endian_match): Move to..
874 * linker.c: ..here, and make internal.
875 * bfd.c (bfd_merge_private_bfd_data): Move to..
877 * Makefile.in: Regenerate.
878 * doc/Makefile.in: Regenerate.
879 * bfd-in2.h: Regenerate.
880 * libbfd.h: Regenerate.
882 2016-10-06 Alan Modra <amodra@gmail.com>
884 * coff-h8300.c: Spell fall through comments consistently.
885 * coffgen.c: Likewise.
886 * elf32-hppa.c: Likewise.
887 * elf32-ppc.c: Likewise.
888 * elf32-score.c: Likewise.
889 * elf32-score7.c: Likewise.
890 * elf64-ppc.c: Likewise.
891 * elfxx-aarch64.c: Likewise.
892 * elfxx-mips.c: Likewise.
893 * cpu-ns32k.c: Add missing fall through comments.
894 * elf-m10300.c: Likewise.
895 * elf32-arm.c: Likewise.
896 * elf32-avr.c: Likewise.
897 * elf32-bfin.c: Likewise.
898 * elf32-frv.c: Likewise.
899 * elf32-i386.c: Likewise.
900 * elf32-microblaze.c: Likewise.
901 * elf32-nds32.c: Likewise.
902 * elf32-ppc.c: Likewise.
903 * elf32-rl78.c: Likewise.
904 * elf32-rx.c: Likewise.
905 * elf32-s390.c: Likewise.
906 * elf32-sh.c: Likewise.
907 * elf32-tic6x.c: Likewise.
908 * elf64-ia64-vms.c: Likewise.
909 * elf64-ppc.c: Likewise.
910 * elf64-s390.c: Likewise.
911 * elf64-x86-64.c: Likewise.
912 * elflink.c: Likewise.
913 * elfnn-aarch64.c: Likewise.
914 * elfnn-ia64.c: Likewise.
919 * versados.c: Likewise.
921 2016-10-06 Alan Modra <amodra@gmail.com>
923 * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
925 * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
926 * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
928 2016-10-06 Alan Modra <amodra@gmail.com>
930 * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
931 OR in arithmetic expression, not boolean OR.
933 2016-09-30 Alan Modra <amodra@gmail.com>
935 * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
936 as per comment at head of bfd-in2.h.
937 * Makefile.in: Regenerate.
939 2016-09-30 Alan Modra <amodra@gmail.com>
941 * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
942 _bfd_error_handler (...) throughout.
943 * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
944 * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
945 * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
946 * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
947 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
948 * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
949 * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
950 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
951 * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
952 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
953 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
954 * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
955 * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
956 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
957 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
958 * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
959 * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
960 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
961 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
962 * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
963 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
964 * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
965 * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
966 * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
967 * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
968 * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
969 * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
970 * xcofflink.c: Likewise.
972 2016-09-30 Alan Modra <amodra@gmail.com>
974 * bfd-in.h: Include stdarg.h.
975 * bfd.c (bfd_error_handler_type): Make like vprintf.
976 (_bfd_error_internal): Rename from _bfd_error_handler. Make static.
977 (error_handler_internal): New function, split out from..
978 (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler.
979 (bfd_set_error_handler): Update.
980 (bfd_get_error_handler, bfd_get_assert_handler): Delete.
981 (_bfd_assert_handler): Make static.
982 * coffgen.c (null_error_handler): Update params.
983 * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
984 Don't use bfd_error_handler_type.
985 * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
986 * elfxx-target.h (elf_backend_link_order_error_handler): Default
987 to _bfd_error_handler.
988 * libbfd-in.h (_bfd_default_error_handler): Don't declare.
989 (bfd_assert_handler_type): Likewise.
990 (_bfd_error_handler): Update.
991 * bfd-in2.h: Regenerate.
992 * libbfd.h: Regenerate.
994 2016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
997 * elf-bfd.h (struct elf_backend_data): Delete
998 elf_backend_count_output_relocs callback and add
999 elf_backend_update_relocs.
1000 * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
1001 (emit_relocs): Deleted.
1002 (elf32_arm_emit_relocs): Deleted.
1003 (elf_backend_emit_relocs): Updated not to use the old functions.
1004 (elf32_arm_update_relocs): New function.
1005 (elf_backend_update_relocs): New define.
1006 * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
1007 relocation count. Call elf_backend_emit_relocs.
1008 (_bfd_elf_size_reloc_section): Do not call
1009 elf_backend_count_output_relocs.
1010 * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
1011 (elf_backend_update_relocs): New define.
1013 2016-09-28 Christophe Lyon <christophe.lyon@linaro.org>
1016 * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
1017 Thumb-ARM stub is too far.
1019 2016-09-27 Nick Clifton <nickc@redhat.com>
1022 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
1023 timestamp field if real time values are not being stored.
1025 2016-09-26 Vlad Zakharov <vzakhar@synopsys.com>
1027 * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
1028 to verify CC_FOR_BUILD compiler.
1029 (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
1030 and add CC_FOR_BUILD compiler checks.
1031 * Makefile.in: Regenerate.
1032 * configure: Likewise.
1033 * doc/Makefile.in: Likewise.
1035 2016-09-26 Awson <kyrab@mail.ru>
1038 * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
1039 for R_AMD64_PCRQUAD relocations.
1041 2016-09-26 Alan Modra <amodra@gmail.com>
1043 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
1044 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
1045 (ppc_elf_merge_obj_attributes): Use it. Don't copy first file
1046 attributes, merge them. Don't warn about undefined tag bits,
1047 or copy unknown values to output.
1048 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
1049 _bfd_elf_ppc_merge_fp_attributes.
1051 2016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
1054 * elf-bfd.h (struct elf_backend_data): Add
1055 elf_backend_count_output_relocs callback to count relocations in
1057 * elf-arm.c (elf32_arm_add_relocation): Deleted.
1058 (elf32_arm_write_section): Move additional relocation to emit_relocs.
1059 (elf32_arm_count_output_relocs): New function.
1060 (emit_relocs): New function.
1061 (elf32_arm_emit_relocs): New function.
1062 (elf32_arm_vxworks_emit_relocs): New function.
1063 (elf_backend_emit_relocs): Updated to use the new functions.
1064 (elf_backend_count_output_relocs): New define.
1065 * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
1066 to the relocation count.
1067 (_bfd_elf_link_size_reloc_section): Use callback to count the
1068 relocations which will be in output.
1069 (_bfd_elf_default_count_output_relocs): New function.
1070 * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
1072 2016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com>
1074 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
1075 negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
1076 bigger than 0x1000 bytes.
1078 2016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
1080 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
1083 2016-09-14 Nick Clifton <nickc@redhat.com>
1086 * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
1087 contains a valid size for the Debug directory.
1089 2016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com>
1091 * format.c (struct bfd_preserve): New "build_id" field.
1092 (bfd_preserve_save): Save "build_id".
1093 (bfd_preserve_restore): Restore "build_id".
1095 2016-09-06 H.J. Lu <hongjiu.lu@intel.com>
1098 * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
1099 relocation with copy relocation when building executable.
1101 2016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1104 * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
1105 delete_shrinks_insn. Modify computation of shrinked_insn_address.
1106 Compute shrink_boundary and adjust addend only if
1107 addend_within_shrink_boundary.
1108 (elf32_avr_relax_section): Modify calls to
1109 elf32_avr_relax_delete_bytes to pass extra parameter.
1111 2016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
1113 * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
1114 array of bytes and use bfd_get_16 to interpret its encoding according
1115 to endianness of target.
1117 2016-09-01 Alan Modra <amodra@gmail.com>
1119 * elf64-ppc.c (synthetic_opd): New static var.
1120 (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
1121 (ppc64_elf_get_synthetic_symtab): Likewise. Comment.
1123 2016-08-31 Alan Modra <amodra@gmail.com>
1125 * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead,
1126 track max group size with a new "group_size" var that is reduced
1127 by a factor of 1024 from the 24-bit branch size whenever a 14-bit
1130 2016-08-31 Alan Modra <amodra@gmail.com>
1132 * elf32-ppc.c (ppc_elf_section_processing): Delete.
1133 (elf_backend_section_processing): Don't define.
1134 (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't
1135 split on non-exec sections differing in SHF_PPC_VLE. When
1136 splitting segments, mark size invalid.
1138 2016-08-30 Alan Modra <amodra@gmail.com>
1141 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
1143 2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
1147 * elf32-i386.c (elf_i386_check_relocs): Issue an error when
1148 R_386_PC32 relocation is used to call IFUNC function in PIC
1151 2016-08-27 Alan Modra <amodra@gmail.com>
1154 * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
1155 have corresponding SHF_GROUP sections.
1156 (bfd_elf_set_group_contents): Comment.
1158 2016-08-27 Alan Modra <amodra@gmail.com>
1161 * elf64-ppc.c (pc_dynrelocs): New function.
1162 (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
1163 handle pic dynamic relocs.
1165 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1167 * bfd-in.h (struct elf32_arm_params): Define.
1168 (bfd_elf32_arm_set_target_relocs): Rename into ...
1169 (bfd_elf32_arm_set_target_params): This. Use a struct
1170 elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
1171 * bfd-in2.h: Regenerate.
1172 * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
1173 (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
1174 elf32_arm_params rather than as individual parameters.
1176 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1178 * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
1179 passed the end of htab->stub_group array.
1180 (elf32_arm_create_or_find_stub_sec): Likewise.
1181 (elf32_arm_create_stub): Likewise.
1183 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1185 * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
1186 to TRUE for GOT and TLS relocs.
1188 2016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
1190 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
1192 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1194 * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
1195 * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
1196 (struct elf_arc_link_hash_table): Likewise.
1197 (elf_arc_link_hash_newfunc): Likewise.
1198 (elf_arc_link_hash_table_free): Likewise.
1199 (arc_elf_link_hash_table_create): Likewise.
1200 (elf_arc_relocate_section): Fixed conditions related to dynamic
1201 (elf_arc_check_relocs): Likewise.
1202 (arc_elf_create_dynamic_sections): Added
1203 (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
1204 through the hash table.
1206 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1208 * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
1209 debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
1212 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1214 * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
1216 * bfd-in2.h: Regenerated from the previous changes.
1217 * libbfd.h: Regenerated from the previous changes.
1219 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1221 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
1222 the input import library bfd.
1223 * bfd-in2.h: Regenerate.
1224 * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
1225 and new_cmse_stub_offset fields.
1226 (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
1228 (elf32_arm_add_stub): Likewise for stub_offset.
1229 (arm_new_stubs_start_offset_ptr): New function.
1230 (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
1231 empty SG veneers to have zero relocations.
1232 (arm_size_one_stub): Only initialize stub size and template
1233 information for non empty veneers. Do not update veneer section size
1234 if veneer already has an offset.
1235 (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
1236 of a boolean indicating success or failure.
1237 (cmse_scan): Change stub_changed parameter into an integer pointer
1238 parameter cmse_stub_created to count the number of stub created and
1239 adapt to change of return value in elf32_arm_create_stub.
1240 (cmse_entry_fct_p): New function.
1241 (arm_list_new_cmse_stub): Likewise.
1242 (set_cmse_veneer_addr_from_implib): Likewise.
1243 (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
1244 cmse_scan instead of that of cmse_stub_changed to compute the number
1245 of stub created and use it to initialize stub_changed. Call
1246 set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
1247 of return value in elf32_arm_create_stub. Use
1248 arm_stub_section_start_offset () if not NULL to initialize size of
1249 secure gateway veneers section. Initialize stub_offset of Cortex-A8
1250 erratum fix to -1. Use ret to hold return value.
1251 (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
1252 NULL to initialize size of secure gateway veneers section. Adapt
1253 comment to stress the importance of zeroing veneer section content.
1254 (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
1255 initialize eponymous field in struct elf32_arm_link_hash_table.
1257 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
1259 * elf32-s390.c (stdarg.h): New include.
1260 (elf_s390_grok_psinfo): New function.
1261 (elf_s390_write_core_note): New function.
1262 (elf_backend_grok_psinfo): Declare backend hook.
1263 (elf_backend_write_core_note): Likewise.
1264 * elf64-s390.c (stdarg.h): New include.
1265 (elf_s390_grok_prstatus): New function.
1266 (elf_s390_grok_psinfo): New function.
1267 (elf_s390_write_core_note): New function.
1268 (elf_backend_grok_prstatus): Declare backend hook.
1269 (elf_backend_grok_psinfo): Likewise.
1270 (elf_backend_write_core_note): Likewise.
1272 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
1274 * elf32-s390.c (allocate_dynrelocs): Fix indentation.
1275 (elf_s390_finish_ifunc_symbol): Likewise.
1276 (elf_s390_finish_dynamic_symbol): Likewise.
1277 (elf_s390_finish_dynamic_sections): Likewise.
1278 (elf_s390_grok_prstatus): Likewise.
1279 * elf64-s390.c (elf_s390_hash_table): Fix indentation.
1280 (elf_s390_finish_dynamic_symbol): Likewise.
1282 2016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
1284 * elf32-arc.c (elf32_arc_grok_prstatus): New function.
1286 2016-08-23 Nick Clifton <nickc@redhat.com>
1288 * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
1289 there is no arm data associated with the section.
1291 2016-08-23 Alan Modra <amodra@gmail.com>
1294 * elf32-or1k.c (or1k_elf_relocate_section): Offset from
1295 _GLOBAL_OFFSET_TABLE_, not start of .got section.
1297 2016-08-22 Nick Clifton <nickc@redhat.com>
1299 * doc/chew.c (main): Free the string buffer used to files as they
1302 2016-08-22 Alan Modra <amodra@gmail.com>
1304 * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
1305 (ppc_elf_relocate_section): ..to here. Comment. Error on
1306 detecting -mbss-plt -fPIC local ifuncs too.
1307 (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
1308 branch table entries.
1310 2016-08-19 Nick Clifton <nickc@redhat.com>
1312 * elf.c (assign_section_numbers): Assign number for the .shstrtab
1313 section after the symbol table and string table sections.
1315 2016-08-19 Alan Modra <amodra@gmail.com>
1317 * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
1318 (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
1319 dyn_relocs for weakdefs.
1320 (alias_readonly_dynrelocs): New function.
1321 (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
1322 (ppc64_elf_relocate_section): Simplify condition under which
1323 dyn_relocs are emitted.
1325 2016-08-19 Alan Modra <amodra@gmail.com>
1328 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
1329 (readonly_dynrelocs): Comment fix.
1330 (global_entry_stub): New function.
1331 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
1332 ELFv2 code deciding on dynamic relocs vs. global entry stubs to
1333 that in size_global_entry_stubs, handling ifunc too. Delete dead
1335 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
1336 dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
1337 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
1338 undefweak syms. Expand and correct comments.
1339 (size_global_entry_stubs): Ensure symbol is defined.
1340 (ppc64_elf_relocate_section): Match condition under which
1341 dyn_relocs are emitted to that in allocate_dynrelocs.
1343 2016-08-12 Alan Modra <amodra@gmail.com>
1345 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
1346 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
1347 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
1349 2016-08-11 Alan Modra <amodra@gmail.com>
1351 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
1352 non_got_ref true in any case where we could have generated dynbss
1353 copies but decide not to do so.
1355 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1357 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
1358 the stub address retrieved if associated with a microMIPS
1361 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1363 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
1364 stub also add STO_MICROMIPS annotation.
1366 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1368 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
1369 in microMIPS LA25 stub references.
1371 2016-08-09 Jiaming Wei <jmwei@hxgpt.com>
1373 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
1374 adjusting the use_count of merged .got entries.
1376 2016-08-08 Nick Clifton <nickc@redhat.com>
1378 * doc/chew.c (delete_string): Only free the string buffer if it is
1379 there. Mark the buffer as NULL after freeing.
1380 (drop): Free the dropped string.
1381 (free_words): New function: Frees the memory allocated to the
1383 (add_instrinsic): Duplicate the name string, so that it can be
1385 (compile): Free unused words.
1386 (main): Free the dictionary and top level string buffers at the
1389 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1391 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
1392 * bfd-in2.h: Regenerate.
1393 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
1395 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
1396 cmse_implib field in struct elf32_arm_link_hash_table.
1397 (elf32_arm_filter_cmse_symbols): New function.
1398 (elf32_arm_filter_implib_symbols): Likewise.
1399 (elf_backend_filter_implib_symbols): Define to
1400 elf32_arm_filter_implib_symbols.
1402 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1404 * elf32-arm.c (CMSE_PREFIX): Define macro.
1405 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
1406 (cmse_branch_thumb_only): Declare stub.
1407 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
1408 (elf32_arm_get_plt_info): Add globals parameter. Use it to return
1409 FALSE if there is no PLT.
1410 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
1411 (elf32_arm_final_link_relocate): Likewise.
1412 (elf32_arm_gc_sweep_hook): Likewise.
1413 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
1414 secure entry functions.
1415 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
1416 (arm_dedicated_stub_output_section_required): Change to a switch case
1417 and add a case for arm_stub_cmse_branch_thumb_only.
1418 (arm_dedicated_stub_output_section_required_alignment): Likewise.
1419 (arm_stub_dedicated_output_section_name): Likewise.
1420 (arm_stub_dedicated_input_section_ptr): Likewise and remove
1421 ATTRIBUTE_UNUSED for htab parameter.
1422 (arm_stub_required_alignment): Likewise.
1423 (arm_stub_sym_claimed): Likewise.
1424 (arm_dedicated_stub_section_padding): Likewise.
1425 (cmse_scan): New function.
1426 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
1427 Set stub_changed to TRUE if such veneers were created.
1428 (elf32_arm_swap_symbol_in): Add detection code for CMSE special
1431 2016-08-02 Alan Modra <amodra@gmail.com>
1434 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
1436 2016-08-02 Nick Clifton <nickc@redhat.com>
1439 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
1440 (elf_backend_sweep_hook): Delete.
1442 2016-08-01 Andrew Jenner <andrew@codesourcery.com>
1443 Kwok Cheung Yeung <kcy@codesourcery.com>
1445 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
1446 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
1447 (ppc_elf_vle_split16): Clear field before inserting.
1449 2016-08-01 Nick Clifton <nickc@redhat.com>
1451 * po/sv.po: Updated Swedish translation.
1453 2016-07-27 Ozkan Sezer <sezeroz@gmail.com>
1454 Nick Clifton <nickc@redhat.com>
1457 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
1458 of the coff_section_data before using it.
1460 2016-07-26 Maciej W. Rozycki <macro@imgtec.com>
1462 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
1463 in PLT compression selection.
1464 (_bfd_mips_elf_check_relocs): Likewise.
1466 2016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
1468 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
1469 case where there's no elf_link_hash_entry while processing
1470 GOT_NORMAL got entries.
1472 2016-07-21 H.J. Lu <hongjiu.lu@intel.com>
1474 * version.m4 (BFD_VERSION): Set to 2.27.51.
1475 * configure: Regenerated.
1477 2016-07-21 Nick Clifton <nickc@redhat.com>
1479 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
1480 (swap_out_syms): Return an error when not finding ELF output
1481 section rather than asserting.
1483 2016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
1485 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
1487 2016-07-20 John Baldwin <jhb@FreeBSD.org>
1489 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
1490 and handle pr_pid if present.
1492 2016-07-20 H.J. Lu <hongjiu.lu@intel.com>
1495 * elf.c (assign_file_positions_for_load_sections): Also check
1496 p_paddr for program header space.
1498 2016-07-20 Alan Modra <amodra@gmail.com>
1500 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
1501 ppc64_elf_unhandled_reloc for special_function.
1502 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
1504 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
1506 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
1508 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
1509 corresponding error message.
1511 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
1513 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
1514 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
1515 (branch_reloc_p): New function.
1516 (mips_elf_calculate_relocation): Handle ISA mode determination
1517 for relocations against section symbols, against absolute
1518 symbols and absolute relocations. Also set `*cross_mode_jump_p'
1520 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
1521 checks for weak undefined symbols. Also check target alignment
1522 within the same ISA mode.
1523 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
1524 in the alignment check.
1525 <R_MICROMIPS_PC7_S1>: Add an alignment check.
1526 <R_MICROMIPS_PC10_S1>: Likewise.
1527 <R_MICROMIPS_PC16_S1>: Likewise.
1528 (mips_elf_perform_relocation): Report a failure for unsupported
1529 same-mode JALX instructions and cross-mode branches.
1530 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
1531 error messages for jumps to misaligned addresses.
1533 2016-07-16 Alan Modra <amodra@gmail.com>
1535 * elflink.c: Include plugin-api.h.
1536 * plugin.c (bfd_plugin_open_input): New function, extracted from..
1537 (try_claim): ..here.
1538 * plugin.h: Don't include bfd.h.
1539 (bfd_plugin_open_input): Declare.
1541 2016-07-16 Alan Modra <amodra@gmail.com>
1543 * targets.c (bfd_seach_for_target): Rename to..
1544 (bfd_iterate_over_targets): ..this. Rewrite doc.
1545 * bfd-in2.h: Regenerate.
1547 2016-07-16 Alan Modra <amodra@gmail.com>
1549 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
1550 * libbfd.h: Regenerate.
1551 * bfd-in2.h: Regenerate.
1553 2016-07-16 Alan Modra <amodra@gmail.com>
1555 * libbfd-in.h (BFD_ALIGN): Move to..
1557 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
1558 * elf32-ppc.c (default_params): Adjust init.
1559 (ppc_elf_link_params): Set pagesize_p2.
1560 * libbfd.h: Regenerate.
1561 * bfd-in2.h: Regenerate.
1563 2016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1565 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
1566 (_bfd_elf_filter_global_symbols): Declare.
1567 * elf.c (_bfd_elf_filter_global_symbols): New function.
1568 * elflink.c (elf_filter_global_symbols): Likewise.
1569 (elf_output_implib): Likewise.
1570 (bfd_elf_final_link): Call above function, failing if it does.
1571 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
1573 (elf_backend_copy_indirect_symbol): Fix spacing.
1574 (elf_backend_hide_symbol): Likewise.
1575 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
1577 2016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
1578 Nick Clifton <nickc@redhat.com>
1580 * elf32-arc.c (PR_DEBUG): Delete.
1581 Fix printing of debug information. Fix formatting of debug
1583 (debug_arc_reloc): Handle symbols that are not from an input file.
1584 (arc_do_relocation): Remove excessive exclamation points.
1586 * arc-got.h: Fix formatting. Fix printing of debug information.
1587 (new_got_entry_to_list): Use xmalloc.
1588 * config.bfd: use the big-endian arc vector as the default vector
1589 for big-endian arc targets.
1591 2016-07-15 Alan Modra <amodra@gmail.com>
1593 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
1594 from marking sym_indices.
1596 2016-07-14 Maciej W. Rozycki <macro@imgtec.com>
1598 * reloc.c (bfd_perform_relocation): Try the `howto' handler
1599 first with relocations against absolute symbols.
1600 (bfd_install_relocation): Likewise.
1602 2016-07-12 H.J. Lu <hongjiu.lu@intel.com>
1604 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1605 .got/.got.plt sections to 8 bytes.
1607 2016-07-12 Nick Clifton <nickc@redhat.com>
1609 * binary.c (binary_set_section_contents): Second grammar fix.
1611 2016-07-12 Douglas B Rupp <rupp@adacore.com>
1613 * binary.c (binary_set_section_contents): Fix grammar in warning
1616 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
1618 * elf32-arc.c: made PR_DEBUG always defined.
1620 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
1622 * arc-got.h: Moved got related structures from elf32-arc.c to
1623 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
1624 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
1625 tls_type_for_reloc, symbol_has_entry_of_type,
1626 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
1627 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
1628 relocate_fix_got_relocs_for_got_info,
1629 create_got_dynrelocs_for_single_entry,
1630 create_got_dynrelocs_for_got_info): Added to file.
1631 * elf32-arc.c: Removed GOT & TLS related structs and functions to
1634 2016-07-08 James Bowman <james.bowman@ftdichip.com>
1636 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
1638 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
1640 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
1641 (THUMB32_MOVW): Likewise.
1642 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
1643 (DEF_STUBS): Define long_branch_thumb2_only_pure.
1644 (arm_stub_is_thumb): Add new veneer stub.
1645 (arm_type_of_stub): Use new veneer.
1646 (arm_stub_required_alignment): Add new veneer.
1648 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
1650 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
1651 (SEC_ELF_PURECODE): ... this.
1652 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
1654 (elf32_arm_fake_sections): Likewise.
1655 (elf_32_arm_section_flags): Likewise.
1656 (elf_32_arm_lookup_section_flags): Likewise.
1657 * section.c (SEC_ELF_NOREAD): Rename to ...
1658 (SEC_ELF_PURECODE): ... this.
1660 2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
1662 * elf32-arm.c (using_thumb2_bl): New function.
1663 (arm_type_of_stub): Declare thumb2 variable together and change type
1664 to bfd_boolean. Use using_thumb2_bl () to determine whether
1665 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
1666 checked for BL range.
1667 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
1668 the bit size of BL offset.
1670 2016-06-29 Nick Clifton <nickc@redhat.com>
1672 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
1673 Returns TRUE for AArch64 mapping symbols.
1674 (elfNN_aarch64_backend_symbol_processing): New function. Marks
1675 mapping symbols as precious in object files so that they will not
1677 (elf_backend_symbol_processing): Define.
1679 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
1680 for ARM mapping symbols.
1681 (elf32_arm_backend_symbol_processing): Make use of the new function.
1683 2016-06-28 H.J. Lu <hongjiu.lu@intel.com>
1686 * elflink.c (elf_link_check_versioned_symbol): Return false
1687 for unreferenced undefined symbol.
1689 2016-06-28 Nick Clifton <nickc@redhat.com>
1691 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
1694 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
1695 function. Marks mapping symbols in object files as precious, so
1696 that strip will not remove them.
1697 (elf_backend_symbol_processing): Define.
1699 2016-06-28 James Clarke <jrtc27@jrtc27.com>
1701 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
1702 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
1704 2016-06-28 Maciej W. Rozycki <macro@imgtec.com>
1706 * elf32-mips.c (elf_mips16_howto_table_rel): Add
1708 (mips16_reloc_map): Likewise.
1709 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
1710 (mips16_elf64_howto_table_rela): Likewise.
1711 (mips16_reloc_map): Likewise.
1712 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
1713 (elf_mips16_howto_table_rela): Likewise.
1714 (mips16_reloc_map): Likewise.
1715 * elfxx-mips.c (mips16_branch_reloc_p): New function.
1716 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
1717 (b_reloc_p): Likewise.
1718 (mips_elf_calculate_relocation): Likewise.
1719 (_bfd_mips_elf_check_relocs): Likewise.
1720 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
1721 * bfd-in2.h: Regenerate.
1722 * libbfd.h: Regenerate.
1724 2016-06-27 Alan Modra <amodra@gmail.com>
1727 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
1728 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
1730 (ppc64_elf_size_stubs): Adjust to suit.
1732 2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1734 * elf32-dlx.h: New file.
1735 * elf32-dlx.c: Adjust.
1737 2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1739 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
1741 2016-06-24 John Baldwin <jhb@FreeBSD.org>
1743 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
1746 2016-06-24 John Baldwin <jhb@FreeBSD.org>
1748 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
1749 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
1750 (elfcore_grok_freebsd_psinfo): New function.
1751 (elfcore_grok_freebsd_prstatus): New function.
1752 (elfcore_grok_freebsd_note): New function.
1753 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
1756 2016-06-24 Joel Brobecker <brobecker@adacore.com>
1758 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
1761 2016-06-24 Alan Modra <amodra@gmail.com>
1763 * config.bfd: Delete mips vxworks patterns matched earlier.
1764 Combine mips*-*-none with mips*-*-elf*.
1766 2016-06-21 Maciej W. Rozycki <macro@imgtec.com>
1768 * elfxx-mips.c (mips_elf_perform_relocation): Call
1769 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
1770 use the `%X%H' format for the cross-mode jump conversion error
1771 message. Remove the full stop from the end of the message.
1772 Continue processing rather than returning failure.
1774 2016-06-21 Graham Markall <graham.markall@embecosm.com>
1776 * archures.c: Remove bfd_mach_arc_nps400.
1777 * bfd-in2.h: Likewise.
1778 * cpu-arc.c (arch_info_struct): Likewise.
1779 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
1782 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
1786 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
1788 (elf_link_is_defined_archive_symbol): Call
1789 bfd_link_plugin_object_p on unknown plugin object and use the
1790 IR symbol table if the input is an IR object.
1791 * plugin.c (bfd_link_plugin_object_p): New function.
1792 * plugin.h (bfd_link_plugin_object_p): New prototype.
1794 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
1797 * elflink.c (elf_link_add_object_symbols): Don't check alignment
1798 on symbol from plugin dummy input.
1800 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
1802 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
1804 * bfd-in2.h: Regenerated.
1805 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
1806 with bfd_plugin_unknown.
1808 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
1811 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
1812 bfd_boolean argument.
1813 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
1814 "shared object" with "PIC object" in comments.
1815 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
1816 "shared object" with "PIC object" in comments. Avoid PLT if
1817 requested. Generate dynamic relocations for non-GOT references.
1818 Make room for the special first entry in PLT and allocate PLT
1819 entry only for PLT and PC-relative references. Store dynamic
1820 GOT relocations in .rel[a].iplt section for static executables.
1821 If PLT isn't used, always use GOT for symbol value. Don't
1822 allocate GOT entry if it isn't used.
1823 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1824 count only in the code section. Allocate dynamic pointer
1825 relocation against STT_GNU_IFUNC symbol in the non-code section.
1826 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
1827 only for PC-relative references.
1828 (elf_i386_allocate_dynrelocs): Pass TRUE to
1829 _bfd_elf_allocate_ifunc_dyn_relocs.
1830 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
1831 relocations against STT_GNU_IFUNC symbols without PLT. Generate
1832 dynamic pointer relocation against STT_GNU_IFUNC symbol in
1833 the non-code section and store it in the proper REL section.
1834 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
1836 (elf_i386_finish_dynamic_symbol): Generate dynamic
1837 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
1838 STT_GNU_IFUNC symbols without PLT.
1839 (elf_i386_finish_dynamic_sections): Don't handle local
1840 STT_GNU_IFUNC symbols here.
1841 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
1843 (elf_backend_output_arch_local_syms): New.
1844 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
1845 count only in the code section. Allocate dynamic pointer
1846 relocation against STT_GNU_IFUNC symbol in the non-code section.
1847 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
1848 count only for PC-relative references.
1849 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
1850 _bfd_elf_allocate_ifunc_dyn_relocs.
1851 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
1852 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
1853 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
1854 without PLT. Generate dynamic pointer relocation against
1855 STT_GNU_IFUNC symbol in the non-code section and store it in
1856 the proper RELA section. Don't allow non-pointer relocation
1857 against STT_GNU_IFUNC symbol without PLT.
1858 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
1859 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
1860 STT_GNU_IFUNC symbols without PLT.
1861 (elf_x86_64_finish_dynamic_sections): Don't handle local
1862 STT_GNU_IFUNC symbols here.
1863 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
1865 (elf_backend_output_arch_local_syms): New.
1866 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1867 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
1869 2016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
1870 Tony Wang <tony.wang@arm.com>
1872 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
1874 (stub_long_branch_thumb2_only): Define stub.
1875 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
1876 (arm_stub_long_branch_thumb2_only): Likewise.
1877 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
1880 2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
1882 * archures.c (bfd_mach_sparc_v8plusc): Define.
1883 (bfd_mach_sparc_v9c): Likewise.
1884 (bfd_mach_sparc_v8plusd): Likewise.
1885 (bfd_mach_sparc_v9d): Likewise.
1886 (bfd_mach_sparc_v8pluse): Likewise.
1887 (bfd_mach_sparc_v9e): Likewise.
1888 (bfd_mach_sparc_v8plusv): Likewise
1889 (bfd_mach_sparc_v9v): Likewise.
1890 (bfd_mach_sparc_v8plusm): Likewise.
1891 (bfd_mach_sparc_v9m): Likewise.
1892 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
1893 (bfd_mach_sparc_64bit_p): Likewise.
1894 * bfd-in2.h: Regenerate.
1895 * cpu-sparc.c (arch_info_struct): Add entries for
1896 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
1897 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
1898 and bfd_mach_sparc_v9{c,d,e,v,m}.
1899 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
1900 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
1902 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
1904 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
1905 symbols for relocations against IFUNC symbols.
1906 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1908 2016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
1910 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
1911 .rela.iplt in DT_PLTRELSZ.
1912 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
1913 for DT_PLTRELSZ and DT_RELASZ as well.
1915 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
1917 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
1918 non-loaded, non-alloced sections.
1919 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1921 2016-06-15 H.J. Lu <hongjiu.lu@intel.com>
1923 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
1924 allocating dynamic relocation.
1925 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1927 2016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1930 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
1931 offsets until reloc_toaddr.
1933 2016-06-14 H.J. Lu <hongjiu.lu@intel.com>
1935 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
1936 Don't check symbol type for STN_UNDEF symbol index.
1937 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
1938 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
1941 2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
1943 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
1945 (using_thumb2): Try Tag_THUMB_ISA_use first and check
1946 for exact arch value then. Force review of arch check logic for new
1948 (arch_has_arm_nop): Update and fix arch check logic. Force review of
1949 that logic for new architecture.
1950 (arch_has_thumb2_nop): Remove.
1951 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
1952 (elf32_arm_final_link_relocate): Likewise but using thumb2.
1954 2016-06-14 Alan Modra <amodra@gmail.com>
1956 * bfd-in.h (bfd_my_archive): Delete.
1957 * bfd-in2.h: Regenerate.
1959 2016-06-14 Alan Modra <amodra@gmail.com>
1962 * archive.c (open_nested_file): Set my_archive.
1963 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
1965 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
1966 (bfd_seek): Likewise.
1967 * bfdwin.c (bfd_get_file_window): Likewise.
1968 * cache.c (cache_bmmap): Likewise.
1969 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
1970 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
1972 * plugin.c (try_claim): Likewise.
1973 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
1974 file within thin archive, not the archive.
1976 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
1979 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
1980 section address for R_386_GOT32/R_386_GOT32X relocations against
1981 IFUNC symbols if there is no base register and return error for
1984 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
1986 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
1987 GOT32 adjustment for static executables.
1989 2016-06-13 Maciej W. Rozycki <macro@imgtec.com>
1991 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
1993 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
1995 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
1997 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
1999 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
2001 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2003 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
2004 (SECTSTART): Changed.
2005 (elf_arc_relocate_section): Fixed mistake in PIE related
2007 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
2009 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2011 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
2012 enable support for "-z combreloc" and DT_RELACOUNT.
2013 (elf_backend_reloc_type_class): Likewise
2015 2016-06-11 H.J. Lu <hongjiu.lu@intel.com>
2018 * elf32-i386.c (elf_i386_relocate_section): When relocating
2019 R_386_GOT32, return error without a base register for PIC and
2020 subtract the .got.plt section address only with a base register.
2022 2016-06-10 Alan Modra <amodra@gmail.com>
2024 * elf-strtab.c (struct strtab_save): Use size_t for "size".
2025 (struct elf_strtab_hash): Likewise for "size" and "alloced".
2026 (_bfd_elf_strtab_init): Formatting.
2027 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
2028 (_bfd_elf_strtab_addref): Take size_t idx param.
2029 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
2030 (_bfd_elf_strtab_offset): Likewise.
2031 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
2032 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
2033 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
2034 (_bfd_elf_strtab_finalize): Similarly.
2035 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
2036 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
2037 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
2038 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
2039 using bfd_size_type.
2040 (bfd_section_from_shdr): Delete amt.
2041 (_bfd_elf_init_reloc_shdr): Likewise.
2042 (_bfd_elf_link_assign_sym_version): Likewise.
2043 (assign_section_numbers): Use size_t reloc_count.
2044 * elflink.c (struct elf_symbuf_head): Use size_t "count".
2045 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
2046 (elf_link_is_defined_archive_symbol): Likewise.
2047 (elf_add_dt_needed_tag): Likewise.
2048 (elf_finalize_dynstr): Likewise.
2049 (elf_link_add_object_symbols): Likewise.
2050 (bfd_elf_size_dynamic_sections): Likewise.
2051 (elf_create_symbuf): Similarly.
2052 (bfd_elf_match_symbols_in_sections): Likewise.
2053 (elf_link_swap_symbols_out): Likewise.
2054 (elf_link_check_versioned_symbol): Likewise.
2055 (bfd_elf_gc_record_vtinherit): Likewise.
2056 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
2058 2016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2061 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
2062 and relocs only if shrinking occurred.
2064 2016-06-08 H.J. Lu <hongjiu.lu@intel.com>
2066 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
2067 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
2068 (elf_i386_check_tls_transition): Check indirect call and direct
2069 call with the addr32 prefix for general and local dynamic models.
2070 Set the tls_get_addr feild.
2071 (elf_i386_convert_load_reloc): Always use addr32 prefix for
2072 indirect ___tls_get_addr call via GOT.
2073 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
2074 transitions with indirect call and direct call with the addr32
2077 2016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
2079 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
2080 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
2081 (elf_s390_relocate_section): Fix comment.
2082 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
2085 2016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
2087 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
2088 section offset when calculation the larl operand in the first PLT
2091 2016-06-07 Alan Modra <amodra@gmail.com>
2093 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
2094 to match other 32-bit archs.
2095 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
2096 (ppc_elf_object_p): Call it.
2097 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
2099 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
2100 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
2101 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
2102 _bfd_elf_ppc_at_tprel_transform): Move to..
2103 * elf-bfd.h: ..here.
2104 (_bfd_elf_ppc_set_arch): Declare.
2105 * bfd-in2.h: Regenerate.
2107 2016-06-06 H.J. Lu <hongjiu.lu@intel.com>
2109 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
2110 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
2111 (elf_x86_64_check_tls_transition): Check indirect call and
2112 direct call with the addr32 prefix for general and local dynamic
2113 models. Set the tls_get_addr feild.
2114 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
2115 indirect __tls_get_addr call via GOT.
2116 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
2117 transitions with indirect call and direct call with the addr32
2120 2016-06-04 Christian Groessler <chris@groessler.org>
2122 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
2124 2016-06-02 Nick Clifton <nickc@redhat.com>
2127 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
2129 (arch_info_struct): Likewise.
2130 (architectures): Likewise.
2132 2016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
2134 * config.bfd: Replace -uclibc with *.
2136 2016-06-02 H.J. Lu <hongjiu.lu@intel.com>
2138 * elf64-x86-64.c: Replace data32 with data16 in comments.
2140 2016-05-31 Alan Modra <amodra@gmail.com>
2144 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
2145 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
2146 symbol given a version by a script different to the version
2147 of the symbol being added.
2148 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
2149 _bfd_elf_strtab_restore. Don't fudge dynstr references.
2150 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
2151 (struct strtab_save): New.
2152 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
2153 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
2154 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
2156 2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2158 * elf32-hppa.h: Add extern "C".
2159 * elf32-nds32.h: Likewise.
2160 * elf32-tic6x.h: Likewise.
2162 2016-06-01 Nick Clifton <nickc@redhat.com>
2164 * po/sr.po: New Serbian translation.
2165 * configure.ac (ALL_LINGUAS): Add sr.
2166 * configure: Regenerate.
2168 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
2170 * elfxx-mips.c (b_reloc_p): New function.
2171 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
2174 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
2176 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
2177 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
2178 reloc location from calculation, treat the addend as signed with
2179 local non-section symbols and enable overflow detection.
2181 2016-05-28 Alan Modra <amodra@gmail.com>
2183 * aoutx.h: Adjust linker callback calls throughout file,
2186 * coff-alpha.c: Likewise.
2187 * coff-arm.c: Likewise.
2188 * coff-h8300.c: Likewise.
2189 * coff-h8500.c: Likewise.
2190 * coff-i960.c: Likewise.
2191 * coff-mcore.c: Likewise.
2192 * coff-mips.c: Likewise.
2193 * coff-ppc.c: Likewise.
2194 * coff-rs6000.c: Likewise.
2195 * coff-sh.c: Likewise.
2196 * coff-tic80.c: Likewise.
2197 * coff-w65.c: Likewise.
2198 * coff-z80.c: Likewise.
2199 * coff-z8k.c: Likewise.
2200 * coff64-rs6000.c: Likewise.
2201 * cofflink.c: Likewise.
2202 * ecoff.c: Likewise.
2203 * elf-bfd.h: Likewise.
2204 * elf-m10200.c: Likewise.
2205 * elf-m10300.c: Likewise.
2206 * elf32-arc.c: Likewise.
2207 * elf32-arm.c: Likewise.
2208 * elf32-avr.c: Likewise.
2209 * elf32-bfin.c: Likewise.
2210 * elf32-cr16.c: Likewise.
2211 * elf32-cr16c.c: Likewise.
2212 * elf32-cris.c: Likewise.
2213 * elf32-crx.c: Likewise.
2214 * elf32-d10v.c: Likewise.
2215 * elf32-epiphany.c: Likewise.
2216 * elf32-fr30.c: Likewise.
2217 * elf32-frv.c: Likewise.
2218 * elf32-ft32.c: Likewise.
2219 * elf32-h8300.c: Likewise.
2220 * elf32-hppa.c: Likewise.
2221 * elf32-i370.c: Likewise.
2222 * elf32-i386.c: Likewise.
2223 * elf32-i860.c: Likewise.
2224 * elf32-ip2k.c: Likewise.
2225 * elf32-iq2000.c: Likewise.
2226 * elf32-lm32.c: Likewise.
2227 * elf32-m32c.c: Likewise.
2228 * elf32-m32r.c: Likewise.
2229 * elf32-m68hc1x.c: Likewise.
2230 * elf32-m68k.c: Likewise.
2231 * elf32-mep.c: Likewise.
2232 * elf32-metag.c: Likewise.
2233 * elf32-microblaze.c: Likewise.
2234 * elf32-moxie.c: Likewise.
2235 * elf32-msp430.c: Likewise.
2236 * elf32-mt.c: Likewise.
2237 * elf32-nds32.c: Likewise.
2238 * elf32-nios2.c: Likewise.
2239 * elf32-or1k.c: Likewise.
2240 * elf32-ppc.c: Likewise.
2241 * elf32-s390.c: Likewise.
2242 * elf32-score.c: Likewise.
2243 * elf32-score7.c: Likewise.
2244 * elf32-sh.c: Likewise.
2245 * elf32-sh64.c: Likewise.
2246 * elf32-spu.c: Likewise.
2247 * elf32-tic6x.c: Likewise.
2248 * elf32-tilepro.c: Likewise.
2249 * elf32-v850.c: Likewise.
2250 * elf32-vax.c: Likewise.
2251 * elf32-visium.c: Likewise.
2252 * elf32-xstormy16.c: Likewise.
2253 * elf32-xtensa.c: Likewise.
2254 * elf64-alpha.c: Likewise.
2255 * elf64-hppa.c: Likewise.
2256 * elf64-ia64-vms.c: Likewise.
2257 * elf64-mmix.c: Likewise.
2258 * elf64-ppc.c: Likewise.
2259 * elf64-s390.c: Likewise.
2260 * elf64-sh64.c: Likewise.
2261 * elf64-x86-64.c: Likewise.
2262 * elflink.c: Likewise.
2263 * elfnn-aarch64.c: Likewise.
2264 * elfnn-ia64.c: Likewise.
2265 * elfxx-mips.c: Likewise.
2266 * elfxx-sparc.c: Likewise.
2267 * elfxx-tilegx.c: Likewise.
2268 * linker.c: Likewise.
2269 * pdp11.c: Likewise.
2270 * pe-mips.c: Likewise.
2271 * reloc.c: Likewise.
2272 * reloc16.c: Likewise.
2273 * simple.c: Likewise.
2274 * vms-alpha.c: Likewise.
2275 * xcofflink.c: Likewise.
2276 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
2277 status param. Adjust calls to these and linker callbacks throughout.
2278 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
2279 get_ramstart): Delete status param. Adjust calls to these and
2280 linker callbacks throughout.
2282 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
2284 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
2285 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
2286 target alignment verification.
2288 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
2290 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
2291 section name if `bfd_elf_string_from_elf_section' returns an
2294 2016-05-26 Maciej W. Rozycki <macro@imgtec.com>
2296 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2297 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
2298 for message. Continue processing rather than returning failure.
2300 2016-05-25 Maciej W. Rozycki <macro@imgtec.com>
2302 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2303 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
2304 Call `bfd_set_error'.
2306 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
2309 * archive.c (bfd_slurp_armap): Replace
2310 bfd_elf64_archive_slurp_armap with
2311 _bfd_archive_64_bit_slurp_armap.
2312 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
2313 BFD64 is defined and the archive is too big.
2314 (coff_write_armap): Likewise.
2315 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
2316 (_bfd_archive_64_bit_slurp_armap): This.
2317 (bfd_elf64_archive_write_armap): Renamed to ...
2318 (_bfd_archive_64_bit_write_armap): This.
2319 * configure.ac: Add --enable-64-bit-archive.
2320 (want_64_bit_archive): New. Set to true by default for 64-bit
2321 MIPS and s390 ELF targets.
2322 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
2323 * config.in: Regenerated.
2324 * configure: Likewise.
2325 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
2326 (bfd_elf64_archive_slurp_armap): Likewise.
2327 (bfd_elf64_archive_write_armap): Likewise.
2328 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
2329 (bfd_elf64_archive_construct_extended_name_table): Likewise.
2330 (bfd_elf64_archive_truncate_arname): Likewise.
2331 (bfd_elf64_archive_read_ar_hdr): Likewise.
2332 (bfd_elf64_archive_write_ar_hdr): Likewise.
2333 (bfd_elf64_archive_openr_next_archived_file): Likewise.
2334 (bfd_elf64_archive_get_elt_at_index): Likewise.
2335 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2336 (bfd_elf64_archive_update_armap_timestamp): Likewise.
2337 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
2338 (bfd_elf64_archive_slurp_armap): Likewise.
2339 (bfd_elf64_archive_write_armap): Likewise.
2340 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
2341 (bfd_elf64_archive_construct_extended_name_table): Likewise.
2342 (bfd_elf64_archive_truncate_arname): Likewise.
2343 (bfd_elf64_archive_read_ar_hdr): Likewise.
2344 (bfd_elf64_archive_write_ar_hdr): Likewise.
2345 (bfd_elf64_archive_openr_next_archived_file): Likewise.
2346 (bfd_elf64_archive_get_elt_at_index): Likewise.
2347 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2348 (bfd_elf64_archive_update_armap_timestamp): Likewise.
2349 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
2350 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
2351 bfd_elfNN_archive_functions isn't defined.
2352 (TARGET_LITTLE_SYM): Likewise.
2353 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
2354 (_bfd_archive_64_bit_write_armap): Likewise.
2355 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
2356 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
2357 (_bfd_archive_64_bit_truncate_arname): Likewise.
2358 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
2359 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
2360 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
2361 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
2362 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
2363 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
2364 * libbfd.h: Regenerated.
2365 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
2366 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
2368 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
2371 * cofflink.c (coff_link_check_archive_element): Return TRUE if
2372 linker add_archive_element callback returns FALSE.
2373 * ecoff.c (ecoff_link_check_archive_element): Likewise.
2374 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
2375 archive element if linker add_archive_element callback returns
2377 * elflink.c (elf_link_add_archive_symbols): Likewise.
2378 * pdp11.c (aout_link_check_ar_symbols): Likewise.
2379 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
2380 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
2381 (xcoff_link_check_ar_symbols): Likewise.
2383 2016-05-24 Maciej W. Rozycki <macro@imgtec.com>
2385 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2386 <bfd_reloc_outofrange>: Unify error reporting code.
2388 2016-05-23 Jim Wilson <jim.wilson@linaro.org>
2390 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
2391 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
2392 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
2393 * bfd-in2.h: Regenerate.
2394 * libbfd.h: Likewise.
2396 2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
2398 * config.bfd: Add entry for arm-phoenix.
2400 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2402 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
2403 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
2404 account for padding for stub section requiring one.
2405 (elf32_arm_build_stubs): Add comment to stress the importance of
2406 zeroing veneer section content.
2408 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2410 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
2412 * bfd-in2.h: Regenerate.
2413 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
2415 (arm_dedicated_stub_output_section_required_alignment): Likewise.
2416 (arm_dedicated_stub_output_section_name): Likewise.
2417 (arm_dedicated_stub_input_section_ptr): Likewise.
2418 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
2419 function description comment. Add support for dedicated output stub
2420 section to given stub types.
2421 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
2422 elf32_arm_create_or_find_stub_sec.
2423 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
2424 (elf32_arm_size_stubs): Pass stub type when calling
2425 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
2426 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
2428 2016-05-20 H.J. Lu <hongjiu.lu@intel.com>
2430 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
2431 when setting need_convert_load.
2433 2016-05-20 Maciej W. Rozycki <macro@imgtec.com>
2435 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
2438 2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
2441 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
2443 (elf_i386_convert_load): Don't convert R_386_GOT32.
2445 2016-05-20 Alan Modra <amodra@gmail.com>
2448 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
2449 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
2451 2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
2453 * elf32-arc.c (arc_elf_final_write_processing): Changed.
2454 (debug_arc_reloc): Likewise.
2455 (elf_arc_relocate_section): Likewise.
2456 (elf_arc_check_relocs): Likewise.
2457 (elf_arc_adjust_dynamic_symbol): Likewise.
2458 (elf_arc_add_symbol_hook): Likewise.
2460 2016-05-19 Maciej W. Rozycki <macro@imgtec.com>
2462 * config.bfd: Remove `am34-*-linux*' support.
2464 2016-05-19 Alan Modra <amodra@gmail.com>
2466 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
2467 relocs before plt relocs.
2469 2016-05-19 Alan Modra <amodra@gmail.com>
2471 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
2472 before dereferencing.
2474 2016-05-18 Nick Clifton <nickc@redhat.com>
2476 * po/sv.po: Updated Swedish translation.
2478 2016-05-18 Alan Modra <amodra@gmail.com>
2480 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
2481 for each BFD. Don't goto error_ret_free_local from outside loop.
2483 2016-05-17 Maciej W. Rozycki <macro@imgtec.com>
2485 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
2486 STB_GNU_UNIQUE handling.
2487 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
2488 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
2489 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
2490 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2491 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2492 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2493 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2494 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2495 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
2496 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
2497 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
2498 (elf_backend_add_symbol_hook): Remove macro.
2499 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
2500 for STB_GNU_UNIQUE symbols.
2502 2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
2504 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
2506 (v850_elf_copy_private_bfd_data): ... here. Call the new
2507 function and `_bfd_elf_copy_private_bfd_data'.
2509 2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
2512 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
2513 GOTPCREL relocation against large section.
2515 2016-05-13 Alan Modra <amodra@gmail.com>
2517 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
2518 linker dynamic sections in calculating size and address of
2519 dynamic tags rather than using output sections. Remove asserts.
2520 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
2521 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
2522 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
2523 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2524 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
2525 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
2526 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
2527 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
2528 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
2529 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
2530 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
2531 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
2532 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2533 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
2534 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
2535 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
2536 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
2537 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
2538 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2539 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2540 * elflink.c (bfd_elf_final_link): Likewise.
2541 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
2542 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
2543 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
2544 don't set doit. Look up dynobj section.
2545 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
2546 invocation and dynamic tag vma calculation. Don't test
2547 boolean var == TRUE.
2548 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
2551 2016-05-13 Alan Modra <amodra@gmail.com>
2553 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
2554 octets_per_byte. Put dynamic .rela.plt last in link orders.
2555 Assign output_offset for reloc sections rather than writing
2556 sorted relocs from block corresponding to output_offset.
2558 2016-05-12 Alan Modra <amodra@gmail.com>
2560 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
2562 2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
2564 * elfxx-mips.c (print_mips_ases): Add DSPR3.
2566 2016-05-11 Alan Modra <amodra@gmail.com>
2568 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
2569 (elf32_hppa_check_relocs): Don't set dynobj.
2570 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
2571 (elf32_hppa_build_stubs): Likewise.
2572 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
2574 2016-05-11 Alan Modra <amodra@gmail.com>
2577 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
2578 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
2580 2016-05-10 Jiong Wang <jiong.wang@arm.com>
2582 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
2583 aarch64_tls_transition check.
2585 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2587 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
2589 (arm_stub_sym_claimed): New function.
2590 (elf32_arm_create_stub): Use veneered symbol name and section if
2591 veneer needs to claim its symbol, and keep logic unchanged otherwise.
2592 (arm_stub_claim_sym): New function.
2593 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
2594 veneered symbol, otherwise create local symbol as before.
2596 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2598 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
2599 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
2600 and set branch type of a symbol.
2601 (bfd_elf32_arm_process_before_allocation): Likewise.
2602 (elf32_arm_relocate_section): Likewise and fix identation along the
2604 (allocate_dynrelocs_for_symbol): Likewise.
2605 (elf32_arm_finish_dynamic_symbol): Likewise.
2606 (elf32_arm_swap_symbol_in): Likewise.
2607 (elf32_arm_swap_symbol_out): Likewise.
2609 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2611 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
2612 * bfd-in2.h: Regenerated.
2613 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
2614 parameter to add_stub_section callback.
2615 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
2616 and pass it down to add_stub_section.
2617 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
2619 (elf32_arm_size_stubs): Add output section parameter to
2620 add_stub_section function pointer parameter.
2622 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2624 * elf32-arm.c (elf32_arm_create_stub): New function.
2625 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
2627 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2629 * elf32-arm.c (enum elf32_arm_stub_type): Delete
2630 arm_stub_a8_veneer_lwm enumerator.
2631 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
2632 aforementioned enumerator.
2633 (struct elf32_arm_stub_hash_entry): Delete target_addend
2634 field and add source_value.
2635 (struct a8_erratum_fix): Delete addend field and add target_offset.
2636 (stub_hash_newfunc): Initialize source_value field amd remove
2637 initialization for target_addend.
2638 (arm_build_one_stub): Stop special casing Thumb relocations: promote
2639 the else to being always executed, moving the
2640 arm_stub_a8_veneer_b_cond specific code in it. Remove
2641 stub_entry->target_addend from points_to computation.
2642 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
2643 to target symbol from start of section rather than the offset from the
2645 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
2646 fields from struct a8_erratum_fix's offset and target_offset
2648 (make_branch_to_a8_stub): Rename target variable to loc. Compute
2649 veneered_insn_loc and loc using stub_entry's source_value.
2651 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2653 (elf32_arm_merge_eabi_attributes): Add merging logic for
2656 2016-05-10 Pip Cet <pipcet@gmail.com>
2659 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
2660 Define as _bfd_generic_copy_link_hash_symbol_type when using
2663 2016-05-09 Nick Clifton <nickc@redhat.com>
2666 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
2667 field before accessing sections array.
2669 2016-05-09 Christophe Monat <christophe.monat@st.com>
2672 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
2673 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
2675 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
2677 (create_instruction_vldmdb): Likewise.
2678 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
2679 uses it to re-encode.
2681 2016-05-09 Nick Clifton <nickc@redhat.com>
2684 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
2687 2016-05-09 Alan Modra <amodra@gmail.com>
2689 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
2691 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
2694 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
2695 documenting that indx == -3 if symbol is defined in a discarded
2697 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
2698 symbol is defined in a discarded section.
2699 (elf_link_output_extsym): Strip a global symbol defined in a
2702 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
2704 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
2707 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
2709 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
2711 (elf_i386_convert_load_reloc): This. New function.
2712 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
2714 (elf_x86_64_convert_load_reloc): This. New function.
2716 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
2718 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
2719 Don't check if contents == NULL.
2720 (elf_i386_tls_transition): Add from_relocate_section. Check
2721 from_relocate_section instead of contents != NULL. Update
2722 elf_i386_check_tls_transition call.
2723 (elf_i386_check_relocs): Cache the section contents if
2724 keep_memory is FALSE. Pass FALSE as from_relocate_section to
2725 elf_i386_tls_transition.
2726 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
2727 to elf_i386_tls_transition.
2728 (elf_backend_caches_rawsize): New.
2729 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
2730 if contents == NULL.
2731 (elf_x86_64_tls_transition): Add from_relocate_section. Check
2732 from_relocate_section instead of contents != NULL.
2733 (elf_x86_64_check_relocs): Cache the section contents if
2734 keep_memory is FALSE. Pass FALSE as from_relocate_section to
2735 elf_x86_64_tls_transition.
2736 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
2737 to elf_x86_64_tls_transition.
2738 (elf_backend_caches_rawsize): New.
2740 2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
2743 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
2746 2016-05-03 Jiong Wang <jiong.wang@arm.com>
2748 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
2749 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
2750 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
2751 no_apply_dynamic_relocs.
2752 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
2753 dynamic relocations generated.
2755 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2757 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
2759 (elf_i386_create_dynamic_sections): Here.
2760 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
2761 interp setting to ...
2762 (elf_x86_64_create_dynamic_sections): Here.
2764 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2766 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
2767 and replace (EH)->has_got_reloc with GOT_RELOC.
2768 (elf_i386_fixup_symbol): Pass has_got_reloc to
2769 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2770 (elf_i386_allocate_dynrelocs): Likewise.
2771 (elf_i386_relocate_section): Likewise.
2772 (elf_i386_finish_dynamic_symbol): Likewise.
2773 (elf_i386_convert_load): Pass TRUE to
2774 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2775 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
2776 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
2777 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
2778 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2779 (elf_x86_64_allocate_dynrelocs): Likewise.
2780 (elf_x86_64_relocate_section): Likewise.
2781 (elf_x86_64_finish_dynamic_symbol): Likewise.
2782 (elf_x86_64_convert_load): Pass TRUE to
2783 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2785 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2787 * elf32-i386.c (check_relocs_failed): New.
2788 (elf_i386_check_relocs): Set check_relocs_failed on error.
2789 (elf_i386_relocate_section): Skip if check_relocs failed.
2791 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2793 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
2794 check_relocs_failed on error.
2796 2016-04-29 Nick Clifton <nickc@redhat.com>
2799 * elf-bfd.h (struct elf_backend_data): Rename
2800 elf_backend_set_special_section_info_and_link to
2801 elf_backend_copy_special_section_fields.
2802 * elfxx-target.h: Likewise.
2803 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
2804 comparing section flags.
2805 (copy_special_section_fields): New function.
2806 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
2807 Perform two scans over special sections. The first one looks for
2808 a direct mapping between the output section and an input section.
2809 The second scan looks for a possible match based upon section
2811 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
2812 function. Handle setting the sh_link field of SHT_ARM_EXIDX
2814 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
2815 elf32_i386_copy_solaris_special_section_fields.
2816 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
2817 Rename to elf32_sparc_copy_solaris_special_section_fields.
2818 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
2819 elf64_x86_64_copy_solaris_special_section_fields.
2821 2016-04-28 Nick Clifton <nickc@redhat.com>
2823 * po/zh_CN.po: Updated Chinese (simplified) translation.
2825 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
2828 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
2829 when estimating distances between output sections.
2831 2016-04-27 Alan Modra <amodra@gmail.com>
2833 * elflink.c (_bfd_elf_is_start_stop): New function.
2834 (_bfd_elf_gc_mark_rsec): Use it.
2835 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
2837 2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2839 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
2840 * mmo.c (mmo_get_section_contents): Likewise.
2841 (mmo_set_section_contents): Likewise.
2843 2016-04-26 H.J. Lu <hongjiu.lu@intel.com>
2845 * elf-bfd.h (elf_link_hash_table): Update comments for
2847 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
2848 the unused NULL entry at the head of dynamic symbol table.
2849 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
2852 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2854 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
2855 created file from dynobj.
2857 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2859 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
2860 normal input file if possible.
2862 2016-04-21 Nick Clifton <nickc@redhat.com>
2864 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
2865 * aout-target.h: Likewise.
2866 * aout-tic30.c: Likewise.
2867 * binary.c: Likewise.
2869 * coff-alpha.c: Likewise.
2870 * coff-rs6000.c: Likewise.
2871 * coff64-rs6000.c: Likewise.
2872 * coffcode.h: Likewise.
2873 * i386msdos.c: Likewise.
2874 * i386os9k.c: Likewise.
2877 * libbfd-in.h: Likewise.
2878 * libecoff.h: Likewise.
2879 * mach-o-target.c: Likewise.
2881 * nlm-target.h: Likewise.
2882 * oasys.c: Likewise.
2884 * plugin.c: Likewise.
2885 * ppcboot.c: Likewise.
2888 * tekhex.c: Likewise.
2889 * versados.c: Likewise.
2890 * vms-alpha.c: Likewise.
2892 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
2893 * linker.c (bfd_link_check_relocs): New function.
2894 (_bfd_generic_link_check_relocs): New function.
2895 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
2896 _bfd_link_check_relocs field.
2897 (struct bfd_target)L Add _bfd_link_check_relocs field.
2898 * bfd-in2.h: Regenerate.
2899 * libbfd.h: Regenerate.
2901 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2903 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
2904 (elf_backend_gc_sweep_hook): Likewise.
2905 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
2906 (elf_backend_gc_sweep_hook): Likewise.
2908 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2910 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
2911 in excluded sections
2913 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2916 * elf64-x86-64.c (check_relocs_failed): New.
2917 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
2918 Support relocation agaist local symbol. Set check_relocs_failed.
2919 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
2920 R_X86_64_32 relocation overflow.
2921 (elf_x86_64_relocate_section): Skip if check_relocs failed.
2922 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
2924 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2926 * elf32-i386.c (elf_i386_check_relocs): Call
2927 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
2928 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2930 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2932 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
2933 * elflink.c (_bfd_elf_link_check_relocs): New function.
2934 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
2935 if check_relocs_after_open_input is FALSE.
2937 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2939 * cache.c: Update old style function definitions.
2940 * elf32-m68k.c: Likewise.
2941 * elf64-mmix.c: Likewise.
2942 * stab-syms.c: Likewise.
2944 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2946 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
2948 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
2950 * Makefile.in: Regenerated with automake 1.11.6.
2951 * aclocal.m4: Likewise.
2952 * doc/Makefile.in: Likewise.
2954 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
2956 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
2957 * bfd-in2.h: Regenerate.
2958 * libbfd.h: Regenerate.
2959 * elf32-arc.c: Add 'opcode/arc.h' include.
2960 (struct arc_relocation_data): Add symbol_name.
2961 (arc_special_overflow_checks): New function.
2962 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
2963 required, add an extra comment.
2964 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
2966 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
2968 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
2970 (elf_arc_relocate_section): Update enum uses.
2971 (elf_arc_check_relocs): Likewise.
2972 (elf_arc_finish_dynamic_symbol): Likewise.
2974 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
2976 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
2979 2016-04-14 Nick Clifton <nickc@redhat.com>
2982 * elf-bbfd.h (struct elf_backend_data): New field:
2984 New field: elf_backend_set_special_section_info_and_link
2985 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
2987 (elf_backend_set_special_section_info_and_link): Define if not
2989 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
2990 elf_backend_strtab_flags macros to initialise fields in structure.
2991 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
2992 being set even if SHF_MERGE is not set.
2993 (elf_fake_sections): Likewise.
2994 (section_match): New function. Matches two ELF sections based
2995 upon fixed characteristics.
2996 (find_link): New function. Locates a section in a BFD that
2997 matches a section in a different BFD.
2998 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
2999 fields of reserved sections.
3000 (bfd_elf_compute_section_file_positions): Set the flags for the
3001 .shstrtab section based upon the elf_strtab_flags field in the
3002 elf_backend_data structure.
3003 (swap_out_syms): Likewise for the .strtab section.
3004 * elflink.c (bfd_elf_final_link): Set the flags for the
3005 .strtab section based upon the elf_strtab_flags field in the
3006 elf_backend_data structure.
3007 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
3008 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
3010 (elf_backend_set_special_section_info_and_link): Define for
3012 * elf32-sparc.c: Likewise.
3013 * elf64-x86-64.c: Likewise.
3015 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
3018 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
3020 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
3021 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
3022 applies to read-only section.
3023 * elf32-i386.c (elf_i386_link_hash_table): Add
3024 readonly_dynrelocs_against_ifunc.
3025 (elf_i386_allocate_dynrelocs): Updated.
3026 (elf_i386_size_dynamic_sections): Issue an error for read-only
3027 segment with dynamic IFUNC relocations only if
3028 readonly_dynrelocs_against_ifunc is TRUE.
3029 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
3030 readonly_dynrelocs_against_ifunc.
3031 (elf_x86_64_allocate_dynrelocs): Updated.
3032 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
3033 segment with dynamic IFUNC relocations only if
3034 readonly_dynrelocs_against_ifunc is TRUE.
3035 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
3038 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
3040 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
3041 a fall through from error_ret_free_internal. Free local_syms in
3042 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
3044 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3046 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
3047 (relocate_plt_for_entry): Likewise.
3049 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3051 * elf32-arc.c (elf_arc_check_relocs): Changed
3053 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3055 * elf32-arc.c (name_for_global_symbol): Changed assert.
3056 (get_replace_function): Created.:
3057 (struct arc_relocation_data): Changed to signed types.
3058 (defines S, L, P, PDATA): Casted to signed type.
3059 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
3060 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
3061 (arc_do_relocation): Changed.
3063 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3065 * elf32-arc.c (name_for_global_symbol): Added assert to check for
3067 (elf_arc_relocate_section): Added and changed asserts, validating
3068 the synamic symbol index.
3069 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
3070 relocation if symbol has dynindx set to -1.
3072 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
3075 * elflink.c (elf_link_add_object_symbols): Always turn hidden
3076 and internal symbols which have a dynamic index into local
3079 2016-04-04 Nick Clifton <nickc@redhat.com>
3082 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
3083 version number if the version is zero.
3085 2016-04-01 Alan Modra <amodra@gmail.com>
3088 * elflink.c (on_needed_list): Recursively check needed status.
3089 (elf_link_add_object_symbols): Adjust.
3091 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3093 * elf32-avr.c (avr_elf32_load_records_from_section): Free
3094 internal_relocs only if they aren't cached.
3096 2016-03-29 Nick Clifton <nickc@redhat.com>
3099 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
3100 assertion on the size of the got section to allow it to be bigger
3101 than the number of relocs.
3103 2016-03-29 Toni Spets <toni.spets@iki.fi>
3106 * coffcode.h (coff_write_object_contents): Revert accidental
3109 2016-03-22 Alan Modra <amodra@gmail.com>
3112 * dwarf2.c (read_attribute_value): Skip info_ptr check for
3113 DW_FORM_flag_present.
3115 2016-03-22 Nick Clifton <nickc@redhat.com>
3117 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
3118 architecture name for backwards compatibility.
3120 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
3121 unbounded stack use.
3123 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
3124 sufficiently recent version of GCC.
3125 * configure: Regenerate.
3127 2016-03-22 Alan Modra <amodra@gmail.com>
3130 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
3132 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3134 * archures.c (bfd_mach_arc_nps400): Define.
3135 * bfd-in2.h: Regenerate.
3136 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
3137 some existing entries to make space.
3138 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
3139 (arc_elf_final_write_processing): Likewise.
3141 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3143 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
3145 (arc_elf_final_write_processing): Don't bother setting cpu field
3146 in e_flags, this will have been set elsewhere.
3148 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3150 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
3153 2016-03-21 Nick Clifton <nickc@redhat.com>
3155 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
3156 * configure: Regenerate.
3157 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
3158 alloca with call to xmalloc.
3159 * elf32-nds32.c: Likewise.
3160 * elf64-hppa.c: Likewise.
3161 * elfxx-mips.c: Likewise.
3163 * pei-x86_64.c: Likewise.
3167 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
3170 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
3172 (elf_i386_relocate_section): Likewise.
3173 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3174 (elf_x86_64_relocate_section): Likewise.
3176 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
3179 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
3180 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
3181 relocation overflow check.
3183 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
3185 * bfd-in2.h: Regenerated.
3187 2016-03-11 Dan Gissel <dgisselq@ieee.org>
3190 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
3191 uses bytes not octets.
3192 * elflink.c (resolve_section): Likewise.
3193 Add a bfd parameter.
3194 (eval_section): Pass the input_bfd to resolve_section.
3195 (bfd_elf_perform_complex_relocation): Convert byte offset to
3196 octets before read and writing values.
3197 (elf_link_input_bfd): Add byte to octet conversions.
3198 (elf_reloc_link_order): Likewise.
3199 (elf_fixup_link_order): Likewise.
3200 (bfd_elf_final_link): Likewise.
3201 * reloc.c (_bfd_final_link_relocate): Likewise.
3202 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3204 2016-03-10 Nick Clifton <nickc@redhat.com>
3206 * config.bfd: Mark the i370 target as obsolete.
3208 2016-03-09 Pedro Alves <palves@redhat.com>
3210 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
3211 gcc ABI)" to printable name.
3212 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
3213 of "v850-rh850" as printable name.
3215 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
3218 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
3219 relocations against absolute symbols.
3221 2016-03-09 Alan Modra <amodra@gmail.com>
3224 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
3225 length elements in the archive.
3227 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3230 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
3231 for -E/--dynamic-list only when not relocatable.
3233 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3236 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
3237 count for locally defined local IFUNC symbols in shared object.
3238 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3240 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3243 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
3246 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3247 Andrew Burgess <andrew.burgess@embecosm.com>
3249 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
3250 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
3251 (arc_elf_howto_init): Added assert to validate relocations.
3252 (get_middle_endian_relocation): Delete.
3253 (middle_endian_convert): New function.
3254 (ME): Redefine, now does nothing.
3255 (IS_ME): New define.
3256 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
3257 definition to call middle_endian_convert. Add a new local
3258 variable and make use of this throughout. Added call to
3259 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
3261 2016-03-07 Nick Clifton <nickc@redhat.com>
3264 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
3265 length elements in the archive.
3267 2016-03-07 Jiong Wang <jiong.wang@arm.com>
3269 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
3270 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
3272 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
3275 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
3276 executable as definition if the new definition comes from a
3279 2016-03-02 Alan Modra <amodra@gmail.com>
3281 * Makefile.in: Regenerate.
3282 * po/SRC-POTFILES.in: Regenerate.
3284 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
3286 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
3287 relocation addend when sections get merged.
3289 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3291 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
3293 (elf_arc_relocate_section): Fixes and conditions to support PIE.
3294 Assert for code sections dynamic relocs.
3296 2016-02-26 Renlin Li <renlin.li@arm.com>
3298 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
3299 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
3301 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3304 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
3305 load with locally bound symbols if PIC is false or there is no
3306 base register. Optimize branch to 0 if PIC is false.
3307 (elf_i386_relocate_section): Don't generate dynamic relocations
3308 against undefined weak symbols if PIC is false.
3309 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
3310 if we can't estimate relocation overflow with --no-relax.
3311 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
3312 symbols if PIC is false. Optimize branch to 0 if PIC is false.
3313 (elf_x86_64_relocate_section): Don't generate dynamic relocations
3314 against undefined weak symbols if PIC is false.
3316 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3319 * bfd.c (bfd): Change flags to 20 bits.
3320 (BFD_CONVERT_ELF_COMMON): New.
3321 (BFD_USE_ELF_STT_COMMON): Likewise.
3322 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
3323 BFD_USE_ELF_STT_COMMON.
3324 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
3325 * configure.ac: Remove --enable-elf-stt-common.
3326 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
3327 common symbol depending on BFD_CONVERT_ELF_COMMON and
3328 BFD_USE_ELF_STT_COMMON.
3329 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
3331 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
3333 (elf_link_convert_common_type): New function.
3334 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
3335 common symbol depending on BFD_CONVERT_ELF_COMMON and
3336 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
3337 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
3338 and BFD_USE_ELF_STT_COMMON to object_flags.
3339 (TARGET_LITTLE_SYM): Likewise.
3340 * syms.c (BSF_KEEP_G): Renamed to ...
3341 (BSF_ELF_COMMON): This.
3342 * bfd-in2.h: Regenerated.
3343 * config.in: Likewise.
3344 * configure: Likewise.
3346 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3351 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3352 (elf_i386_link_hash_entry): Add has_got_reloc and
3354 (elf_i386_link_hash_table): Add interp.
3355 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
3357 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
3359 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
3360 (elf_i386_fixup_symbol): New function.
3361 (elf_i386_pie_finish_undefweak_symbol): Likewise.
3362 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
3363 relocations and discard relocations against resolved undefined
3364 weak symbols in executable. Don't make resolved undefined weak
3365 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
3366 relocation against undefined weak symbols in PIE.
3367 (elf_i386_size_dynamic_sections): Set interp to .interp section.
3368 (elf_i386_relocate_section): Don't generate dynamic relocations
3369 against resolved undefined weak symbols in PIE, except for
3371 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
3372 dynamic PLT/GOT relocations for resolved undefined weak symbols.
3373 Don't generate dynamic relocation against resolved undefined weak
3374 symbol in executable.
3375 (elf_i386_finish_dynamic_sections): Call
3376 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
3377 (elf_backend_fixup_symbol): New.
3378 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3379 (elf_x86_64_link_hash_entry): Add has_got_reloc and
3381 (elf_x86_64_link_hash_table): Add interp.
3382 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
3384 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
3386 (elf_x86_64_check_relocs): Set has_got_reloc and
3388 (elf_x86_64_fixup_symbol): New function.
3389 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
3390 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
3391 relocations and discard relocations against resolved undefined
3392 weak symbols in executable. Don't make resolved undefined weak
3393 symbols in executable dynamic.
3394 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
3395 (elf_x86_64_relocate_section): Check relocation overflow for
3396 dynamic relocations against unresolved weak undefined symbols.
3397 Don't generate dynamic relocations against resolved weak
3398 undefined symbols in PIE.
3399 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
3400 dynamic PLT/GOT relocations for resolved undefined weak symbols.
3401 Don't generate dynamic relocation against resolved undefined weak
3402 symbol in executable.
3403 (elf_x86_64_finish_dynamic_sections): Call
3404 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
3405 (elf_backend_fixup_symbol): New.
3407 2016-02-26 Alan Modra <amodra@gmail.com>
3409 * elf64-ppc.c (create_linkage_sections): Create sfpr when
3410 save_restore_funcs, rest of sections when not relocatable.
3411 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
3412 (sfpr_define): Define all symbols on emitted code.
3413 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
3414 when relocatable. Move sfpr_define loop earlier.
3416 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3418 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
3419 (elf_x86_64_relocate_section): Use it. Replace
3420 x86_64_elf_howto_table[r_type] with howto.
3422 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3425 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
3426 symbol version is unknown.
3428 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3430 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
3431 to (bfd_vma) -1 when setting needs_plt to 0.
3432 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3434 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
3436 * elflink.c (bfd_elf_record_link_assignment): Check for shared
3437 library, instead of PIC, and don't check PDE when making linker
3438 assigned symbol dynamic.
3440 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
3442 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
3443 ABIVERSION for non-executable stack.
3445 2016-02-23 Rich Felker <bugdal@aerifal.cx>
3448 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
3449 Always produce a RELATIVE reloc for a local symbol.
3451 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
3453 Fix test-case ld-elf/pr19617b
3454 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
3455 discard unused non-function symbols when --dynamic-list-data.
3457 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
3459 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
3460 dynsym section, even if it is empty, with dynamic sections.
3462 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
3464 * syms.c: Remove BSF_COMMON from comments.
3465 * bfd-in2.h: Regenerated.
3467 2016-02-22 Jiong Wang <jiong.wang@arm.com>
3469 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
3470 for destination. Remove useless function parameters.
3471 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
3473 2016-02-19 Nick Clifton <nickc@redhat.com>
3476 * aoutx.h (aout_link_add_symbols): Check for out of range string
3480 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
3481 processing if we encounter a reloc without an associated symbol.
3483 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
3486 * elflink.c (elf_link_add_object_symbols): Always create dynamic
3487 sections for -E/--dynamic-list.
3489 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
3491 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
3494 2016-02-16 Joseph Myers <joseph@codesourcery.com>
3496 * plugin.c (plugin_vec): Set match priority to 255.
3497 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
3498 matching against the plugin vector, take priority from there not
3501 2016-02-15 Nick Clifton <nickc@redhat.com>
3503 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
3504 for length and type fields. Use a signed value for the
3505 suffix_length field.
3507 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
3510 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
3511 significant bit in GOT offset for R_386_GOT32X.
3513 2016-02-10 Nick Clifton <nickc@redhat.com>
3516 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
3518 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
3519 number of messages about FDE encoding preventing .eh_frame_hdr
3522 2016-02-09 Nick Clifton <nickc@redhat.com>
3524 * oasys.c (oasys_archive_p): Fix indentation.
3525 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
3526 constant for left shifting.
3528 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
3529 helpful warning message to explain why certain AArch64 relocs
3532 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
3534 * pe-mips.c (coff_mips_reloc): Fix formatting.
3536 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3538 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
3539 to bfd_mach_arc_arc600.
3541 2016-02-04 Alan Modra <amodra@gmail.com>
3543 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
3546 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
3549 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
3550 distances in the compressed_size field of the output section.
3552 2016-02-02 Alan Modra <amodra@gmail.com>
3554 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
3555 ELFv2 entry optimization.
3557 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
3560 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
3561 no relocations in relocatable files.
3563 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
3566 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
3567 if a symbol from a library loaded via DT_NEEDED doesn't match
3568 the symbol referenced by regular object.
3570 2016-02-01 Nathaniel Smith <njs@pobox.com>
3572 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
3575 2016-02-01 Alan Modra <amodra@gmail.com>
3577 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
3578 an out of range reloc_index.
3579 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
3581 2016-02-01 Kamil Rytarowski <n54@gmx.com>
3583 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
3584 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
3585 * Makefile.in: Regenerated.
3587 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
3589 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
3591 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
3594 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
3596 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
3598 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
3601 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
3602 against STT_GNU_IFUNC symbol only with dynamic symbols.
3603 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
3605 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
3608 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
3609 decompress debug sections.
3611 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
3613 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
3616 2016-01-25 Nick Clifton <nickc@redhat.com>
3619 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
3620 dsym filename buffer.
3622 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
3624 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
3626 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
3628 * elfxx-mips.c (BZ16_REG): Correct calculation.
3630 2016-01-21 Nick Clifton <nickc@redhat.com>
3632 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
3633 changing the type of _loc to be bfd_byte *.
3634 (elf_arc_finish_dynamic_symbol): Likewise.
3636 2016-01-21 Nick Clifton <nickc@redhat.com>
3639 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
3640 class of the linker stub bfd.
3641 (elf32_arm_check_relocs): Skip check for pic format after
3642 processing a vxWorks R_ARM_ABS12 reloc.
3643 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
3644 reporting a class mismatch.
3646 2016-01-21 Jiong Wang <jiong.wang@arm.com>
3648 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
3649 veneer for sym_sec != input_sec.
3650 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
3651 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
3652 calculation destination.
3654 2016-01-21 Alan Modra <amodra@gmail.com>
3656 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
3657 (swap_linux_prpsinfo64_out): New function.
3658 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3659 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
3660 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
3661 (elfcore_write_linux_prpsinfo64): Likewise.
3662 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
3663 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3664 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
3666 2016-01-21 Alan Modra <amodra@gmail.com>
3668 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
3669 * elf.c: Adjust #include.
3670 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
3671 * Makefile.am (SOURCE_HFILES): Update.
3672 * Makefile.in: Regenerate.
3673 * po/SRC-PORFILES.in: Regenerate.
3675 2016-01-21 Alan Modra <amodra@gmail.com>
3677 * configure.ac: Move corefile selection later in file. Move
3678 tdefaults code immediately after other target vector code.
3679 * configure: Regenerate.
3681 2016-01-20 Mickael Guene <mickael.guene@st.com>
3683 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
3684 section using '.text.noread' pattern.
3686 2016-01-19 John Baldwin <jhb@FreeBSD.org>
3688 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
3690 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
3691 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
3693 * arc-plt.def: New file.
3694 * arc-plt.h: Likewise.
3695 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
3696 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
3697 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
3698 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
3699 (name_for_global_symbol): Added.
3700 (ADD_RELA): Helper to create dynamic relocs.
3701 (new_got_entry_to_list): Create a new got entry in linked list.
3702 (symbol_has_entry_of_type): Search for specific type of entry in
3704 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
3705 (is_reloc_for_TLS, arc_elf_set_private_flags)
3706 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
3707 (arc_elf_merge_private_bfd_data): New functions.
3708 (debug_arc_reloc): Cleaned debug info printing.
3709 (PDATA reloc): Changed not to perform address alignment.
3710 (reverse_me): Added. Fix for ARC_32 relocs.
3711 (arc_do_relocation): Return bfd_reloc_of when no relocation should
3713 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
3714 Changed function to access an array of list of GOT entries instead
3715 of just an array of offsets.
3716 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
3717 (elf_arc_check_relocs): Likewise.
3718 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
3719 (elf_arc_finish_dynamic_sections): Likewise
3720 (arc_create_dynamic_sections): Modified conditions to create
3722 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
3723 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
3724 (relocate_plt_for_entry): Changed to support new way to define PLT
3726 (add_symbol_to_plt): Likewise.
3727 (arc_elf_link_hash_table_create): New function.
3729 2016-01-18 Nick Clifton <nickc@redhat.com>
3732 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
3733 section number into internal section number.
3734 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
3735 * coffswap.h (coff_swap_sym_in): Likewise.
3736 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
3737 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
3738 section number field is big enough to hold the external value.
3740 2016-01-17 Alan Modra <amodra@gmail.com>
3742 * configure: Regenerate.
3744 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
3746 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
3747 when address in first unwind entry does not match start of
3750 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
3751 Jiong Wang <jiong.wang@arm.com>
3754 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
3757 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
3759 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
3760 place 'R_' before the reloc name returned.
3761 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
3762 the relocation string.
3764 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3766 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
3767 factored out from...
3768 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3770 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3772 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
3773 attribute check after ELF file header flag check.
3775 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3777 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
3778 return status from `_bfd_elf_merge_object_attributes'.
3780 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3782 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
3783 factored out from...
3784 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3786 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3788 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
3789 handling of input MIPS ABI flags together.
3791 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3793 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
3794 attribute checks for null input.
3796 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3798 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
3799 pointers to target data.
3801 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3803 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
3806 2016-01-01 Alan Modra <amodra@gmail.com>
3808 Update year range in copyright notice of all files.
3810 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
3812 Copyright (C) 2016 Free Software Foundation, Inc.
3814 Copying and distribution of this file, with or without modification,
3815 are permitted in any medium without royalty provided the copyright
3816 notice and this notice are preserved.
3822 version-control: never