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