DJGPP port of binutils broken due to 64 bit cygwin fix
[binutils-gdb.git] / bfd / ChangeLog
1 2015-06-15 Alan Modra <amodra@gmail.com>
2
3 * cofflink.c (_bfd_coff_generic_relocate_section): Revert
4 2014-03-26 change. Call _bfd_clear_contents for relocs against
5 local and global symbols defined in discarded input sections.
6
7 2015-06-05 Nick Clifton <nickc@redhat.com>
8
9 * elf32-msp430.c (rl78_sym_diff_handler): New function.
10 (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
11 (msp430x_howto_table): Likewise.
12
13 2015-06-05 Alan Modra <amodra@gmail.com>
14
15 * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
16 relocs with insns moved by --ppc476-workaround. Correct
17 output of REL16 relocs.
18
19 2015-06-01 Jiong Wang <jiong.wang@arm.com>
20
21 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
22 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
23 (elfNN_aarch64_final_link_relocate): Ditto.
24 (elfNN_aarch64_gc_swap_hook): Ditto.
25 (elfNN_aarch64_check_relocs): Ditto.
26 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
27
28 2015-06-01 Jiong Wang <jiong.wang@arm.com>
29
30 * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
31 * bfd-in2.h: Regenerate.
32 * libbfd.h: Regenerate.
33 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
34 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
35
36 2015-06-01 Jiong Wang <jiong.wang@arm.com>
37
38 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
39 complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
40 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
41 PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
42
43 2015-06-01 Jiong Wang <jiong.wang@arm.com>
44
45 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
46 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
47 (elfNN_aarch64_final_link_relocate): Ditto.
48 (elfNN_aarch64_gc_swap_hook): Ditto.
49 (elfNN_aarch64_check_relocs): Ditto.
50 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
51
52 2015-06-01 Jiong Wang <jiong.wang@arm.com>
53
54 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
55 * bfd-in2.h: Regenerate.
56 * libbfd.h: Regenerate.
57 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
58 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
59
60 2015-05-28 Catherine Moore <clm@codesourcery.com>
61 Bernd Schmidt <bernds@codesourcery.com>
62 Paul Brook <paul@codesourcery.com>
63
64 bfd/
65 * bfd-in2.h: Regenerated.
66 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
67 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
68 (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
69 eh_frame_hdr_info.
70 (compact_eh_frame_hdr_info): Declare.
71 (eh_frame_hdr_info): Redeclare with union for dwarf-specific
72 fields and compact-eh fields.
73 (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
74 (bfd_elf_section_data): Add eh_frame_entry_field.
75 (elf_section_eh_frame_entry): Define.
76 (bfd_elf_parse_eh_frame_entries): Declare.
77 (_bfd_elf_parse_eh_frame_entry): Declare.
78 (_bfd_elf_end_eh_frame_parsing): Declare.
79 (_bfd_elf_write_section_eh_frame_entry): Declare.
80 (_bfd_elf_eh_frame_entry_present): Declare.
81 (_bfd_elf_section_for_symbol): Declare.
82 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
83 (bfd_elf_record_eh_frame_entry): New function.
84 (_bfd_elf_parse_eh_frame_entry): New function.
85 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
86 (cmp_eh_frame_hdr): New function.
87 (add_eh_frame_hdr_terminator): New function.
88 (_bfd_elf_end_eh_frame_parsing): New function.
89 (find_merged_cie): Update hdr_info field references.
90 (_bfd_elf_discard_section_eh_frame): Likewise.
91 (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
92 (_bfd_elf_eh_frame_entry_present): New function.
93 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
94 (_bfd_elf_write_section_eh_frame_entry): New function.
95 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
96 (_bfd_elf_fixup_eh_frame_hdr): New function.
97 (write_compact_eh_frame_hdr): New function.
98 (write_dwarf_eh_frame_hdr): New function.
99 (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
100 * elflink.c (_bfd_elf_section_for_symbol): New function.
101 (elf_section_ignore_discarded_relocs): Add Compact EH support.
102 (elf_link_input_bfd): Likewise.
103 (bfd_elf_final_link): Likewise.
104 (_bfd_elf_gc_mark): Likewise.
105 (bfd_elf_parse_eh_frame_entries): New function.
106 (bfd_elf_gc_sections): Add Compact EH support.
107 (bfd_elf_discard_info): Likewise.
108 * elfxx-mips.c: Include dwarf2.h.
109 (_bfd_mips_elf_compact_eh_encoding): New function.
110 (_bfd_mips_elf_cant_unwind_opcode): New function.
111 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
112 (_bfd_mips_elf_cant_unwind_opcode): Declare.
113 (elf_backend_compact_eh_encoding): Define.
114 (elf_backend_cant_unwind_opcode): Define.
115 * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
116 (elf_backend_cant_unwind_opcode): Provide default.
117 (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
118 elf_backend_cant_unwind_opcode.
119 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
120
121 2015-05-27 H.J. Lu <hongjiu.lu@intel.com>
122
123 PR binutils/18458
124 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
125 for now binding only if pointer equality isn't needed.
126 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
127 binding only if pointer equality isn't needed.
128 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
129 section for now binding only if pointer equality isn't needed.
130 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
131 binding only if pointer equality isn't needed.
132
133 2015-05-26 H.J. Lu <hongjiu.lu@intel.com>
134
135 PR binutils/18437
136 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
137 in .rel.plt/.rela.plt.
138 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
139
140 2015-05-19 Jiong Wang <jiong.wang@arm.com>
141
142 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
143 relocation case labels alphabetically.
144 (elfNN_aarch64_final_link_relocate): Ditto.
145 (elfNN_aarch64_tls_relax): Ditto.
146 (elfNN_aarch64_relocate_section): Ditto.
147 (elfNN_aarch64_gc_sweep_hook): Ditto.
148 (elfNN_aarch64_check_relocs): Ditto.
149 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
150 (_bfd_aarch64_elf_resolve_relocation): Ditto.
151
152 2015-05-18 Jiong Wang <jiong.wang@arm.com>
153
154 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
155 comments.
156
157 2015-05-16 H.J. Lu <hongjiu.lu@intel.com>
158
159 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
160 for now binding.
161 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
162 binding.
163 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
164 section for now binding.
165 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
166 binding.
167
168 2015-05-14 H.J. Lu <hongjiu.lu@intel.com>
169
170 * bfd.c (bfd_update_compression_header): Also write the zlib
171 header if the SHF_COMPRESSED bit cleared..
172 (bfd_check_compression_header): Return the uncompressed size.
173 * compress.c (decompress_contents): Don't skip the zlib header.
174 (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB,
175 which doesn't have the zlib header.
176 (bfd_init_section_decompress_status): Likewise.
177 (bfd_get_full_section_contents): Updated.
178 (bfd_is_section_compressed): Likewise.
179 (bfd_is_section_compressed_with_header): Return the uncompressed
180 size.
181 * elf.c (_bfd_elf_make_section_from_shdr): Updated.
182 * bfd-in2.h: Regenerated.
183
184 2015-05-14 Jiong Wang <jiong.wang@arm.com>
185
186 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
187 check restrictions.
188
189 2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
190
191 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
192 as GOT reference when plt.refcount is not positive.
193
194 2015-05-12 H.J. Lu <hongjiu.lu@intel.com>
195
196 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space
197 for the first .plt entry only if needed.
198 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
199
200 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
201
202 * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
203 (ALL_MACHINES_CFILES): Likewise.
204 * archures.c (bfd_mach_iamcu): New.
205 (bfd_mach_i386_iamcu): Likewise.
206 (bfd_mach_i386_iamcu_intel_syntax): Likewise.
207 (bfd_iamcu_arch): Likewise.
208 (bfd_archures_list): Add &bfd_iamcu_arch.
209 * config.bfd (targ_selvecs): Add iamcu_elf32_vec to
210 i386_elf32_vec.
211 (targ_archs): Add bfd_iamcu_arch if needed.
212 * configure.ac: Support iamcu_elf32_vec.
213 * cpu-iamcu.c: New file.
214 * elf32-i386.c (elf32_iamcu_elf_object_p): New function.
215 Add support for iamcu_elf32_vec and elf32_iamcu_bed.
216 * targets.c (iamcu_elf32_vec): New.
217 (_bfd_target_vector): Add iamcu_elf32_vec.
218 * Makefile.in: Regenerated.
219 * bfd-in2.h: Likewise.
220 * configure: Likewise.
221
222 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
223
224 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
225
226 2015-05-10 H.J. Lu <hongjiu.lu@intel.com>
227
228 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
229 and output_bfd with abfd.
230 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
231
232 2015-05-06 Toni Spets <toni.spets@iki.fi>
233
234 PR ld/18372
235 * peXXigen.c (rsrc_process_section): Skip discarded resource
236 sections.
237
238 2015-05-01 H.J. Lu <hongjiu.lu@intel.com>
239
240 * config.bfd: Support i[3-7]86-*-elf*.
241
242 2015-04-30 H.J. Lu <hongjiu.lu@intel.com>
243
244 * elf32-i386.c (elf_backend_post_process_headers): Undef for
245 Solaris 2.
246
247 2015-04-30 Nick Clifton <nickc@redhat.com>
248
249 PR 18317
250 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
251 mep_reloc.
252 (mep_reloc): Delete unused function.
253
254 2015-04-29 Nick Clifton <nickc@redhat.com>
255
256 PR 17099
257 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
258 relocs.
259
260 2015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
261
262 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
263 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
264 elf_s390_merge_obj_attributes.
265 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
266
267 2015-04-24 Jiong Wang <jiong.wang@arm.com>
268
269 PR ld/18270
270 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
271 GOT_NORMAL for both sgot/srelgot section.
272 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
273 and generate necessary runtime relocation for GOT entry.
274
275 2015-04-24 H.J. Lu <hongjiu.lu@intel.com>
276
277 PR binutils/18209
278 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
279
280 2015-04-24 Jiong Wang <jiong.wang@arm.com>
281
282 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
283 PC-relative relocation for external symbol.
284
285 2015-04-24 Nick Clifton <nickc@redhat.com>
286
287 PR 18313
288 * compress.c (decompress_contents): Zero initialse the z_stream
289 structure.
290
291 2015-04-24 Nick Clifton <nickc@redhat.com>
292
293 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
294 local labels to include local labels with a numeric suffix and
295 fake symbols.
296
297 2015-04-24 H.J. Lu <hongjiu.lu@intel.com>
298
299 PR binutils/18316
300 * section.c (SEC_MEP_VLIW): New.
301 * bfd-in2.h: Regenerated.
302
303 2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
304
305 PR ld/18277
306 * compress.c (bfd_compress_section_contents): Remove the
307 write_compress argument.
308 (bfd_init_section_compress_status): Updated.
309 (bfd_compress_section): Likewise.
310 * elf.c (_bfd_elf_set_reloc_sh_name): New.
311 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
312 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
313 _bfd_elf_set_reloc_sh_name.
314 (elf_fake_sections): Don't rename DWARF debug section for
315 linker output if it will be compressed. Instead, set
316 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
317 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
318 sh_name != (unsigned int) -1. Don't finalize nor assign
319 shstrtab section here. Delay setting output section names to
320 _bfd_elf_write_object_contents.
321 (_bfd_elf_compute_section_file_positions): Update comments on
322 sh_offset for shstrtab section.
323 (assign_file_positions_for_non_load_sections): Set sh_offset to
324 -1 for shstrtab section.
325 (assign_file_positions_except_relocs): Likewise.
326 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
327 when compressing DWARF debug sections. Place shstrtab section
328 after DWARF debug sections have been compressed.
329 (_bfd_elf_write_object_contents): Setting sh_name for output
330 sections.
331
332 2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
333
334 PR binutils/18209
335 * bfd.c (bfd): Add is_linker_input.
336 * elf.c (convert_debug_to_zdebug): New.
337 (convert_zdebug_to_debug): Likewise.
338 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
339 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
340 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
341 instead of a pointer to section.
342 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
343 is set.
344 * section.c (SEC_ELF_RENAME): New.
345 * bfd-in2.h: Regenerated.
346
347 2015-04-23 Alan Modra <amodra@gmail.com>
348
349 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
350 (ppc64_elf_next_toc_section): Align multi-got toc base.
351 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
352 =======
353 2015-05-04 Catherine Moore <clm@codesourcery.com>
354
355 * elfxx-target.h: Add missing #endif.
356
357 2015-04-22 Catherine Moore <clm@codesourcery.com>
358
359 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_entry): Don't write
360 the .eh_frame_entry section if the corresponding text section is marked
361 with SEC_EXCLUDE.
362
363 2015-04-22 Catherine Moore <clm@codesourcery.com>
364 Bernd Schmidt <bernds@codesourcery.com>
365 Paul Brook <paul@codesourcery.com>
366
367 * bfd-in2.h (SEC_INFO_TYPE_EH_FRAME_ENTRY): Define.
368 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
369 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
370 (dwarf_eh_frame_hdr_info): New struct.
371 (compact_eh_frame_hdr_info): New struct.
372 (eh_frame_hdr_info): Separate dwarf and compact fields.
373 (elf_backend_data): Add compact_eh_encoding and cant_unwind_opcode
374 fields.
375 (bfd_elf_section_data): Add eh_frame_entry field.
376 (elf_section_eh_frame_entry): Define.
377 (bfd_elf_parse_eh_frame_entries): Declare.
378 (_bfd_elf_parse_eh_frame_entry): Declare.
379 (_bfd_elf_end_eh_frame_parsing): Declare.
380 (_bfd_elf_write_section_eh_frame_entry): Declare.
381 (_bfd_elf_fixup_eh_frame_hdr): Declare.
382 (_bfd_elf_eh_frame_entry_present): Declare.
383 (_bfd_elf_section_for_symbol): Declare.
384 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
385 (bfd_elf_record_eh_frame_entry): New function.
386 (_bfd_elf_parse_eh_frame_entry): New function.
387 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
388 (cmp_eh_frame_hdr): New function.
389 (add_eh_frame_hdr_terminator): New function.
390 (_bfd_elf_end_eh_frame_parsing): New function.
391 (find_merged_cie): Update hdr_info field references.
392 (_bfd_elf_discard_section_eh_frame): Likewise.
393 (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
394 Add Compact EH support.
395 (_bfd_elf_eh_frame_entry_present): New function.
396 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
397 (_bfd_elf_write_section_eh_frame_entry): New function.
398 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
399 (_bfd_elf_write_section_eh_frame): Likewise.
400 (_bfd_elf_fixup_eh_frame_hdr): New function.
401 (write_compact_eh_frame_hdr): New function.
402 (_bfd_elf_write_section_eh_frame_hdr): Compact EH support. Update
403 hdr_info field references.
404 * elflink.c (_bfd_elf_section_for_symbol): New function.
405 (elf_section_ignore_discarded_relocs, elf_link_input_bfd):
406 Handle SEC_INFO_TYPE_EH_FRAME_ENTRY.
407 (bfd_elf_final_link): Call _bfd_elf_fixup_eh_frame_hdr.
408 (_bfd_elf_gc_mark): Support Compact EH.
409 (bfd_elf_parse_eh_frame_entries): New function.
410 (bfd_elf_gc_sections): Support Compact EH.
411 (bfd_elf_discard_info): Likewise.
412 * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding): New function.
413 (_bfd_mips_elf_cant_unwind_opcode): New function.
414 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
415 (_bfd_mips_elf_cant_unwind_opcode): Declare.
416 (elf_backend_compact_eh_encoding): Define.
417 (elf_backend_cant_unwind_opcode): Define.
418 * elfxx-target.h (elf_backend_compact_eh_encoding):
419 Provide default definition.
420 (elf_backend_cant_unwind_opcode): Provide default definition.
421 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Define.
422 >>>>>>> 2015-05-04 Catherine Moore <clm@codesourcery.com>
423
424 2015-04-22 H.J. Lu <hongjiu.lu@intel.com>
425
426 PR ld/18289
427 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
428 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
429 (elf_i386_create_dynamic_sections): Always allow copy relocs for
430 building executables.
431 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
432 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
433 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
434 PIE and R_386_GOTOFF.
435 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
436
437 2015-04-20 H.J. Lu <hongjiu.lu@intel.com>
438
439 * elf.c (assign_section_numbers): Always set up sh_name.
440
441 2015-04-20 H.J. Lu <hongjiu.lu@intel.com>
442
443 * elf.c (assign_file_positions_for_non_load_sections): Iterate
444 sections by pointer.
445 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
446
447 2015-04-14 H.J. Lu <hongjiu.lu@intel.com>
448
449 * bfd-in.h (compressed_debug_section_type): New.
450 * compress.c (bfd_compress_section_contents): Add an argument
451 for linker write compression and always generate .zdebug_*
452 section when linking.
453 (bfd_init_section_compress_status): Pass FALSE to
454 bfd_compress_section_contents.
455 (bfd_compress_section): New function.
456 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
457 on DWARF debug sections if COMPRESS_DEBUG is set and rename
458 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
459 (assign_file_positions_for_non_load_sections): Set sh_offset
460 to -1 if SEC_ELF_COMPRESS is set.
461 (assign_file_positions_except_relocs): Likwise.
462 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
463 (_bfd_elf_assign_file_positions_for_non_load): This. Change
464 return time to bfd_boolean. Compress the section if
465 SEC_ELF_COMPRESS is set.
466 (_bfd_elf_write_object_contents): Updated.
467 (_bfd_elf_set_section_contents): Write section contents to
468 the buffer if SEC_ELF_COMPRESS is set.
469 * merge.c: Include "elf-bfd.h".
470 (sec_merge_emit): Add arguments for contents and offset. Write
471 to contents with offset if contents isn't NULL.
472 (_bfd_write_merged_section): Write section contents to the
473 buffer if SEC_ELF_COMPRESS is set. Pass contents and
474 output_offset to sec_merge_emit.
475 * elflink.c (bfd_elf_final_link): Allocate the buffer for
476 output section contents if SEC_ELF_COMPRESS is set.
477 * section.c (SEC_ELF_COMPRESS): New.
478 * bfd-in2.h: Regenerated.
479
480 2015-04-15 Alan Modra <amodra@gmail.com>
481
482 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
483
484 2015-04-14 Nick Clifton <nickc@redhat.com>
485
486 * elf32-rl78.c (RL78_OP_REL): New macro.
487 (rl78_elf_howto_table): Use it for complex relocs.
488 (get_symbol_value): Handle the cases when the info or status
489 arguments are NULL.
490 (get_romstart): Cache the status returned by get_symbol_value.
491 (get_ramstart): Likewise.
492 (RL78_STACK_PUSH): Generate an error message if the stack
493 overflows.
494 (RL78_STACK_POP): Likewise for underflows.
495 (rl78_compute_complex_reloc): New function. Contains the basic
496 processing code for all RL78 complex relocs.
497 (rl78_special_reloc): New function. Provides special reloc
498 handling for complex relocs.
499 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
500 (rl78_offset_for_reloc): Likewise.
501
502 2015-04-14 H.J. Lu <hongjiu.lu@intel.com>
503
504 PR ld/pr17709
505 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
506 info->extern_protected_data when warning copy relocs against
507 protected symbols.
508 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
509 when checking protected non-function symbols.
510
511 2015-04-13 John Baldwin <jhb@FreeBSD.org>
512
513 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
514 FreeBSD.
515 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
516
517 2015-04-13 H.J. Lu <hongjiu.lu@intel.com>
518
519 PR ld/18250
520 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
521 if the object has been claimed by plugin.
522
523 2015-04-11 H.J. Lu <hongjiu.lu@intel.com>
524
525 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
526 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
527 protected data symbol when building shared library.
528 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
529 R_X86_64_GOTOFF64 against undefined symbol and replace
530 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
531 R_X86_64_GOTOFF64 against protected data symbol when building
532 shared library.
533
534 2015-04-10 H.J. Lu <hongjiu.lu@intel.com>
535
536 PR ld/pr17709
537 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
538 against protected data symbol when building shared library.
539 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
540 R_X86_64_GOTOFF64 against protected data symbol when building
541 shared library.
542
543 2015-04-10 H.J. Lu <hongjiu.lu@intel.com>
544
545 PR ld/pr15228
546 PR ld/pr17709
547 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
548 * elf32-i386.c (elf_backend_extern_protected_data): New.
549 Defined to 1.
550 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
551 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
552 copy relocs against protected symbols if extern_protected_data
553 is true.
554 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
555 non-function symbols if extern_protected_data is true.
556 * elfxx-target.h (elf_backend_extern_protected_data): New.
557 Default to 0.
558 (elfNN_bed): Initialize extern_protected_data with
559 elf_backend_extern_protected_data.
560
561 2015-04-10 H.J. Lu <hongjiu.lu@intel.com>
562
563 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
564 and free with bfd_alloc and bfd_release on compressed buffer.
565 Release buffer if compressed section isn't smaller.
566
567 2015-04-10 Alan Modra <amodra@gmail.com>
568
569 PR ld/18222
570 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
571 on adding a protected visibility variable to .dynbss.
572
573 2015-04-10 Alan Modra <amodra@gmail.com>
574
575 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
576 PR ld/pr15228
577 PR ld/pr17709
578 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
579 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
580 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
581 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
582 extern_protected_data test.
583 (_bfd_elf_symbol_refs_local_p): Likewise.
584 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
585 (elfNN_bed): Delete elf_backend_extern_protected_data init.
586
587 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
588
589 * compress.c (bfd_compress_section_contents): Update comments.
590 (bfd_init_section_decompress_status): Likewise.
591 (bfd_init_section_compress_status): Likewise.
592
593 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
594
595 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
596 object_flags.
597 (TARGET_LITTLE_SYM): Likewise.
598
599 2015-04-09 Max Filippov <jcmvbkbc@gmail.com>
600
601 * elf32-xtensa.c (splay-tree.h): include header.
602 (text_action_struct): drop next pointer.
603 (text_action_list_struct): drop head pointer, add count and
604 tree fields.
605 (find_fill_action): instead of linear search in text_action_list
606 search in the tree.
607 (text_action_compare, action_first, action_next): new functions.
608 (text_action_add, text_action_add_literal): instead of linear
609 search and insertion insert new node into the tree.
610 (removed_by_actions): pass additional parameter: action_list,
611 use it to traverse the tree.
612 (offset_with_removed_text): pass additional action_list parameter
613 to removed_by_actions.
614 (map_action_fn_context): new typedef.
615 (map_action_fn_context_struct): new structure.
616 (map_action_fn): new function.
617 (map_removal_by_action): use splay_tree_foreach to build map.
618 (find_insn_action): replace linear search in text_action_list
619 with series of splay_tree_lookups.
620 (print_action, print_action_list_fn): new functions.
621 (print_action_list): use splay_tree_foreach.
622 (init_xtensa_relax_info): drop action_list.head initialization.
623 Initialize the tree.
624 (compute_text_actions): use non-zero action_list_count instead of
625 non-NULL action list.
626 (xlate_map_context): new typedef.
627 (xlate_map_context_struct): new structure.
628 (xlate_map_fn): new function.
629 (build_xlate_map): use splay_tree_foreach to build map.
630 (action_remove_bytes_fn): new function.
631 (relax_section): use zero action_list_count instead of NULL
632 action list. Use splay_tree_foreach to count final section size.
633 Drop unused variable 'removed'.
634
635 2015-04-09 Max Filippov <jcmvbkbc@gmail.com>
636
637 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
638 (removed_literal_map_entry_struct): new structure.
639 (removed_literal_list_struct): add new fields: n_map and map.
640 (map_removed_literal, removed_literal_compare): new functions.
641 (find_removed_literal): build index array for literals ordered
642 by VMA, use binary search to find removed literal.
643
644 2015-04-09 Max Filippov <jcmvbkbc@gmail.com>
645
646 * elf32-xtensa.c (removal_by_action_entry_struct,
647 removal_by_action_map_struct): new structures.
648 (removal_by_action_entry, removal_by_action_map): new typedefs.
649 (text_action_list_struct): add new field: map.
650 (map_removal_by_action, removed_by_actions_map,
651 offset_with_removed_text_map): new functions.
652 (relax_section): replace offset_with_removed_text with
653 offset_with_removed_text_map.
654 (translate_reloc, relax_property_section, relax_section_symbols):
655 replace removed_by_actions with removed_by_actions_map.
656
657 2015-04-09 Max Filippov <jcmvbkbc@gmail.com>
658
659 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
660 reloc_range): new typedef.
661 (reloc_range_list_struct, reloc_range_list_entry_struct,
662 reloc_range_struct): new structures.
663 (reloc_range_compare, build_reloc_ranges,
664 reloc_range_list_append, reloc_range_list_remove,
665 reloc_range_list_update_range, free_reloc_range_list): new
666 functions.
667 (compute_text_actions): precompute relocation opcodes before the
668 loop. Add relevant_relocs variable, initialize it before the
669 loop, pass it to the check_section_ebb_pcrels_fit.
670 (check_section_ebb_pcrels_fit): add new parameter:
671 relevant_relocs. Update address range in the relevant_relocs if
672 it's non-NULL and iterate only over relevant relocations.
673
674 2015-04-09 Nick Clifton <nickc@redhat.com>
675
676 * elf32-rx.c (describe_flags): Report the settings of the string
677 insn using bits.
678 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
679 using bits.
680
681 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
682
683 * compress.c (bfd_compress_section_contents): Work around a GCC
684 uninitialized warning bug fixed in GCC 4.7.
685
686 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
687
688 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
689 bit.
690 * bfd.c (bfd::flags): Increase size to 18 bits.
691 (BFD_COMPRESS_GABI): New.
692 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
693 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
694 (bfd_update_compression_header): New fuction.
695 (bfd_check_compression_header): Likewise.
696 (bfd_get_compression_header_size): Likewise.
697 (bfd_is_section_compressed_with_header): Likewise.
698 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
699 (bfd_compress_section_contents): Return the uncompressed size if
700 the full section contents is compressed successfully. Support
701 converting from/to .zdebug* sections.
702 (bfd_get_full_section_contents): Call
703 bfd_get_compression_header_size to get compression header size.
704 (bfd_is_section_compressed): Renamed to ...
705 (bfd_is_section_compressed_with_header): This. Add a pointer
706 argument to return compression header size.
707 (bfd_is_section_compressed): Use it.
708 (bfd_init_section_decompress_status): Call
709 bfd_get_compression_header_size to get compression header size.
710 Return FALSE if uncompressed section size is 0.
711 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
712 from/to .zdebug* sections.
713 * bfd-in2.h: Regenerated.
714
715 2015-04-07 Alan Modra <amodra@gmail.com>
716
717 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
718 mapped to output .got section.
719
720 2015-04-07 Alan Modra <amodra@gmail.com>
721
722 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
723 and has_addr16_lo. Make has_sda_refs a bitfield.
724 (ppc_elf_check_relocs): Set new flags.
725 (ppc_elf_link_hash_table_create): Update default_params.
726 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
727 where we won't be making .dynbss entries or editing code. Set
728 params->pic_fixup when we'll edit code for protected var access.
729 (allocate_dynrelocs): Allocate got entry for edited code and
730 discard dyn_relocs.
731 (struct ppc_elf_relax_info): Add picfixup_size.
732 (ppc_elf_relax_section): Rename struct one_fixup to struct
733 one_branch_fixup. Rename fixups to branch_fixups. Size space for
734 pic fixups.
735 (ppc_elf_relocate_section): Edit non-PIC accessing protected
736 visibility variables to PIC. Don't emit dyn_relocs for code
737 we've edited.
738 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
739
740 2015-04-07 Nick Clifton <nickc@redhat.com>
741
742 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
743 local labels as local.
744
745 2015-04-06 H.J. Lu <hongjiu.lu@intel.com>
746
747 * compress.c (get_uncompressed_size): Removed.
748 (bfd_compress_section_contents): Use bfd_putb64 to write
749 uncompressed section size.
750 (bfd_init_section_decompress_status): Replace
751 get_uncompressed_size with bfd_getb64.
752
753 2015-04-04 H.J. Lu <hongjiu.lu@intel.com>
754
755 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
756 SHF_COMPRESSED bit if not decompress.
757
758 2015-04-04 H.J. Lu <hongjiu.lu@intel.com>
759
760 * compress.c (get_uncompressed_size): New. Extracted from ...
761 (bfd_init_section_decompress_status): This. Use it.
762
763 2015-04-02 Andrew Turner <andrew@freebsd.org>
764
765 * config.bfd: Add aarch64-*-freebsd* target triple.
766
767 2015-04-02 H.J. Lu <hongjiu.lu@intel.com>
768
769 * configure: Regenerated.
770
771 2015-04-01 Tejas Belagod <tejas.belagod@arm.com>
772 Marcus Shawcroft <marcus.shawcroft@arm.com>
773 Jiong Wang <jiong.wang@arm.com>
774
775 * bfd-in.h (bfd_elf64_aarch64_set_options)
776 (bfd_elf32_aarch64_set_options): Add parameter.
777 * bfd-in2.h: Regenerated.
778 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
779 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
780 (_bfd_aarch64_erratum_843419_stub_name)
781 (_bfd_aarch64_erratum_843419_fixup)
782 (_bfd_aarch64_erratum_843419_scan)
783 (_bfd_aarch64_erratum_843419_branch_to_stub)
784 (_bfd_aarch64_erratum_843419_p): Define.
785 (enum elf_aarch64_stub_type): Define
786 aarch64_stub_erratum_843419_veneer.
787 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
788 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
789 and fix_erratum_843419_adr.
790 (stub_hash_newfunc): Initialize adrp_offset;
791 (_bfd_aarch64_add_stub_entry_after): Define.
792 (aarch64_map_one_stub, aarch64_build_one_stub)
793 (aarch64_size_one_stub): Handle
794 aarch64_stub_erratum_843419_veneer.
795 (_bfd_aarch64_resize_stubs): Round stub section size.
796 (elfNN_aarch64_size_stubs): Add scan for 843419.
797 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
798 fix_erratum_843419 and fix_erratum_843419_adr.
799 (struct erratum_835769_branch_to_stub_data): Add info.
800 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
801 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
802 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
803 (_bfd_aarch64_sign_extend): Define.
804 (reencode_adr_imm): Remove static. Rename to:
805 (_bfd_aarch64_reencode_adr_imm): Define.
806 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
807 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
808 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
809 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
810 Define.
811
812 2015-04-01 H.J. Lu <hongjiu.lu@intel.com>
813
814 * configure: Regenerated.
815
816 2015-03-31 Ed Schouten <ed@nuxi.nl>
817
818 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
819 for x86_64-*-cloudabi*.
820 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
821 * configure: Regenerated.
822 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
823 (TARGET_LITTLE_NAME): Likewise.
824 (ELF_OSABI): Likewise.
825 (elf64_bed): Likewise.
826 * targets.c (x86_64_elf64_cloudabi_vec): New.
827 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
828
829 2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
830
831 * configure.ac: Revert the AM_ZLIB change.
832 * Makefile.in: Regenerated.
833 * aclocal.m4: Likewise.
834 * configure: Likewise.
835 * doc/Makefile.in: Likewise.
836
837 2015-03-30 H.J. Lu <hongjiu.lu@intel.com>
838
839 PR ld/18169
840 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
841 (_bfd_elf_get_reloc_section): New.
842 * elf.c (_bfd_elf_get_reloc_section): Likewise.
843 (assign_section_numbers): Call get_reloc_section to look up the
844 section the relocs apply.
845 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
846 (elfNN_bed): Initialize get_reloc_section with
847 elf_backend_get_reloc_section.
848
849 2015-03-29 H.J. Lu <hongjiu.lu@intel.com>
850
851 * Makefile.am (ZLIB): New.
852 (ZLIBINC): Likewise.
853 (AM_CFLAGS): Add $(ZLIBINC).
854 (libbfd_la_LIBADD): Add $(ZLIB).
855 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
856 (decompress_contents): Don't check HAVE_ZLIB_H.
857 (bfd_compress_section_contents): Likewise.
858 (bfd_get_full_section_contents): Likewise.
859 (bfd_init_section_decompress_status): Likewise.
860 (bfd_init_section_compress_status): Likewise.
861 * configure.ac (AM_ZLIB): Removed.
862 (zlibdir): New. AC_SUBST.
863 (zlibinc): Likewise.
864 Add --with-system-zlib.
865 * Makefile.in: Regenerated.
866 * acinclude.m4: Likewise.
867 * config.in: Likewise.
868 * configure: Likewise.
869 * doc/Makefile.in: Likewise.
870
871 2015-03-27 Alan Modra <amodra@gmail.com>
872
873 PR ld/15228
874 PR ld/18167
875 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
876 protected_def when symbol section is read-only. Adjust all calls.
877 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
878
879 2015-03-26 Tejas Belagod <tejas.belagod@arm.com>
880
881 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
882 _bfd_final_link_relocate with aarch64_relocate.
883
884 2015-03-26 H.J. Lu <hongjiu.lu@intel.com>
885
886 PR ld/18160
887 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
888 (bfd_elf_gc_sections): Likewise.
889
890 2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
891
892 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
893 size for initial branch.
894 (elfNN_aarch64_build_stubs): Write initial branch.
895 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
896 mapping symbol on initial branch.
897
898 2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
899
900 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
901 Update erratum count.
902
903 2015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
904
905 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
906 first matching debug section.
907
908 2015-03-24 H.J. Lu <hongjiu.lu@intel.com>
909
910 PR gas/18087
911 * compress.c (bfd_compress_section_contents): Don't write the
912 zlib header and set contents as well as compress_status if
913 compression didn't make the section smaller.
914 (bfd_init_section_compress_status): Don't check compression
915 size here.
916
917 2015-03-24 Nick Clifton <nickc@redhat.com>
918
919 PR binutils/17512
920 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
921 range auxillary sections.
922
923 2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
924
925 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
926 code into:
927 (_bfd_aarch64_get_stub_for_link_section): Define.
928
929 2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
930
931 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
932 update of section_group[].stub_sec.
933
934 2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
935
936 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
937 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
938 Delete fixes, fix_table_size and associated code. Call
939 _bfd_aarch64_add_stub_entry_in_group. Rename to...
940 (bfd_aarch64_erratum_835769_scan): Define.
941 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
942 erratum_835769_fix_table_size, i and associated code. Relocate
943 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
944 correction. Delete construction of stub entry from
945 erratum_835769_fixes array.
946
947 2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
948
949 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
950 _bfd_aarch64_add_stub_entry_in_group.
951
952 2015-03-24 Alan Modra <amodra@gmail.com>
953
954 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
955 stubs, even those for undefined weak symbols. Otherwise, don't
956 report relocation overflow on branches to undefined strong
957 symbols. Fix memory leak.
958 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
959 overflow on branches to undefined strong symbols.
960
961 2015-03-23 Keith Seitz <keiths@redhat.com>
962
963 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
964 missing ';'.
965
966 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
967
968 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
969 construction into...
970 (_bfd_aarch64_erratum_835769_stub_name): Define.
971
972 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
973
974 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
975 stub resize code into...
976 (bfd_aarch64_resize_stubs): Define.
977
978 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
979
980 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
981 creation code into...
982 (bfd_aarch64_create_stub_section): Define.
983
984 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
985
986 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
987 from elf_aarch64_create_or_find_stub_sec.
988 (_bfd_aarch64_add_stub_entry_in_group): Rename from
989 elfNN_aarch64_add_stub. Call
990 _bfd_aarch64_create_or_find_stub_sec.
991 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
992 _bfd_aarch64_add_stub_entry_in_group.
993
994 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
995
996 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
997 sense of boolean return.
998 (elfNN_aarch64_size_stubs): Adjust for above.
999
1000 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1001
1002 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
1003 Remove unused parameter.
1004 (elfNN_aarch64_size_stubs): Adjust for above.
1005
1006 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1007
1008 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
1009
1010 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1011
1012 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
1013 (num_aarch64_erratum_835769_fixes): Remove.
1014 (elfNN_aarch64_size_stubs): Remove assignments to above.
1015
1016 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1017
1018 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
1019 to rt2.
1020 (aarch64_erratum_seqeunce): Rename rtn to rt2.
1021
1022 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1023
1024 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
1025
1026 2015-03-19 Nick Clifton <nickc@redhat.com>
1027
1028 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
1029 the RL78 core based upon the flags.
1030 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
1031 flags.
1032 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
1033 (elf32_rl78_machine): Always return bfd_mach_rl78.
1034
1035 2015-03-19 Nick Clifton <nickc@redhat.com>
1036
1037 PR 18078
1038 * compress.c (bfd_compress_section_contents): Do not define this
1039 function if it is not used.
1040
1041 2015-03-18 H.J. Lu <hongjiu.lu@intel.com>
1042
1043 * compress.c (bfd_compress_section_contents): Make it static.
1044 * bfd/bfd-in2.h: Regenerated.
1045
1046 2015-03-18 Eric Youngdale <eyoungdale@ptc.com>
1047
1048 PR ld/16598
1049 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
1050 suitable for the AMD64.
1051
1052 2015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
1053 Nick Clifton <nickc@redhat.com>
1054
1055 PR binutils/18087
1056 * coffgen.c (make_a_section_from_file): Only prepend a z to a
1057 debug section's name if the section was actually compressed.
1058 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
1059 * compress.c (bfd_init_section_compress_status): Do not compress
1060 the section if doing so would make it bigger. In such cases leave
1061 the section alone and return COMPRESS_SECTION_NONE.
1062
1063 2015-03-17 Alan Modra <amodra@gmail.com>
1064
1065 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
1066 on nothing to do, before malloc of returned symbol array.
1067
1068 2015-03-16 Nick Clifton <nickc@redhat.com>
1069
1070 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
1071 stored in the elf_section_data structure then load them as
1072 necessary.
1073
1074 2015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1075
1076 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
1077 relocs against code sections.
1078 * elf32-s390.c: Define elf_backend_sort_relocs_p.
1079 * elf64-s390.c: Likewise.
1080
1081 2015-03-11 Alan Modra <amodra@gmail.com>
1082
1083 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
1084 reverse order. Account for larger size of __tls_get_addr_opt stub.
1085
1086 2015-03-10 Yuri Gribov <y.gribov@samsung.arm>
1087
1088 PR ld/16572
1089 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
1090 ELF_ARM_HASENTRY.
1091 (elf32_arm_print_private_bfd_data): Likewise.
1092
1093 2015-03-06 Nick Clifton <nickc@redhat.com>
1094
1095 PR binutils/17765
1096 * elflink.c (put_value): Like previous delta, but for the 32-bit
1097 case.
1098
1099 2015-03-05 Nick Clifton <nickc@redhat.com>
1100
1101 PR binutils/17765
1102 * elflink.c (put_value): Avoid using an undefined shift
1103 operation.
1104
1105 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
1106
1107 PR ld/pr15228
1108 PR ld/pr17709
1109 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
1110 * elf32-i386.c (elf_backend_extern_protected_data): New.
1111 Defined to 1.
1112 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
1113 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
1114 copy relocs against protected symbols if extern_protected_data
1115 is true.
1116 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
1117 non-function symbols if extern_protected_data is true.
1118 * elfxx-target.h (elf_backend_extern_protected_data): New.
1119 Default to 0.
1120 (elfNN_bed): Initialize extern_protected_data with
1121 elf_backend_extern_protected_data.
1122
1123 2015-03-05 Nick Clifton <nickc@redhat.com>
1124
1125 PR binutils/18025
1126 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
1127 lookup fails, check for an address bias in the dwarf info, and if
1128 one exists, retry the lookup with the biased value.
1129 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
1130 Determines if a bias exists bewteen the addresses of functions
1131 based on DWARF information vs symbol table information.
1132 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
1133 * libbfd.h: Regenerate.
1134
1135 2015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
1136
1137 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
1138 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
1139 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
1140
1141 2015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
1142
1143 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
1144 (aarch64_size_one_stub): Likewise.
1145 (aarch64_map_one_stub): Likewise.
1146
1147 2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
1148
1149 * cpu-s390.c (N): New macro.
1150 (bfd_s390_31_arch): New. Define only if default target word size
1151 is 64 bits. Otherwise define...
1152 (bfd_390_64_arch): ...this. Make static.
1153 (bfd_s390_arch): Define according to the default target word size.
1154 Let the 'next' field point to the alternate arch.
1155
1156 2015-03-04 Richard Sandiford <richard.sandiford@arm.com>
1157
1158 PR gas/17843
1159 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
1160 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
1161 to be used with MOVK rather than MOVZ.
1162
1163 2015-03-03 DJ Delorie <dj@redhat.com>
1164
1165 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
1166 there's a symbol.
1167
1168 2015-02-28 Alan Modra <amodra@gmail.com>
1169
1170 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
1171 not PLT_NEW.
1172
1173 2015-02-27 H.J. Lu <hongjiu.lu@intel.com>
1174
1175 * elf32-i386.c (need_convert_mov_to_lea): New.
1176 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
1177 (elf_i386_convert_mov_to_lea): Return TRUE if
1178 need_convert_mov_to_lea is unset.
1179 * elf64-x86-64.c (need_convert_mov_to_lea): New.
1180 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
1181 (elf_x86_64_convert_mov_to_lea): Return TRUE if
1182 need_convert_mov_to_lea is unset.
1183
1184 2015-02-27 Nick Clifton <nickc@redhat.com>
1185
1186 PR binutils/17910
1187 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
1188 string length overflow when the string table length is actually
1189 set.
1190
1191 2015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
1192
1193 * bfd/bfd-in2.h: Regenerate.
1194 * bfd/libbfd.h: Regenerate.
1195
1196 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1197
1198 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
1199 TLSDESC_LD_PREL19 field width and masks.
1200 (aarch64_tls_transition_without_check)
1201 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
1202 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
1203 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
1204 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
1205 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
1206 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1207
1208 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1209
1210 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
1211 tests.
1212 (aarch64_tls_transition_without_check)
1213 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
1214 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
1215 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
1216 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
1217 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
1218 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1219 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
1220
1221 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1222
1223 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
1224 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
1225 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
1226 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
1227 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
1228 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1229 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
1230 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1231 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
1232
1233 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1234
1235 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
1236 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
1237 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
1238 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
1239 (elfNN_aarch64_check_relocs): Handle
1240 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
1241
1242 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
1243 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1244
1245 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1246
1247 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
1248
1249 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1250
1251 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
1252 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
1253 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
1254 width.
1255
1256 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1257
1258 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
1259 field width.
1260
1261 2015-02-26 Nick Clifton <nickc@redhat.com>
1262
1263 PR binutils/17512
1264 * coffcode.h (coff_compute_section_file_positions): Report
1265 negative page sizes.
1266 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
1267 (assign_file_positions_for_non_load_sections): Replace assertion
1268 with an error message.
1269 (rewrite_elf_program_header): Handle excessive segment
1270 alignments.
1271 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
1272 (bfd_mach_o_read_section_64): Likewise.
1273 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
1274 print a bfd name, not %A.
1275
1276 2015-02-26 Alan Modra <amodra@gmail.com>
1277
1278 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
1279 thread-safe stubs for iplt.
1280 (build_tls_get_addr_stub): Restore r2 immediately after call.
1281
1282 2015-02-26 Terry Guo <terry.guo@arm.com>
1283
1284 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
1285 merge Tag_ABI_HardFP_use.
1286
1287 2015-02-26 Alan Modra <amodra@gmail.com>
1288
1289 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
1290 Use text relocs rather than giving an error on trying to use
1291 .dynbss for protected shared lib vars.
1292 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1293
1294 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
1295
1296 * elf32-avr.c (struct elf_avr_section_data): New structure.
1297 (struct avr_relax_info): New structure.
1298 (elf_avr_new_section_hook): New function.
1299 (struct elf_avr_section_data): Add relax_info.
1300 (get_avr_relax_info): New function.
1301 (init_avr_relax_info): New function.
1302 (elf32_avr_relax_delete_bytes): Find next property record before
1303 deleting bytes. When deleting don't move bytes beyond the next
1304 property record.
1305 (avr_elf32_assign_records_to_section): New function.
1306 (avr_property_record_compare): New function.
1307 (avr_load_all_property_sections): New function.
1308 (elf32_avr_relax_section): Load property data. After relaxing the
1309 section, move any .align directives that have enough deleted bytes
1310 before them.
1311 (bfd_elf32_new_section_hook): Define.
1312
1313 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
1314
1315 * elf32-avr.h (struct avr_property_header): New strucure.
1316 (avr_elf32_load_property_records): Declare.
1317 (avr_elf32_property_record_name): Declare.
1318 * elf32-avr.c: Add bfd_stdint.h include.
1319 (retrieve_local_syms): New function.
1320 (get_elf_r_symndx_section): New function.
1321 (get_elf_r_symndx_offset): New function.
1322 (internal_reloc_compare): New function.
1323 (struct avr_find_section_data): New structure.
1324 (avr_is_section_for_address): New function.
1325 (avr_find_section_for_address): New function.
1326 (avr_elf32_load_records_from_section): New function.
1327 (avr_elf32_load_property_records): New function.
1328 (avr_elf32_property_record_name): New function.
1329
1330 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
1331
1332 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
1333 (AVR_PROPERTY_RECORDS_VERSION): Define.
1334 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
1335 (struct avr_property_record): New structure.
1336
1337 2015-02-24 Nick Clifton <nickc@redhat.com>
1338
1339 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
1340 style note entry.
1341 (v850_elf_make_note_section): New function. Creates a note
1342 section.
1343 (v850_elf_create_sections): New function. Create a note section
1344 if one is not already present.
1345 (v850_elf_set_note): New function. Adds a note to a bfd.
1346 (v850_elf_copy_private_bfd_data): New function. Copies V850
1347 notes.
1348 (v850_elf_merge_notes): New function. Merges V850 notes.
1349 (print_v850_note): New function. Displays a V850 note.
1350 (v850_elf_print_notes): New function. Displays all notes attached
1351 to a bfd.
1352 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
1353 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
1354 (v850_elf_fake_sections): Set the type of the V850 note section.
1355 * bfd-in.h (v850_elf_create_sections): Add prototype.
1356 (v850_elf_set_note): Add prototype.
1357 * bfd-in2.h: Regenerate.
1358
1359 2015-02-24 Nick Clifton <nickc@redhat.com>
1360
1361 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
1362 * configure: Regenerate.
1363 * config.in: Regenerate.
1364 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
1365 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
1366 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
1367 is defined.
1368
1369 2015-02-24 Nick Clifton <nickc@redhat.com>
1370
1371 * pdp11.c (set_section_contents): Pad the .text and .data sections
1372 to their aligned sizes.
1373
1374 2015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
1375
1376 * config.bfd: Add h8300-*-linux.
1377 * configure.ac: Add h8300_elf32_linux_vec.
1378 * configure: Regenerate.
1379 * elf32-h8300.c: Likewise.
1380 * targets.c(_bfd_target_vector): Likewise.
1381
1382 2015-02-23 Nick Clifton <nickc@redhat.com>
1383
1384 PR 17914
1385 * cpu-w65.c: Correct typos in license notice.
1386
1387 PR 17940
1388 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
1389 symbols at end of sections. Adjust function sizes.
1390
1391 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
1392
1393 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
1394 (elfcore_write_s390_vxrs_high): Likewise.
1395 * elf.c (elfcore_grok_s390_vxrs_low): New function.
1396 (elfcore_grok_s390_vxrs_high): New function.
1397 (elfcore_grok_note): Call them.
1398 (elfcore_write_s390_vxrs_low): New function.
1399 (elfcore_write_s390_vxrs_high): New function.
1400 (elfcore_write_register_note): Call them.
1401
1402 2015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
1403
1404 PR 17995
1405 * verilog.c (verilog_write_record): Correct buffer size.
1406
1407 2015-02-19 Alan Modra <amodra@gmail.com>
1408
1409 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
1410
1411 2015-02-19 Alan Modra <amodra@gmail.com>
1412
1413 PR ld/4317
1414 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
1415 (elf_link_output_extsym): Drop local and global undefined syms.
1416 Tidy. Expand comment.
1417
1418 2015-02-17 Alan Modra <amodra@gmail.com>
1419
1420 PR ld/17975
1421 * elflink.c (struct elf_outext_info): Remove need_second_pass
1422 and second_pass.
1423 (elf_link_output_extsym): Delete code handling second forced
1424 local pass. Move code emitting NULL STT_FILE symbol later, so
1425 that it can be omitted if forced local is stripped. Don't
1426 emit the NULL STT_FILE if no file symbols have been output.
1427 (bfd_elf_final_link): Remove second forced local pass.
1428 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
1429 (ppc_elf_size_dynamic_sections): Likewise.
1430 * elf64-ppc.c (ppc_build_one_stub): Likewise.
1431 (build_global_entry_stubs): Likewise.
1432 (ppc64_elf_build_stubs): Likewise.
1433
1434 2015-02-16 H.J. Lu <hongjiu.lu@intel.com>
1435
1436 PR ld/17975
1437 * elflink.c (elf_link_output_extsym): Only check filesym_count
1438 when outputting a NULL FILE symbol. Set second_pass_sym to
1439 h->forced_local && !h->root.linker_def.
1440
1441 2015-02-15 H.J. Lu <hongjiu.lu@intel.com>
1442
1443 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
1444 on _TLS_MODULE_BASE_.
1445 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
1446
1447 2015-02-15 Alan Modra <amodra@gmail.com>
1448
1449 * dwarf2.c (read_rangelist): Correct buffer overflow check
1450 Whitespace throughout file.
1451
1452 2015-02-14 Alan Modra <amodra@gmail.com>
1453
1454 PR ld/17973
1455 * bfd.c (struct bfd): Add lto_output.
1456 * linker.c (_bfd_handle_already_linked): Explicitly test for
1457 objects added by the lto plugin.
1458 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
1459 no_export flags from archive.
1460 * archive.c (open_nested_file): New function, setting lto_output
1461 and no_export, extracted from..
1462 (find_nested_archive): ..here. Flip params. Rename from
1463 _bfd_find_nested_archive.
1464 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
1465 (_bfd_look_for_bfd_in_cache): Copy no_export.
1466 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
1467 my_archive->no_export test.
1468 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
1469 Don't use the file name when adding lto_output STT_FILE sym.
1470 * bfd-in2.h: Regenerate.
1471
1472 2015-02-13 Alan Modra <amodra@gmail.com>
1473
1474 PR binutils/17512
1475 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
1476 now redundant assert.
1477
1478 2015-02-12 Nick Clifton <nickc@redhat.com>
1479
1480 PR binutils/17512
1481 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
1482 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
1483 (read_indirect_string, read_alt_indirect_string)
1484 (read_alt_indirect_ref, read_address, read_abbrevs)
1485 (read_attribute_value, read_attribute, decode_line_info)
1486 (find_abstract_instance_name, read_rangelist)
1487 (scan_unit_for_symbols, parse_comp_unit)
1488 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
1489 end pointers to reading functions and check for offsets taking
1490 pointers out of range. Replace calls to read_*_leb128 with calls
1491 to safe_read_leb128.
1492
1493 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
1494 offset.
1495 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
1496 computed file_name address being before the start of the string
1497 table.
1498
1499 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
1500
1501 PR ld/17878
1502 * bfd.c (bfd_plugin_format): New.
1503 (bfd): Add plugin_format and plugin_dummy_bfd.
1504 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
1505 argument to return TRUE if any plugin is found. Set plugin_format.
1506 (has_plugin): New.
1507 (bfd_plugin_target_p): New.
1508 (bfd_plugin_specified_p): Likewise.
1509 (bfd_plugin_target_p): Likewise.
1510 (register_ld_plugin_object_p): Likewise.
1511 (bfd_plugin_set_plugin): Set has_plugin.
1512 (load_plugin): Cache try_load_plugin result.
1513 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
1514 plugin_format.
1515 * plugin.h (bfd_plugin_target_p): New.
1516 (bfd_plugin_specified_p): Likewise.
1517 (register_ld_plugin_object_p): Likewise.
1518 * bfd-in2.h: Regenerated.
1519
1520 2015-02-11 Pedro Alves <palves@redhat.com>
1521
1522 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
1523 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
1524 * libbfd.h: Regenerate.
1525 * libcoff.h: Regenerate.
1526
1527 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
1528 * mach-o.h [__cplusplus]: Wrap in extern "C".
1529 * som.h [__cplusplus]: Wrap in extern "C".
1530
1531 2015-02-10 Nick Clifton <nickc@redhat.com>
1532
1533 PR binutils/17512
1534 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
1535 hold the flag bits.
1536 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
1537 size and number of relocs.
1538 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
1539 codeview record.
1540 * versados.c (process_otr): Check the esdid value before using it
1541 to access the EDATA.
1542
1543 2015-02-09 Ed Maste <emaste@freebsd.org>
1544
1545 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
1546 uninitialized and unused variable.
1547 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1548
1549 2015-02-09 Alan Modra <amodra@gmail.com>
1550
1551 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
1552 tls_sec.
1553 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1554 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
1555
1556 2015-02-09 Alan Modra <amodra@gmail.com>
1557
1558 * elflink.c: Whitespace, formatting fixes.
1559 (elf_link_input_bfd): Clarify comment.
1560 (elf_link_output_extsym): Exclude symbols in linker created
1561 sections when testing for plugin symbols.
1562
1563 2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
1564
1565 PR ld/17935
1566 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
1567 warning for relocation in readonly section for -z text.
1568 (elf_i386_size_dynamic_sections): Likewise.
1569 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1570 (elf_x86_64_size_dynamic_sections): Likewise.
1571
1572 2015-02-06 H.J. Lu <hongjiu.lu@intel.com>
1573
1574 PR ld/12365
1575 PR ld/14272
1576 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
1577 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
1578 referenced from a non-IR file.
1579
1580 2015-02-06 Nick Clifton <nickc@redhat.com>
1581
1582 PR binutils/17512
1583 * peXXigen.c (rsrc_print_resource_entries): Add range check for
1584 addresses that wrap around the address space.
1585 (rsrc_parse_entry): Likewise.
1586
1587 2015-02-03 H.J. Lu <hongjiu.lu@intel.com>
1588
1589 PR ld/12365
1590 PR ld/14272
1591 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
1592 undefined if it is referenced from a non-IR file.
1593
1594 2015-02-03 Nick Clifton <nickc@redhat.com>
1595
1596 PR binutils/17512
1597 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
1598 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
1599 index or an out of range fdr index.
1600 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
1601 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
1602 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
1603 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
1604 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
1605 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
1606 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1607 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
1608 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
1609 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
1610 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
1611 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
1612 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1613 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
1614 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
1615 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
1616 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
1617 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
1618 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
1619 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
1620 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
1621 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1622 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
1623 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
1624 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1625 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
1626 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
1627 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
1628 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
1629 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
1630 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1631 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1632 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
1633 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
1634 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1635 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1636 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
1637 * elf32-vax.c (rtype_to_howto): Likewise.
1638 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
1639 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
1640 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
1641 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1642 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
1643 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
1644 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
1645 of range symbol indicies.
1646 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
1647 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
1648 (bfd_mach_o_build_dysymtab): Likewise.
1649 (bfd_mach_o_write_symtab_content): Set the string table size to
1650 zero upon error.
1651 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
1652 read fails.
1653 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
1654 fields.
1655 * tekhex.c (first_phase): Check for src pointer reaching end of
1656 buffer.
1657
1658 2015-02-03 Will Newton <will.newton@linaro.org>
1659
1660 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
1661 Set st_value to zero for undefined symbols if the reference
1662 is weak or pointer_equality_needed is FALSE.
1663
1664 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
1665 comment discussing why we clear st_value for some symbols.
1666
1667 2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1668
1669 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
1670 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
1671
1672 2015-01-29 Alan Modra <amodra@gmail.com>
1673
1674 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
1675 optimization. Tidy mask for GOT_TLSGD optimization.
1676 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
1677 location of nop zapping high insn too.
1678
1679 2015-01-28 Alan Modra <amodra@gmail.com>
1680
1681 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
1682 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
1683 in .toc indicate xlc compiled code that might require a rw .toc.
1684
1685 2015-01-28 James Bowman <james.bowman@ftdichip.com>
1686
1687 * Makefile.am: Add FT32 files.
1688 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
1689 (bfd_mach_ft32): Define.
1690 (bfd_ft32_arch): Declare.
1691 (bfd_archures_list): Add bfd_ft32_arch.
1692 * config.bfd: Handle FT32.
1693 * configure.ac: Likewise.
1694 * cpu-ft32.c: New file.
1695 * elf32-ft32.c: New file.
1696 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
1697 BFD_RELOC_FT32_18): Define.
1698 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
1699 * bfd-in2.h: Regenerate.
1700 * libbfd.h: Regenerate.
1701 * Makefile.in: Regenerate.
1702 * configure: Regenerate.
1703 * po/SRC-POTFILES.in: Regenerate.
1704
1705 2015-01-27 Nick Clifton <nickc@redhat.com>
1706
1707 PR binutils/17512
1708 * pdp11.c (aout_get_external_symbols): Return false if there are
1709 no symbols.
1710
1711 * dwarf2.c (concat_filename): Check for an empty directory table.
1712 (scan_unit_for_symbols): Check for reading off the end of the
1713 unit.
1714 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
1715 non-string form.
1716 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
1717 available.
1718
1719 2015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1720
1721 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
1722
1723 2015-01-22 DJ Delorie <dj@redhat.com>
1724
1725 * elf32-m32c.c (m32c_apply_reloc_24): New.
1726 (m32c_elf_howto_table): Use it for R_M32C_24.
1727 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
1728
1729 2015-01-22 Nick Clifton <nickc@redhat.com>
1730
1731 PR binutils/17512
1732 * coffcode.h (handle_COMDAT): When searching for the section
1733 symbol, make sure that there is space left in the symbol table.
1734 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
1735
1736 2015-01-21 Nick Clifton <nickc@redhat.com>
1737
1738 PR binutils/17512
1739 * coffcode.h (coff_set_arch_mach_hook): Check return value from
1740 bfd_malloc.
1741 (coff_slurp_line_table): Return FALSE if the line number
1742 information was corrupt.
1743 (coff_slurp_symbol_table): Return FALSE if the symbol information
1744 was corrupt.
1745 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
1746 initialise the fields of the dyld_info structure.
1747 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
1748 error message and a return value.
1749 (bfd_mach_o_layout_commands): Change the function to boolean.
1750 Return FALSE if the function fails.
1751 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
1752 fails.
1753 (bfd_mach_o_read_command): Fail if an unrecognised command is
1754 encountered.
1755 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
1756 read fails.
1757 (slurp_symtab): Check the return from bfd_malloc.
1758 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
1759 encountered an error.
1760 (_bfd_XXi_final_link_postscript): Fail if a section could not be
1761 copied.
1762 * peicode.h (pe_bfd_object_p): Fail if the header could not be
1763 swapped in.
1764 * tekhex.c (first_phase): Fail if the section is too big.
1765 * versados.c (struct esdid): Add content_size field.
1766 (process_otr): Use and check the new field.
1767 (versados_get_section_contents): Check that the section exists and
1768 that the requested data is available.
1769
1770 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
1771
1772 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
1773
1774 2015-01-20 Alan Modra <amodra@gmail.com>
1775
1776 PR ld/17615
1777 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
1778 ELF_COMMON_DEF syms.
1779
1780 2015-01-19 Alan Modra <amodra@gmail.com>
1781
1782 PR ld/17615
1783 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
1784 linker script assignments too.
1785 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
1786 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
1787
1788 2015-01-19 Alan Modra <amodra@gmail.com>
1789
1790 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
1791 to allow return of first howto.
1792 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
1793 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
1794 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
1795 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
1796 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
1797 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
1798 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
1799 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
1800 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
1801 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
1802 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
1803 (spu_elf_reloc_type_lookup): Adjust to suit.
1804
1805 2015-01-19 Alan Modra <amodra@gmail.com>
1806
1807 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
1808 (bfd_get_section_limit): ..here.
1809 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
1810 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
1811 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
1812 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
1813 bfd_reloc_outofrange check.
1814 * bfd-in2.h: Regenerate.
1815
1816 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
1817 on zero size relocs.
1818 * ecoff.c (ecoff_reloc_link_order): Likewise.
1819 * elf32-nds32.c (nds32_relocate_contents): Likewise.
1820 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1821
1822 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
1823 (_bfd_clear_contents): Likewise.
1824 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
1825 (mips_elf_perform_relocation): Likewise.
1826
1827 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
1828 from malloc on zero size alloc.
1829 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1830 * elflink.c (elf_reloc_link_order): Likewise.
1831 * linker.c (_bfd_generic_reloc_link_order): Likewise.
1832 * pdp11.c (aout_link_reloc_link_order): Likewise.
1833 * xcofflink.c (xcoff_reloc_link_order): Likewise.
1834
1835 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
1836 bitsize 0, and complain_overflow_dont.
1837 * coff-sparc.c (coff_sparc_howto_table): Likewise.
1838 * elf-hppa.h (elf_hppa_howto_table): Likewise.
1839 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
1840 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
1841 * elf32-arc.c (elf_arc_howto_table): Likewise.
1842 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
1843 * elf32-avr.c (elf_avr_howto_table): Likewise.
1844 * elf32-bfin.c (bfin_howto_table): Likewise.
1845 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
1846 * elf32-cris.c (cris_elf_howto_table): Likewise.
1847 * elf32-crx.c (crx_elf_howto_table): Likewise.
1848 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
1849 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
1850 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
1851 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
1852 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
1853 * elf32-frv.c (elf32_frv_howto_table): Likewise.
1854 * elf32-h8300.c (h8_elf_howto_table): Likewise.
1855 * elf32-i370.c (i370_elf_howto_raw): Likewise.
1856 * elf32-i386.c (elf_howto_table): Likewise.
1857 * elf32-i860.c (elf32_i860_howto_table): Likewise.
1858 * elf32-i960.c (elf32_i960_relocate): Likewise.
1859 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
1860 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
1861 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
1862 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
1863 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
1864 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
1865 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
1866 * elf32-m68k.c (howto_table): Likewise.
1867 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
1868 * elf32-mep.c (mep_elf_howto_table): Likewise.
1869 * elf32-metag.c (elf_metag_howto_table): Likewise.
1870 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
1871 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
1872 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
1873 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
1874 * elf32-mt.c (mt_elf_howto_table): Likewise.
1875 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
1876 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
1877 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
1878 * elf32-pj.c (pj_elf_howto_table): Likewise.
1879 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
1880 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
1881 * elf32-rx.c (rx_elf_howto_table): Likewise.
1882 * elf32-s390.c (elf_howto_table): Likewise.
1883 * elf32-score.c (elf32_score_howto_table): Likewise.
1884 * elf32-score7.c (elf32_score_howto_table): Likewise.
1885 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
1886 * elf32-spu.c (elf_howto_table): Likewise.
1887 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
1888 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
1889 * elf32-v850.c (v850_elf_howto_table): Likewise.
1890 * elf32-vax.c (howto_table): Likewise.
1891 * elf32-visium.c (visium_elf_howto_table): Likewise.
1892 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
1893 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
1894 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
1895 * elf32-xtensa.c (elf_howto_table): Likewise.
1896 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
1897 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
1898 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
1899 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
1900 * elf64-s390.c (elf_howto_table): Likewise.
1901 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
1902 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
1903 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
1904 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1905 (elfNN_aarch64_howto_none): Likewise.
1906 * elfxx-ia64.c (ia64_howto_table): Likewise.
1907 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
1908 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
1909 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
1910
1911 2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
1912
1913 PR ld/17847
1914 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
1915 about -fPIC if the symbol is undefined when building executable.
1916
1917 2015-01-15 Nick Clifton <nickc@redhat.com>
1918
1919 PR binutils/17512
1920 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
1921 error message. Never return an invalid howto pointer.
1922 * elf32-cr16.c (cr16_info_to_howto): Likewise.
1923 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1924 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1925 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1926 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1927 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
1928 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1929 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1930 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1931 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
1932 * elf32-vax.c (rtype_to_howto): Likewise.
1933 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1934 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
1935 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
1936 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1937 (sh_elf_reloc): Check that the reloc is in range.
1938 * reloc.c (bfd_perform_relocation): Check that the section is big
1939 enough for the entire reloc.
1940 (bfd_generic_get_relocated_section_contents): Report unexpected
1941 return values from perform_reloc.
1942
1943 2015-01-15 Nick Clifton <nickc@redhat.com>
1944
1945 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
1946 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
1947 relaxation.
1948
1949 2015-01-15 Alan Modra <amodra@gmail.com>
1950
1951 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
1952 any output section matching a linker created dynobj section.
1953
1954 2015-01-15 Alan Modra <amodra@gmail.com>
1955
1956 PR 17842
1957 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
1958 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
1959 Don't assign symtab file position unless symbols will be output.
1960 Merge blocks with condition in common. Don't call
1961 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
1962 unless other symbols are output. Move assignment of symtab_shndx
1963 file position. Localize variable.
1964
1965 2015-01-14 Jiong Wang <jiong.wang@arm.com>
1966
1967 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
1968 trying to defer them to runtime.
1969
1970 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1971
1972 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
1973 to check if a symbol should be bound symbolically.
1974
1975 2015-01-13 Jiong Wang <jiong.wang@arm.com>
1976
1977 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
1978 for TLSLE_MOVW_TPREL_G2.
1979
1980 2015-01-13 Jiong Wang <jiong.wang@arm.com>
1981
1982 PR ld/17415
1983 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
1984 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
1985 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
1986 bit mask.
1987
1988 2015-01-12 Terry Guo <terry.guo@arm.com>
1989
1990 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
1991 function.
1992 (_bfd_elf_gc_mark_extra_sections): Use it.
1993
1994 2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
1995
1996 PR ld/17827
1997 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
1998 only discard space for pc-relative relocs symbols which turn
1999 out to need copy relocs.
2000
2001 2015-01-09 Nick Clifton <nickc@redhat.com>
2002
2003 * tekhex.c (getvalue): Fix thinko in test for correct extraction
2004 of value.
2005 (getsym): Return false if there was not enough data to extract the
2006 symbol.
2007
2008 2015-01-09 Anthony Green <green@moxielogic.com>
2009
2010 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
2011
2012 2015-01-08 Nick Clifton <nickc@redhat.com>
2013
2014 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
2015 16-bit absolute BR instructions to 10-bit pc-relative JMP
2016 instructions.
2017
2018 2015-01-08 Nick Clifton <nickc@redhat.com>
2019
2020 PR binutils/17512
2021 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
2022 to load the line table.
2023 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
2024 maxpagesize of 1.
2025 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
2026 the Data Directory Size is too large.
2027
2028 2015-01-06 H.J. Lu <hongjiu.lu@intel.com>
2029
2030 PR binutils/17512
2031 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
2032 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
2033
2034 2015-01-06 Nick Clifton <nickc@redhat.com>
2035
2036 PR binutils/17512
2037 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
2038 string table.
2039
2040 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
2041 (bfd_perform_relocation): Include the size of the reloc in the
2042 test for an out of range relocation.
2043 (bfd_generic_get_relocated_section_contents): Remove reloc range
2044 test.
2045
2046 * coff-i860.c (CALC_ADDEND): Always set an addend value.
2047 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
2048 avoid reading off the end of the buffer.
2049 (getsym): Likewise.
2050 (first_phase): Likewise.
2051 (pass_over): Pass an end pointer to the invoked function.
2052
2053 2015-01-05 H.J. Lu <hongjiu.lu@intel.com>
2054
2055 PR binutils/17512
2056 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
2057 input.
2058 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
2059
2060 2015-01-05 Nick Clifton <nickc@redhat.com>
2061
2062 PR binutils/17512
2063 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
2064 is at least big enough for the header to be read.
2065 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
2066 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
2067 (bfd_mach_o_read_command): Prevetn duplicate error messages about
2068 unrecognized commands.
2069 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
2070 when indexing into the string table.
2071
2072 2015-01-01 Alan Modra <amodra@gmail.com>
2073
2074 Update year range in copyright notice of all files.
2075
2076 For older changes see ChangeLog-2014
2077 \f
2078 Copyright (C) 2015 Free Software Foundation, Inc.
2079
2080 Copying and distribution of this file, with or without modification,
2081 are permitted in any medium without royalty provided the copyright
2082 notice and this notice are preserved.
2083
2084 Local Variables:
2085 mode: change-log
2086 left-margin: 8
2087 fill-column: 74
2088 version-control: never
2089 End: