Fix a segmentation fault triggered when trying to handle an unresolved PE symbol...
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3a062fa1
AM
12015-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
1ade7175
NC
72015-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
f8b44781
AM
132015-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
7018c030
JW
192015-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
3d715ce4
JW
282015-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
36e6c140
JW
362015-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
99ad26cb
JW
432015-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
a921b5bd
JW
522015-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
2f0c68f2
CM
602015-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
8ded2ddc
L
1212015-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
fca6ae69
L
1332015-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
ce336788
JW
1402015-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
80de0c6d
JW
1522015-05-18 Jiong Wang <jiong.wang@arm.com>
153
154 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
155 comments.
156
25070364
L
1572015-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
dab394de
L
1682015-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
fdc3b1b1
JW
1842015-05-14 Jiong Wang <jiong.wang@arm.com>
185
186 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
187 check restrictions.
188
e6c9a083
MF
1892015-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
a3747075
L
1942015-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
bf64a951
L
2002015-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
22abe556
L
2222015-05-11 H.J. Lu <hongjiu.lu@intel.com>
223
224 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
225
4b71eec6
L
2262015-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
9ac47a43
TS
2322015-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
b633b725
L
2382015-05-01 H.J. Lu <hongjiu.lu@intel.com>
239
240 * config.bfd: Support i[3-7]86-*-elf*.
241
914082d1
L
2422015-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
153a2776
NC
2472015-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
a93d5cb1
NC
2542015-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
643f7afb
AK
2602015-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
b53b1bed
JW
2672015-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
69b52ab8
L
2752015-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
dcbd20eb
JW
2802015-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
de13ef81
NC
2852015-04-24 Nick Clifton <nickc@redhat.com>
286
287 PR 18313
288 * compress.c (decompress_contents): Zero initialse the z_stream
289 structure.
290
b1fa9dd6
NC
2912015-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
9361e630
L
2972015-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
3e19fb8f
L
3032015-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
f6fe1ccd
L
3322015-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
a27e685f
AM
3472015-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.
2f0c68f2
CM
352=======
3532015-05-04 Catherine Moore <clm@codesourcery.com>
354
355 * elfxx-target.h: Add missing #endif.
356
3572015-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
3632015-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>
a27e685f 423
d5597ebc
L
4242015-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
e9702963
L
4372015-04-20 H.J. Lu <hongjiu.lu@intel.com>
438
439 * elf.c (assign_section_numbers): Always set up sh_name.
440
e06efbf1
L
4412015-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
0ce398f1
L
4472015-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
95b57ade
AM
4802015-04-15 Alan Modra <amodra@gmail.com>
481
482 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
483
6ff71e76
NC
4842015-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
889c2a67
L
5022015-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
97de3545
JB
5112015-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
f0bf6bfd
L
5172015-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
e3c0e327
L
5232015-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
3d949995
L
5342015-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
f7483970
L
5432015-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
030aeb75
L
5612015-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
d07a1b05
AM
5672015-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
8d2ea2a8
AM
5732015-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
18ece1de
L
5872015-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
cd6faa73
L
5932015-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
19424843
MF
5992015-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
6352015-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
6442015-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
6572015-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
3525236c
NC
6742015-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
51509926
L
6812015-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
151411f8
L
6862015-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
87070c08
AM
7152015-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
d3e454b9
AM
7202015-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
ffa54770
NC
7402015-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
4aa90cc0
L
7452015-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
68f5ff89
L
7532015-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
8bed4e0f
L
7582015-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
15c7659f
AT
7632015-04-02 Andrew Turner <andrew@freebsd.org>
764
765 * config.bfd: Add aarch64-*-freebsd* target triple.
766
39f3de7c
L
7672015-04-02 H.J. Lu <hongjiu.lu@intel.com>
768
769 * configure: Regenerated.
770
4106101c
MS
7712015-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
afa59b79
L
8122015-04-01 H.J. Lu <hongjiu.lu@intel.com>
813
814 * configure: Regenerated.
815
6036f486
ES
8162015-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
9ae46699
L
8292015-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
bd53a53a
L
8372015-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
243340ad
L
8492015-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.
243340ad
L
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.
b51724e8 861 * configure.ac (AM_ZLIB): Removed.
243340ad
L
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
b8417128
AM
8712015-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
93ca8569
TB
8792015-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
b19a8f85
L
8842015-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
61865519
MS
8902015-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
d9ced15d 8982015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
899
900 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
901 Update erratum count.
902
d422d1c4
SKS
9032015-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
8d001214
L
9082015-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
fc42baf3
NC
9172015-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
fc6d53be
MS
9232015-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
30068a6d
MS
9292015-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
5421cc6e
MS
9342015-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
e572930b
MS
9472015-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
8131c122
AM
9522015-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
c53ed7cf
KS
9612015-03-23 Keith Seitz <keiths@redhat.com>
962
963 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
964 missing ';'.
965
94a75bde
MS
9662015-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
13f622ec
MS
9722015-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
66585675
MS
9782015-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
ef857521
MS
9842015-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
2144188d
MS
9942015-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
4c77202d
MS
10002015-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
9b9971aa
MS
10062015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1007
1008 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
1009
e2cdef47
MS
10102015-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
3d14faea
MS
10162015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1017
23956543
MS
1018 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
1019 to rt2.
3d14faea
MS
1020 (aarch64_erratum_seqeunce): Rename rtn to rt2.
1021
f872121a
MS
10222015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
1023
1024 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
1025
1740ba0c
NC
10262015-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
e2575e05
NC
10352015-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
0b0732e1
L
10412015-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
27aaeda0
NC
10462015-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
273a4985
JT
10522015-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
c4b0b099
AM
10632015-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
9c761a55
NC
10682015-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
b9005ba7
AK
10742015-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
1079403c
AM
10812015-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
a5721edd
JW
10862015-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
65164438
NC
10932015-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
41cd1ad1
NC
10992015-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
ca3fe95e
L
11052015-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
425bd9e1
NC
11232015-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
8ef229f3
MS
11352015-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
8e2fe09f
MS
11412015-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
df88b702
AA
11472015-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
e09ab7ac
RS
11562015-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
71eef2bd
DD
11632015-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
f01f1741
AM
11682015-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
c1d11331
L
11732015-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
cdb602b1
NC
11842015-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
96c20bc1
MS
11912015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
1192
1193 * bfd/bfd-in2.h: Regenerate.
1194 * bfd/libbfd.h: Regenerate.
1195
1ada945d
MS
11962015-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
389b8029
MS
12082015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1209
73920eed
MS
1210 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
1211 tests.
389b8029
MS
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
3c12b054
MS
12212015-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
043bf05a
MS
12332015-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
7366006f
MS
12452015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
1246
1247 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
1248
07875fbc
MS
12492015-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
49d8f92c
MS
12562015-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
c86934ce
NC
12612015-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
bd4d2eaa
AM
12762015-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
99654aaf
TG
12822015-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
a127494f
AM
12872015-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
bac13f5a
AB
12942015-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
137c83d6
AB
13132015-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
fdd410ac
AB
13302015-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
685080f2
NC
13372015-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
31593e1b
NC
13592015-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
3ad797fd
NC
13692015-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
5518c738
YS
13742015-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
cb967f0d
NC
13822015-02-23 Nick Clifton <nickc@redhat.com>
1383
1384 PR 17914
1385 * cpu-w65.c: Correct typos in license notice.
1386
0f8f0c57
NC
1387 PR 17940
1388 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
1389 symbols at end of sections. Adjust function sizes.
1390
4ef9f41a
AA
13912015-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
837914ee
BD
14022015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
1403
1404 PR 17995
1405 * verilog.c (verilog_write_record): Correct buffer size.
1406
cf18fda4
AM
14072015-02-19 Alan Modra <amodra@gmail.com>
1408
1409 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
1410
d983c8c5
AM
14112015-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
2ec55de3
AM
14182015-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
6dfb72b9
L
14342015-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
576fa883
L
14412015-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
62f8d217
AM
14472015-02-15 Alan Modra <amodra@gmail.com>
1448
1449 * dwarf2.c (read_rangelist): Correct buffer overflow check
1450 Whitespace throughout file.
1451
ce875075
AM
14522015-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
451dfd38
AM
14722015-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
dbb3fbbb
NC
14782015-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
b9dc5a87
L
14992015-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
55172d69
PA
15202015-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
77ef8654
NC
15312015-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
35181b3e
EM
15432015-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
989f9879
AM
15492015-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
ca4be51c
AM
15562015-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
1952c5cd
L
15632015-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
9e2dec47
L
15722015-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
5929c344
NC
15802015-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
60f79275
L
15872015-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
64d29018
NC
15942015-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
3a635617
WN
16582015-02-03 Will Newton <will.newton@linaro.org>
1659
46b87d49
WN
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
3a635617
WN
1664 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
1665 comment discussing why we clear st_value for some symbols.
1666
0c4bd9d9
KLC
16672015-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
b86ac8e3
AM
16722015-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
dbd1e97e
AM
16792015-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
3f8107ab
AM
16852015-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
37e3922e
NC
17052015-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
877a8638
NC
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
18393a2e
KLC
17192015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1720
1721 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
1722
055173ca
DD
17232015-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
4e5cb37e
NC
17292015-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
86eafac0
NC
17362015-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
03d5b773
CLT
17702015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
1771
1772 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
1773
1c9177d9
AM
17742015-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
c4621b33
AM
17802015-01-19 Alan Modra <amodra@gmail.com>
1781
3e2aa5bb 1782 PR ld/17615
c4621b33
AM
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
0ba38529
AM
17882015-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
6346d5ca
AM
18052015-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
6333bc0d
L
19112015-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
cd21f5da
NC
19172015-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
2d071cfc
NC
19432015-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
ca55926c
AM
19492015-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
8539e4e8
AM
19542015-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
52db4ec2
JW
19652015-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
0941db69
JW
19702015-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
0172429c
JW
19752015-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
bab91cce
JW
19802015-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
3c758495
TG
19882015-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
9d1d54d5
L
19942015-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
c6e8e93a
NC
20012015-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
400cf8cb
AG
20082015-01-09 Anthony Green <green@moxielogic.com>
2009
2010 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
2011
23d4663e
NC
20122015-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
063bb025
NC
20182015-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
6f25f223
L
20282015-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
85880250
NC
20342015-01-06 Nick Clifton <nickc@redhat.com>
2035
2036 PR binutils/17512
e7287c7f
NC
2037 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
2038 string table.
2039
ec93045b
NC
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
85880250
NC
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
533d0af0
L
20532015-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
896ca098
NC
20602015-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
b90efa5b 20722015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 2073
b90efa5b 2074 Update year range in copyright notice of all files.
ee3b52e9 2075
b90efa5b 2076For older changes see ChangeLog-2014
56882138 2077\f
b90efa5b 2078Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
2079
2080Copying and distribution of this file, with or without modification,
2081are permitted in any medium without royalty provided the copyright
2082notice and this notice are preserved.
2083
56882138
AM
2084Local Variables:
2085mode: change-log
2086left-margin: 8
2087fill-column: 74
2088version-control: never
2089End:
This page took 1.28452 seconds and 4 git commands to generate.