Rename EM_486 to EM_IAMCU
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
22abe556
L
12015-05-11 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
4
4b71eec6
L
52015-05-10 H.J. Lu <hongjiu.lu@intel.com>
6
7 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
8 and output_bfd with abfd.
9 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
10
9ac47a43
TS
112015-05-06 Toni Spets <toni.spets@iki.fi>
12
13 PR ld/18372
14 * peXXigen.c (rsrc_process_section): Skip discarded resource
15 sections.
16
b633b725
L
172015-05-01 H.J. Lu <hongjiu.lu@intel.com>
18
19 * config.bfd: Support i[3-7]86-*-elf*.
20
914082d1
L
212015-04-30 H.J. Lu <hongjiu.lu@intel.com>
22
23 * elf32-i386.c (elf_backend_post_process_headers): Undef for
24 Solaris 2.
25
153a2776
NC
262015-04-30 Nick Clifton <nickc@redhat.com>
27
28 PR 18317
29 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
30 mep_reloc.
31 (mep_reloc): Delete unused function.
32
a93d5cb1
NC
332015-04-29 Nick Clifton <nickc@redhat.com>
34
35 PR 17099
36 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
37 relocs.
38
643f7afb
AK
392015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
40
41 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
42 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
43 elf_s390_merge_obj_attributes.
44 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
45
b53b1bed
JW
462015-04-24 Jiong Wang <jiong.wang@arm.com>
47
48 PR ld/18270
49 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
50 GOT_NORMAL for both sgot/srelgot section.
51 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
52 and generate necessary runtime relocation for GOT entry.
53
69b52ab8
L
542015-04-24 H.J. Lu <hongjiu.lu@intel.com>
55
56 PR binutils/18209
57 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
58
dcbd20eb
JW
592015-04-24 Jiong Wang <jiong.wang@arm.com>
60
61 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
62 PC-relative relocation for external symbol.
63
de13ef81
NC
642015-04-24 Nick Clifton <nickc@redhat.com>
65
66 PR 18313
67 * compress.c (decompress_contents): Zero initialse the z_stream
68 structure.
69
b1fa9dd6
NC
702015-04-24 Nick Clifton <nickc@redhat.com>
71
72 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
73 local labels to include local labels with a numeric suffix and
74 fake symbols.
75
9361e630
L
762015-04-24 H.J. Lu <hongjiu.lu@intel.com>
77
78 PR binutils/18316
79 * section.c (SEC_MEP_VLIW): New.
80 * bfd-in2.h: Regenerated.
81
3e19fb8f
L
822015-04-23 H.J. Lu <hongjiu.lu@intel.com>
83
84 PR ld/18277
85 * compress.c (bfd_compress_section_contents): Remove the
86 write_compress argument.
87 (bfd_init_section_compress_status): Updated.
88 (bfd_compress_section): Likewise.
89 * elf.c (_bfd_elf_set_reloc_sh_name): New.
90 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
91 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
92 _bfd_elf_set_reloc_sh_name.
93 (elf_fake_sections): Don't rename DWARF debug section for
94 linker output if it will be compressed. Instead, set
95 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
96 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
97 sh_name != (unsigned int) -1. Don't finalize nor assign
98 shstrtab section here. Delay setting output section names to
99 _bfd_elf_write_object_contents.
100 (_bfd_elf_compute_section_file_positions): Update comments on
101 sh_offset for shstrtab section.
102 (assign_file_positions_for_non_load_sections): Set sh_offset to
103 -1 for shstrtab section.
104 (assign_file_positions_except_relocs): Likewise.
105 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
106 when compressing DWARF debug sections. Place shstrtab section
107 after DWARF debug sections have been compressed.
108 (_bfd_elf_write_object_contents): Setting sh_name for output
109 sections.
110
f6fe1ccd
L
1112015-04-23 H.J. Lu <hongjiu.lu@intel.com>
112
113 PR binutils/18209
114 * bfd.c (bfd): Add is_linker_input.
115 * elf.c (convert_debug_to_zdebug): New.
116 (convert_zdebug_to_debug): Likewise.
117 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
118 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
119 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
120 instead of a pointer to section.
121 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
122 is set.
123 * section.c (SEC_ELF_RENAME): New.
124 * bfd-in2.h: Regenerated.
125
a27e685f
AM
1262015-04-23 Alan Modra <amodra@gmail.com>
127
128 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
129 (ppc64_elf_next_toc_section): Align multi-got toc base.
130 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
131
d5597ebc
L
1322015-04-22 H.J. Lu <hongjiu.lu@intel.com>
133
134 PR ld/18289
135 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
136 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
137 (elf_i386_create_dynamic_sections): Always allow copy relocs for
138 building executables.
139 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
140 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
141 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
142 PIE and R_386_GOTOFF.
143 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
144
e9702963
L
1452015-04-20 H.J. Lu <hongjiu.lu@intel.com>
146
147 * elf.c (assign_section_numbers): Always set up sh_name.
148
e06efbf1
L
1492015-04-20 H.J. Lu <hongjiu.lu@intel.com>
150
151 * elf.c (assign_file_positions_for_non_load_sections): Iterate
152 sections by pointer.
153 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
154
0ce398f1
L
1552015-04-14 H.J. Lu <hongjiu.lu@intel.com>
156
157 * bfd-in.h (compressed_debug_section_type): New.
158 * compress.c (bfd_compress_section_contents): Add an argument
159 for linker write compression and always generate .zdebug_*
160 section when linking.
161 (bfd_init_section_compress_status): Pass FALSE to
162 bfd_compress_section_contents.
163 (bfd_compress_section): New function.
164 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
165 on DWARF debug sections if COMPRESS_DEBUG is set and rename
166 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
167 (assign_file_positions_for_non_load_sections): Set sh_offset
168 to -1 if SEC_ELF_COMPRESS is set.
169 (assign_file_positions_except_relocs): Likwise.
170 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
171 (_bfd_elf_assign_file_positions_for_non_load): This. Change
172 return time to bfd_boolean. Compress the section if
173 SEC_ELF_COMPRESS is set.
174 (_bfd_elf_write_object_contents): Updated.
175 (_bfd_elf_set_section_contents): Write section contents to
176 the buffer if SEC_ELF_COMPRESS is set.
177 * merge.c: Include "elf-bfd.h".
178 (sec_merge_emit): Add arguments for contents and offset. Write
179 to contents with offset if contents isn't NULL.
180 (_bfd_write_merged_section): Write section contents to the
181 buffer if SEC_ELF_COMPRESS is set. Pass contents and
182 output_offset to sec_merge_emit.
183 * elflink.c (bfd_elf_final_link): Allocate the buffer for
184 output section contents if SEC_ELF_COMPRESS is set.
185 * section.c (SEC_ELF_COMPRESS): New.
186 * bfd-in2.h: Regenerated.
187
95b57ade
AM
1882015-04-15 Alan Modra <amodra@gmail.com>
189
190 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
191
6ff71e76
NC
1922015-04-14 Nick Clifton <nickc@redhat.com>
193
194 * elf32-rl78.c (RL78_OP_REL): New macro.
195 (rl78_elf_howto_table): Use it for complex relocs.
196 (get_symbol_value): Handle the cases when the info or status
197 arguments are NULL.
198 (get_romstart): Cache the status returned by get_symbol_value.
199 (get_ramstart): Likewise.
200 (RL78_STACK_PUSH): Generate an error message if the stack
201 overflows.
202 (RL78_STACK_POP): Likewise for underflows.
203 (rl78_compute_complex_reloc): New function. Contains the basic
204 processing code for all RL78 complex relocs.
205 (rl78_special_reloc): New function. Provides special reloc
206 handling for complex relocs.
207 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
208 (rl78_offset_for_reloc): Likewise.
209
889c2a67
L
2102015-04-14 H.J. Lu <hongjiu.lu@intel.com>
211
212 PR ld/pr17709
213 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
214 info->extern_protected_data when warning copy relocs against
215 protected symbols.
216 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
217 when checking protected non-function symbols.
218
97de3545
JB
2192015-04-13 John Baldwin <jhb@FreeBSD.org>
220
221 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
222 FreeBSD.
223 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
224
f0bf6bfd
L
2252015-04-13 H.J. Lu <hongjiu.lu@intel.com>
226
227 PR ld/18250
228 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
229 if the object has been claimed by plugin.
230
e3c0e327
L
2312015-04-11 H.J. Lu <hongjiu.lu@intel.com>
232
233 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
234 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
235 protected data symbol when building shared library.
236 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
237 R_X86_64_GOTOFF64 against undefined symbol and replace
238 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
239 R_X86_64_GOTOFF64 against protected data symbol when building
240 shared library.
241
3d949995
L
2422015-04-10 H.J. Lu <hongjiu.lu@intel.com>
243
244 PR ld/pr17709
245 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
246 against protected data symbol when building shared library.
247 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
248 R_X86_64_GOTOFF64 against protected data symbol when building
249 shared library.
250
f7483970
L
2512015-04-10 H.J. Lu <hongjiu.lu@intel.com>
252
253 PR ld/pr15228
254 PR ld/pr17709
255 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
256 * elf32-i386.c (elf_backend_extern_protected_data): New.
257 Defined to 1.
258 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
259 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
260 copy relocs against protected symbols if extern_protected_data
261 is true.
262 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
263 non-function symbols if extern_protected_data is true.
264 * elfxx-target.h (elf_backend_extern_protected_data): New.
265 Default to 0.
266 (elfNN_bed): Initialize extern_protected_data with
267 elf_backend_extern_protected_data.
268
030aeb75
L
2692015-04-10 H.J. Lu <hongjiu.lu@intel.com>
270
271 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
272 and free with bfd_alloc and bfd_release on compressed buffer.
273 Release buffer if compressed section isn't smaller.
274
d07a1b05
AM
2752015-04-10 Alan Modra <amodra@gmail.com>
276
277 PR ld/18222
278 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
279 on adding a protected visibility variable to .dynbss.
280
8d2ea2a8
AM
2812015-04-10 Alan Modra <amodra@gmail.com>
282
283 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
284 PR ld/pr15228
285 PR ld/pr17709
286 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
287 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
288 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
289 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
290 extern_protected_data test.
291 (_bfd_elf_symbol_refs_local_p): Likewise.
292 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
293 (elfNN_bed): Delete elf_backend_extern_protected_data init.
294
18ece1de
L
2952015-04-09 H.J. Lu <hongjiu.lu@intel.com>
296
297 * compress.c (bfd_compress_section_contents): Update comments.
298 (bfd_init_section_decompress_status): Likewise.
299 (bfd_init_section_compress_status): Likewise.
300
cd6faa73
L
3012015-04-09 H.J. Lu <hongjiu.lu@intel.com>
302
303 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
304 object_flags.
305 (TARGET_LITTLE_SYM): Likewise.
306
19424843
MF
3072015-04-09 Max Filippov <jcmvbkbc@gmail.com>
308
309 * elf32-xtensa.c (splay-tree.h): include header.
310 (text_action_struct): drop next pointer.
311 (text_action_list_struct): drop head pointer, add count and
312 tree fields.
313 (find_fill_action): instead of linear search in text_action_list
314 search in the tree.
315 (text_action_compare, action_first, action_next): new functions.
316 (text_action_add, text_action_add_literal): instead of linear
317 search and insertion insert new node into the tree.
318 (removed_by_actions): pass additional parameter: action_list,
319 use it to traverse the tree.
320 (offset_with_removed_text): pass additional action_list parameter
321 to removed_by_actions.
322 (map_action_fn_context): new typedef.
323 (map_action_fn_context_struct): new structure.
324 (map_action_fn): new function.
325 (map_removal_by_action): use splay_tree_foreach to build map.
326 (find_insn_action): replace linear search in text_action_list
327 with series of splay_tree_lookups.
328 (print_action, print_action_list_fn): new functions.
329 (print_action_list): use splay_tree_foreach.
330 (init_xtensa_relax_info): drop action_list.head initialization.
331 Initialize the tree.
332 (compute_text_actions): use non-zero action_list_count instead of
333 non-NULL action list.
334 (xlate_map_context): new typedef.
335 (xlate_map_context_struct): new structure.
336 (xlate_map_fn): new function.
337 (build_xlate_map): use splay_tree_foreach to build map.
338 (action_remove_bytes_fn): new function.
339 (relax_section): use zero action_list_count instead of NULL
340 action list. Use splay_tree_foreach to count final section size.
341 Drop unused variable 'removed'.
342
3432015-04-09 Max Filippov <jcmvbkbc@gmail.com>
344
345 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
346 (removed_literal_map_entry_struct): new structure.
347 (removed_literal_list_struct): add new fields: n_map and map.
348 (map_removed_literal, removed_literal_compare): new functions.
349 (find_removed_literal): build index array for literals ordered
350 by VMA, use binary search to find removed literal.
351
3522015-04-09 Max Filippov <jcmvbkbc@gmail.com>
353
354 * elf32-xtensa.c (removal_by_action_entry_struct,
355 removal_by_action_map_struct): new structures.
356 (removal_by_action_entry, removal_by_action_map): new typedefs.
357 (text_action_list_struct): add new field: map.
358 (map_removal_by_action, removed_by_actions_map,
359 offset_with_removed_text_map): new functions.
360 (relax_section): replace offset_with_removed_text with
361 offset_with_removed_text_map.
362 (translate_reloc, relax_property_section, relax_section_symbols):
363 replace removed_by_actions with removed_by_actions_map.
364
3652015-04-09 Max Filippov <jcmvbkbc@gmail.com>
366
367 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
368 reloc_range): new typedef.
369 (reloc_range_list_struct, reloc_range_list_entry_struct,
370 reloc_range_struct): new structures.
371 (reloc_range_compare, build_reloc_ranges,
372 reloc_range_list_append, reloc_range_list_remove,
373 reloc_range_list_update_range, free_reloc_range_list): new
374 functions.
375 (compute_text_actions): precompute relocation opcodes before the
376 loop. Add relevant_relocs variable, initialize it before the
377 loop, pass it to the check_section_ebb_pcrels_fit.
378 (check_section_ebb_pcrels_fit): add new parameter:
379 relevant_relocs. Update address range in the relevant_relocs if
380 it's non-NULL and iterate only over relevant relocations.
381
3525236c
NC
3822015-04-09 Nick Clifton <nickc@redhat.com>
383
384 * elf32-rx.c (describe_flags): Report the settings of the string
385 insn using bits.
386 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
387 using bits.
388
51509926
L
3892015-04-08 H.J. Lu <hongjiu.lu@intel.com>
390
391 * compress.c (bfd_compress_section_contents): Work around a GCC
392 uninitialized warning bug fixed in GCC 4.7.
393
151411f8
L
3942015-04-08 H.J. Lu <hongjiu.lu@intel.com>
395
396 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
397 bit.
398 * bfd.c (bfd::flags): Increase size to 18 bits.
399 (BFD_COMPRESS_GABI): New.
400 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
401 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
402 (bfd_update_compression_header): New fuction.
403 (bfd_check_compression_header): Likewise.
404 (bfd_get_compression_header_size): Likewise.
405 (bfd_is_section_compressed_with_header): Likewise.
406 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
407 (bfd_compress_section_contents): Return the uncompressed size if
408 the full section contents is compressed successfully. Support
409 converting from/to .zdebug* sections.
410 (bfd_get_full_section_contents): Call
411 bfd_get_compression_header_size to get compression header size.
412 (bfd_is_section_compressed): Renamed to ...
413 (bfd_is_section_compressed_with_header): This. Add a pointer
414 argument to return compression header size.
415 (bfd_is_section_compressed): Use it.
416 (bfd_init_section_decompress_status): Call
417 bfd_get_compression_header_size to get compression header size.
418 Return FALSE if uncompressed section size is 0.
419 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
420 from/to .zdebug* sections.
421 * bfd-in2.h: Regenerated.
422
87070c08
AM
4232015-04-07 Alan Modra <amodra@gmail.com>
424
425 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
426 mapped to output .got section.
427
d3e454b9
AM
4282015-04-07 Alan Modra <amodra@gmail.com>
429
430 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
431 and has_addr16_lo. Make has_sda_refs a bitfield.
432 (ppc_elf_check_relocs): Set new flags.
433 (ppc_elf_link_hash_table_create): Update default_params.
434 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
435 where we won't be making .dynbss entries or editing code. Set
436 params->pic_fixup when we'll edit code for protected var access.
437 (allocate_dynrelocs): Allocate got entry for edited code and
438 discard dyn_relocs.
439 (struct ppc_elf_relax_info): Add picfixup_size.
440 (ppc_elf_relax_section): Rename struct one_fixup to struct
441 one_branch_fixup. Rename fixups to branch_fixups. Size space for
442 pic fixups.
443 (ppc_elf_relocate_section): Edit non-PIC accessing protected
444 visibility variables to PIC. Don't emit dyn_relocs for code
445 we've edited.
446 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
447
ffa54770
NC
4482015-04-07 Nick Clifton <nickc@redhat.com>
449
450 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
451 local labels as local.
452
4aa90cc0
L
4532015-04-06 H.J. Lu <hongjiu.lu@intel.com>
454
455 * compress.c (get_uncompressed_size): Removed.
456 (bfd_compress_section_contents): Use bfd_putb64 to write
457 uncompressed section size.
458 (bfd_init_section_decompress_status): Replace
459 get_uncompressed_size with bfd_getb64.
460
68f5ff89
L
4612015-04-04 H.J. Lu <hongjiu.lu@intel.com>
462
463 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
464 SHF_COMPRESSED bit if not decompress.
465
8bed4e0f
L
4662015-04-04 H.J. Lu <hongjiu.lu@intel.com>
467
468 * compress.c (get_uncompressed_size): New. Extracted from ...
469 (bfd_init_section_decompress_status): This. Use it.
470
15c7659f
AT
4712015-04-02 Andrew Turner <andrew@freebsd.org>
472
473 * config.bfd: Add aarch64-*-freebsd* target triple.
474
39f3de7c
L
4752015-04-02 H.J. Lu <hongjiu.lu@intel.com>
476
477 * configure: Regenerated.
478
4106101c
MS
4792015-04-01 Tejas Belagod <tejas.belagod@arm.com>
480 Marcus Shawcroft <marcus.shawcroft@arm.com>
481 Jiong Wang <jiong.wang@arm.com>
482
483 * bfd-in.h (bfd_elf64_aarch64_set_options)
484 (bfd_elf32_aarch64_set_options): Add parameter.
485 * bfd-in2.h: Regenerated.
486 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
487 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
488 (_bfd_aarch64_erratum_843419_stub_name)
489 (_bfd_aarch64_erratum_843419_fixup)
490 (_bfd_aarch64_erratum_843419_scan)
491 (_bfd_aarch64_erratum_843419_branch_to_stub)
492 (_bfd_aarch64_erratum_843419_p): Define.
493 (enum elf_aarch64_stub_type): Define
494 aarch64_stub_erratum_843419_veneer.
495 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
496 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
497 and fix_erratum_843419_adr.
498 (stub_hash_newfunc): Initialize adrp_offset;
499 (_bfd_aarch64_add_stub_entry_after): Define.
500 (aarch64_map_one_stub, aarch64_build_one_stub)
501 (aarch64_size_one_stub): Handle
502 aarch64_stub_erratum_843419_veneer.
503 (_bfd_aarch64_resize_stubs): Round stub section size.
504 (elfNN_aarch64_size_stubs): Add scan for 843419.
505 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
506 fix_erratum_843419 and fix_erratum_843419_adr.
507 (struct erratum_835769_branch_to_stub_data): Add info.
508 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
509 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
510 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
511 (_bfd_aarch64_sign_extend): Define.
512 (reencode_adr_imm): Remove static. Rename to:
513 (_bfd_aarch64_reencode_adr_imm): Define.
514 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
515 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
516 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
517 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
518 Define.
519
afa59b79
L
5202015-04-01 H.J. Lu <hongjiu.lu@intel.com>
521
522 * configure: Regenerated.
523
6036f486
ES
5242015-03-31 Ed Schouten <ed@nuxi.nl>
525
526 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
527 for x86_64-*-cloudabi*.
528 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
529 * configure: Regenerated.
530 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
531 (TARGET_LITTLE_NAME): Likewise.
532 (ELF_OSABI): Likewise.
533 (elf64_bed): Likewise.
534 * targets.c (x86_64_elf64_cloudabi_vec): New.
535 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
536
9ae46699
L
5372015-03-31 H.J. Lu <hongjiu.lu@intel.com>
538
539 * configure.ac: Revert the AM_ZLIB change.
540 * Makefile.in: Regenerated.
541 * aclocal.m4: Likewise.
542 * configure: Likewise.
543 * doc/Makefile.in: Likewise.
544
bd53a53a
L
5452015-03-30 H.J. Lu <hongjiu.lu@intel.com>
546
547 PR ld/18169
548 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
549 (_bfd_elf_get_reloc_section): New.
550 * elf.c (_bfd_elf_get_reloc_section): Likewise.
551 (assign_section_numbers): Call get_reloc_section to look up the
552 section the relocs apply.
553 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
554 (elfNN_bed): Initialize get_reloc_section with
555 elf_backend_get_reloc_section.
556
243340ad
L
5572015-03-29 H.J. Lu <hongjiu.lu@intel.com>
558
559 * Makefile.am (ZLIB): New.
560 (ZLIBINC): Likewise.
561 (AM_CFLAGS): Add $(ZLIBINC).
562 (libbfd_la_LIBADD): Add $(ZLIB).
563 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
564 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
565 (bfd_compress_section_contents): Likewise.
566 (bfd_get_full_section_contents): Likewise.
567 (bfd_init_section_decompress_status): Likewise.
568 (bfd_init_section_compress_status): Likewise.
b51724e8 569 * configure.ac (AM_ZLIB): Removed.
243340ad
L
570 (zlibdir): New. AC_SUBST.
571 (zlibinc): Likewise.
572 Add --with-system-zlib.
573 * Makefile.in: Regenerated.
574 * acinclude.m4: Likewise.
575 * config.in: Likewise.
576 * configure: Likewise.
577 * doc/Makefile.in: Likewise.
578
b8417128
AM
5792015-03-27 Alan Modra <amodra@gmail.com>
580
581 PR ld/15228
582 PR ld/18167
583 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
584 protected_def when symbol section is read-only. Adjust all calls.
585 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
586
93ca8569
TB
5872015-03-26 Tejas Belagod <tejas.belagod@arm.com>
588
589 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
590 _bfd_final_link_relocate with aarch64_relocate.
591
b19a8f85
L
5922015-03-26 H.J. Lu <hongjiu.lu@intel.com>
593
594 PR ld/18160
595 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
596 (bfd_elf_gc_sections): Likewise.
597
61865519
MS
5982015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
599
600 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
601 size for initial branch.
602 (elfNN_aarch64_build_stubs): Write initial branch.
603 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
604 mapping symbol on initial branch.
605
d9ced15d 6062015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
607
608 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
609 Update erratum count.
610
d422d1c4
SKS
6112015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
612
613 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
614 first matching debug section.
615
8d001214
L
6162015-03-24 H.J. Lu <hongjiu.lu@intel.com>
617
618 PR gas/18087
619 * compress.c (bfd_compress_section_contents): Don't write the
620 zlib header and set contents as well as compress_status if
621 compression didn't make the section smaller.
622 (bfd_init_section_compress_status): Don't check compression
623 size here.
624
fc42baf3
NC
6252015-03-24 Nick Clifton <nickc@redhat.com>
626
627 PR binutils/17512
628 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
629 range auxillary sections.
630
fc6d53be
MS
6312015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
632
633 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
634 code into:
635 (_bfd_aarch64_get_stub_for_link_section): Define.
636
30068a6d
MS
6372015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
638
639 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
640 update of section_group[].stub_sec.
641
5421cc6e
MS
6422015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
643
644 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
645 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
646 Delete fixes, fix_table_size and associated code. Call
647 _bfd_aarch64_add_stub_entry_in_group. Rename to...
648 (bfd_aarch64_erratum_835769_scan): Define.
649 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
650 erratum_835769_fix_table_size, i and associated code. Relocate
651 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
652 correction. Delete construction of stub entry from
653 erratum_835769_fixes array.
654
e572930b
MS
6552015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
656
657 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
658 _bfd_aarch64_add_stub_entry_in_group.
659
8131c122
AM
6602015-03-24 Alan Modra <amodra@gmail.com>
661
662 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
663 stubs, even those for undefined weak symbols. Otherwise, don't
664 report relocation overflow on branches to undefined strong
665 symbols. Fix memory leak.
666 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
667 overflow on branches to undefined strong symbols.
668
c53ed7cf
KS
6692015-03-23 Keith Seitz <keiths@redhat.com>
670
671 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
672 missing ';'.
673
94a75bde
MS
6742015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
675
676 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
677 construction into...
678 (_bfd_aarch64_erratum_835769_stub_name): Define.
679
13f622ec
MS
6802015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
681
682 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
683 stub resize code into...
684 (bfd_aarch64_resize_stubs): Define.
685
66585675
MS
6862015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
687
688 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
689 creation code into...
690 (bfd_aarch64_create_stub_section): Define.
691
ef857521
MS
6922015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
693
694 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
695 from elf_aarch64_create_or_find_stub_sec.
696 (_bfd_aarch64_add_stub_entry_in_group): Rename from
697 elfNN_aarch64_add_stub. Call
698 _bfd_aarch64_create_or_find_stub_sec.
699 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
700 _bfd_aarch64_add_stub_entry_in_group.
701
2144188d
MS
7022015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
703
704 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
705 sense of boolean return.
706 (elfNN_aarch64_size_stubs): Adjust for above.
707
4c77202d
MS
7082015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
709
710 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
711 Remove unused parameter.
712 (elfNN_aarch64_size_stubs): Adjust for above.
713
9b9971aa
MS
7142015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
715
716 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
717
e2cdef47
MS
7182015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
719
720 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
721 (num_aarch64_erratum_835769_fixes): Remove.
722 (elfNN_aarch64_size_stubs): Remove assignments to above.
723
3d14faea
MS
7242015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
725
23956543
MS
726 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
727 to rt2.
3d14faea
MS
728 (aarch64_erratum_seqeunce): Rename rtn to rt2.
729
f872121a
MS
7302015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
731
732 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
733
1740ba0c
NC
7342015-03-19 Nick Clifton <nickc@redhat.com>
735
736 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
737 the RL78 core based upon the flags.
738 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
739 flags.
740 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
741 (elf32_rl78_machine): Always return bfd_mach_rl78.
742
e2575e05
NC
7432015-03-19 Nick Clifton <nickc@redhat.com>
744
745 PR 18078
746 * compress.c (bfd_compress_section_contents): Do not define this
747 function if it is not used.
748
0b0732e1
L
7492015-03-18 H.J. Lu <hongjiu.lu@intel.com>
750
751 * compress.c (bfd_compress_section_contents): Make it static.
752 * bfd/bfd-in2.h: Regenerated.
753
27aaeda0
NC
7542015-03-18 Eric Youngdale <eyoungdale@ptc.com>
755
756 PR ld/16598
757 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
758 suitable for the AMD64.
759
273a4985
JT
7602015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
761 Nick Clifton <nickc@redhat.com>
762
763 PR binutils/18087
764 * coffgen.c (make_a_section_from_file): Only prepend a z to a
765 debug section's name if the section was actually compressed.
766 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
767 * compress.c (bfd_init_section_compress_status): Do not compress
768 the section if doing so would make it bigger. In such cases leave
769 the section alone and return COMPRESS_SECTION_NONE.
770
c4b0b099
AM
7712015-03-17 Alan Modra <amodra@gmail.com>
772
773 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
774 on nothing to do, before malloc of returned symbol array.
775
9c761a55
NC
7762015-03-16 Nick Clifton <nickc@redhat.com>
777
778 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
779 stored in the elf_section_data structure then load them as
780 necessary.
781
b9005ba7
AK
7822015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
783
784 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
785 relocs against code sections.
786 * elf32-s390.c: Define elf_backend_sort_relocs_p.
787 * elf64-s390.c: Likewise.
788
1079403c
AM
7892015-03-11 Alan Modra <amodra@gmail.com>
790
791 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
792 reverse order. Account for larger size of __tls_get_addr_opt stub.
793
a5721edd
JW
7942015-03-10 Yuri Gribov <y.gribov@samsung.arm>
795
796 PR ld/16572
797 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
798 ELF_ARM_HASENTRY.
799 (elf32_arm_print_private_bfd_data): Likewise.
800
65164438
NC
8012015-03-06 Nick Clifton <nickc@redhat.com>
802
803 PR binutils/17765
804 * elflink.c (put_value): Like previous delta, but for the 32-bit
805 case.
806
41cd1ad1
NC
8072015-03-05 Nick Clifton <nickc@redhat.com>
808
809 PR binutils/17765
810 * elflink.c (put_value): Avoid using an undefined shift
811 operation.
812
ca3fe95e
L
8132015-03-05 H.J. Lu <hongjiu.lu@intel.com>
814
815 PR ld/pr15228
816 PR ld/pr17709
817 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
818 * elf32-i386.c (elf_backend_extern_protected_data): New.
819 Defined to 1.
820 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
821 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
822 copy relocs against protected symbols if extern_protected_data
823 is true.
824 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
825 non-function symbols if extern_protected_data is true.
826 * elfxx-target.h (elf_backend_extern_protected_data): New.
827 Default to 0.
828 (elfNN_bed): Initialize extern_protected_data with
829 elf_backend_extern_protected_data.
830
425bd9e1
NC
8312015-03-05 Nick Clifton <nickc@redhat.com>
832
833 PR binutils/18025
834 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
835 lookup fails, check for an address bias in the dwarf info, and if
836 one exists, retry the lookup with the biased value.
837 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
838 Determines if a bias exists bewteen the addresses of functions
839 based on DWARF information vs symbol table information.
840 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
841 * libbfd.h: Regenerate.
842
8ef229f3
MS
8432015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
844
845 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
846 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
847 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
848
8e2fe09f
MS
8492015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
850
851 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
852 (aarch64_size_one_stub): Likewise.
853 (aarch64_map_one_stub): Likewise.
854
df88b702
AA
8552015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
856
857 * cpu-s390.c (N): New macro.
858 (bfd_s390_31_arch): New. Define only if default target word size
859 is 64 bits. Otherwise define...
860 (bfd_390_64_arch): ...this. Make static.
861 (bfd_s390_arch): Define according to the default target word size.
862 Let the 'next' field point to the alternate arch.
863
e09ab7ac
RS
8642015-03-04 Richard Sandiford <richard.sandiford@arm.com>
865
866 PR gas/17843
867 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
868 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
869 to be used with MOVK rather than MOVZ.
870
71eef2bd
DD
8712015-03-03 DJ Delorie <dj@redhat.com>
872
873 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
874 there's a symbol.
875
f01f1741
AM
8762015-02-28 Alan Modra <amodra@gmail.com>
877
878 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
879 not PLT_NEW.
880
c1d11331
L
8812015-02-27 H.J. Lu <hongjiu.lu@intel.com>
882
883 * elf32-i386.c (need_convert_mov_to_lea): New.
884 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
885 (elf_i386_convert_mov_to_lea): Return TRUE if
886 need_convert_mov_to_lea is unset.
887 * elf64-x86-64.c (need_convert_mov_to_lea): New.
888 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
889 (elf_x86_64_convert_mov_to_lea): Return TRUE if
890 need_convert_mov_to_lea is unset.
891
cdb602b1
NC
8922015-02-27 Nick Clifton <nickc@redhat.com>
893
894 PR binutils/17910
895 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
896 string length overflow when the string table length is actually
897 set.
898
96c20bc1
MS
8992015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
900
901 * bfd/bfd-in2.h: Regenerate.
902 * bfd/libbfd.h: Regenerate.
903
1ada945d
MS
9042015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
905
906 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
907 TLSDESC_LD_PREL19 field width and masks.
908 (aarch64_tls_transition_without_check)
909 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
910 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
911 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
912 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
913 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
914 (_bfd_aarch64_elf_resolve_relocation): Likewise.
915
389b8029
MS
9162015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
917
73920eed
MS
918 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
919 tests.
389b8029
MS
920 (aarch64_tls_transition_without_check)
921 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
922 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
923 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
924 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
925 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
926 (_bfd_aarch64_elf_resolve_relocation): Likewise.
927 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
928
3c12b054
MS
9292015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
930
931 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
932 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
933 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
934 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
935 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
936 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
937 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
938 (_bfd_aarch64_elf_resolve_relocation): Likewise.
939 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
940
043bf05a
MS
9412015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
942
943 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
944 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
945 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
946 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
947 (elfNN_aarch64_check_relocs): Handle
948 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
949
950 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
951 (_bfd_aarch64_elf_resolve_relocation): Likewise.
952
7366006f
MS
9532015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
954
955 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
956
07875fbc
MS
9572015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
958
959 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
960 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
961 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
962 width.
963
49d8f92c
MS
9642015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
965
966 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
967 field width.
968
c86934ce
NC
9692015-02-26 Nick Clifton <nickc@redhat.com>
970
971 PR binutils/17512
972 * coffcode.h (coff_compute_section_file_positions): Report
973 negative page sizes.
974 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
975 (assign_file_positions_for_non_load_sections): Replace assertion
976 with an error message.
977 (rewrite_elf_program_header): Handle excessive segment
978 alignments.
979 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
980 (bfd_mach_o_read_section_64): Likewise.
981 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
982 print a bfd name, not %A.
983
bd4d2eaa
AM
9842015-02-26 Alan Modra <amodra@gmail.com>
985
986 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
987 thread-safe stubs for iplt.
988 (build_tls_get_addr_stub): Restore r2 immediately after call.
989
99654aaf
TG
9902015-02-26 Terry Guo <terry.guo@arm.com>
991
992 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
993 merge Tag_ABI_HardFP_use.
994
a127494f
AM
9952015-02-26 Alan Modra <amodra@gmail.com>
996
997 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
998 Use text relocs rather than giving an error on trying to use
999 .dynbss for protected shared lib vars.
1000 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1001
bac13f5a
AB
10022015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
1003
1004 * elf32-avr.c (struct elf_avr_section_data): New structure.
1005 (struct avr_relax_info): New structure.
1006 (elf_avr_new_section_hook): New function.
1007 (struct elf_avr_section_data): Add relax_info.
1008 (get_avr_relax_info): New function.
1009 (init_avr_relax_info): New function.
1010 (elf32_avr_relax_delete_bytes): Find next property record before
1011 deleting bytes. When deleting don't move bytes beyond the next
1012 property record.
1013 (avr_elf32_assign_records_to_section): New function.
1014 (avr_property_record_compare): New function.
1015 (avr_load_all_property_sections): New function.
1016 (elf32_avr_relax_section): Load property data. After relaxing the
1017 section, move any .align directives that have enough deleted bytes
1018 before them.
1019 (bfd_elf32_new_section_hook): Define.
1020
137c83d6
AB
10212015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
1022
1023 * elf32-avr.h (struct avr_property_header): New strucure.
1024 (avr_elf32_load_property_records): Declare.
1025 (avr_elf32_property_record_name): Declare.
1026 * elf32-avr.c: Add bfd_stdint.h include.
1027 (retrieve_local_syms): New function.
1028 (get_elf_r_symndx_section): New function.
1029 (get_elf_r_symndx_offset): New function.
1030 (internal_reloc_compare): New function.
1031 (struct avr_find_section_data): New structure.
1032 (avr_is_section_for_address): New function.
1033 (avr_find_section_for_address): New function.
1034 (avr_elf32_load_records_from_section): New function.
1035 (avr_elf32_load_property_records): New function.
1036 (avr_elf32_property_record_name): New function.
1037
fdd410ac
AB
10382015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
1039
1040 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
1041 (AVR_PROPERTY_RECORDS_VERSION): Define.
1042 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
1043 (struct avr_property_record): New structure.
1044
685080f2
NC
10452015-02-24 Nick Clifton <nickc@redhat.com>
1046
1047 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
1048 style note entry.
1049 (v850_elf_make_note_section): New function. Creates a note
1050 section.
1051 (v850_elf_create_sections): New function. Create a note section
1052 if one is not already present.
1053 (v850_elf_set_note): New function. Adds a note to a bfd.
1054 (v850_elf_copy_private_bfd_data): New function. Copies V850
1055 notes.
1056 (v850_elf_merge_notes): New function. Merges V850 notes.
1057 (print_v850_note): New function. Displays a V850 note.
1058 (v850_elf_print_notes): New function. Displays all notes attached
1059 to a bfd.
1060 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
1061 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
1062 (v850_elf_fake_sections): Set the type of the V850 note section.
1063 * bfd-in.h (v850_elf_create_sections): Add prototype.
1064 (v850_elf_set_note): Add prototype.
1065 * bfd-in2.h: Regenerate.
1066
31593e1b
NC
10672015-02-24 Nick Clifton <nickc@redhat.com>
1068
1069 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
1070 * configure: Regenerate.
1071 * config.in: Regenerate.
1072 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
1073 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
1074 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
1075 is defined.
1076
3ad797fd
NC
10772015-02-24 Nick Clifton <nickc@redhat.com>
1078
1079 * pdp11.c (set_section_contents): Pad the .text and .data sections
1080 to their aligned sizes.
1081
5518c738
YS
10822015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
1083
1084 * config.bfd: Add h8300-*-linux.
1085 * configure.ac: Add h8300_elf32_linux_vec.
1086 * configure: Regenerate.
1087 * elf32-h8300.c: Likewise.
1088 * targets.c(_bfd_target_vector): Likewise.
1089
cb967f0d
NC
10902015-02-23 Nick Clifton <nickc@redhat.com>
1091
1092 PR 17914
1093 * cpu-w65.c: Correct typos in license notice.
1094
0f8f0c57
NC
1095 PR 17940
1096 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
1097 symbols at end of sections. Adjust function sizes.
1098
4ef9f41a
AA
10992015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
1100
1101 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
1102 (elfcore_write_s390_vxrs_high): Likewise.
1103 * elf.c (elfcore_grok_s390_vxrs_low): New function.
1104 (elfcore_grok_s390_vxrs_high): New function.
1105 (elfcore_grok_note): Call them.
1106 (elfcore_write_s390_vxrs_low): New function.
1107 (elfcore_write_s390_vxrs_high): New function.
1108 (elfcore_write_register_note): Call them.
1109
837914ee
BD
11102015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
1111
1112 PR 17995
1113 * verilog.c (verilog_write_record): Correct buffer size.
1114
cf18fda4
AM
11152015-02-19 Alan Modra <amodra@gmail.com>
1116
1117 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
1118
d983c8c5
AM
11192015-02-19 Alan Modra <amodra@gmail.com>
1120
1121 PR ld/4317
1122 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
1123 (elf_link_output_extsym): Drop local and global undefined syms.
1124 Tidy. Expand comment.
1125
2ec55de3
AM
11262015-02-17 Alan Modra <amodra@gmail.com>
1127
1128 PR ld/17975
1129 * elflink.c (struct elf_outext_info): Remove need_second_pass
1130 and second_pass.
1131 (elf_link_output_extsym): Delete code handling second forced
1132 local pass. Move code emitting NULL STT_FILE symbol later, so
1133 that it can be omitted if forced local is stripped. Don't
1134 emit the NULL STT_FILE if no file symbols have been output.
1135 (bfd_elf_final_link): Remove second forced local pass.
1136 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
1137 (ppc_elf_size_dynamic_sections): Likewise.
1138 * elf64-ppc.c (ppc_build_one_stub): Likewise.
1139 (build_global_entry_stubs): Likewise.
1140 (ppc64_elf_build_stubs): Likewise.
1141
6dfb72b9
L
11422015-02-16 H.J. Lu <hongjiu.lu@intel.com>
1143
1144 PR ld/17975
1145 * elflink.c (elf_link_output_extsym): Only check filesym_count
1146 when outputting a NULL FILE symbol. Set second_pass_sym to
1147 h->forced_local && !h->root.linker_def.
1148
576fa883
L
11492015-02-15 H.J. Lu <hongjiu.lu@intel.com>
1150
1151 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
1152 on _TLS_MODULE_BASE_.
1153 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
1154
62f8d217
AM
11552015-02-15 Alan Modra <amodra@gmail.com>
1156
1157 * dwarf2.c (read_rangelist): Correct buffer overflow check
1158 Whitespace throughout file.
1159
ce875075
AM
11602015-02-14 Alan Modra <amodra@gmail.com>
1161
1162 PR ld/17973
1163 * bfd.c (struct bfd): Add lto_output.
1164 * linker.c (_bfd_handle_already_linked): Explicitly test for
1165 objects added by the lto plugin.
1166 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
1167 no_export flags from archive.
1168 * archive.c (open_nested_file): New function, setting lto_output
1169 and no_export, extracted from..
1170 (find_nested_archive): ..here. Flip params. Rename from
1171 _bfd_find_nested_archive.
1172 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
1173 (_bfd_look_for_bfd_in_cache): Copy no_export.
1174 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
1175 my_archive->no_export test.
1176 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
1177 Don't use the file name when adding lto_output STT_FILE sym.
1178 * bfd-in2.h: Regenerate.
1179
451dfd38
AM
11802015-02-13 Alan Modra <amodra@gmail.com>
1181
1182 PR binutils/17512
1183 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
1184 now redundant assert.
1185
dbb3fbbb
NC
11862015-02-12 Nick Clifton <nickc@redhat.com>
1187
1188 PR binutils/17512
1189 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
1190 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
1191 (read_indirect_string, read_alt_indirect_string)
1192 (read_alt_indirect_ref, read_address, read_abbrevs)
1193 (read_attribute_value, read_attribute, decode_line_info)
1194 (find_abstract_instance_name, read_rangelist)
1195 (scan_unit_for_symbols, parse_comp_unit)
1196 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
1197 end pointers to reading functions and check for offsets taking
1198 pointers out of range. Replace calls to read_*_leb128 with calls
1199 to safe_read_leb128.
1200
1201 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
1202 offset.
1203 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
1204 computed file_name address being before the start of the string
1205 table.
1206
b9dc5a87
L
12072015-02-11 H.J. Lu <hongjiu.lu@intel.com>
1208
1209 PR ld/17878
1210 * bfd.c (bfd_plugin_format): New.
1211 (bfd): Add plugin_format and plugin_dummy_bfd.
1212 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
1213 argument to return TRUE if any plugin is found. Set plugin_format.
1214 (has_plugin): New.
1215 (bfd_plugin_target_p): New.
1216 (bfd_plugin_specified_p): Likewise.
1217 (bfd_plugin_target_p): Likewise.
1218 (register_ld_plugin_object_p): Likewise.
1219 (bfd_plugin_set_plugin): Set has_plugin.
1220 (load_plugin): Cache try_load_plugin result.
1221 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
1222 plugin_format.
1223 * plugin.h (bfd_plugin_target_p): New.
1224 (bfd_plugin_specified_p): Likewise.
1225 (register_ld_plugin_object_p): Likewise.
1226 * bfd-in2.h: Regenerated.
1227
55172d69
PA
12282015-02-11 Pedro Alves <palves@redhat.com>
1229
1230 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
1231 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
1232 * libbfd.h: Regenerate.
1233 * libcoff.h: Regenerate.
1234
1235 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
1236 * mach-o.h [__cplusplus]: Wrap in extern "C".
1237 * som.h [__cplusplus]: Wrap in extern "C".
1238
77ef8654
NC
12392015-02-10 Nick Clifton <nickc@redhat.com>
1240
1241 PR binutils/17512
1242 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
1243 hold the flag bits.
1244 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
1245 size and number of relocs.
1246 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
1247 codeview record.
1248 * versados.c (process_otr): Check the esdid value before using it
1249 to access the EDATA.
1250
35181b3e
EM
12512015-02-09 Ed Maste <emaste@freebsd.org>
1252
1253 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
1254 uninitialized and unused variable.
1255 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1256
989f9879
AM
12572015-02-09 Alan Modra <amodra@gmail.com>
1258
1259 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
1260 tls_sec.
1261 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1262 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
1263
ca4be51c
AM
12642015-02-09 Alan Modra <amodra@gmail.com>
1265
1266 * elflink.c: Whitespace, formatting fixes.
1267 (elf_link_input_bfd): Clarify comment.
1268 (elf_link_output_extsym): Exclude symbols in linker created
1269 sections when testing for plugin symbols.
1270
1952c5cd
L
12712015-02-07 H.J. Lu <hongjiu.lu@intel.com>
1272
1273 PR ld/17935
1274 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
1275 warning for relocation in readonly section for -z text.
1276 (elf_i386_size_dynamic_sections): Likewise.
1277 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1278 (elf_x86_64_size_dynamic_sections): Likewise.
1279
9e2dec47
L
12802015-02-06 H.J. Lu <hongjiu.lu@intel.com>
1281
1282 PR ld/12365
1283 PR ld/14272
1284 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
1285 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
1286 referenced from a non-IR file.
1287
5929c344
NC
12882015-02-06 Nick Clifton <nickc@redhat.com>
1289
1290 PR binutils/17512
1291 * peXXigen.c (rsrc_print_resource_entries): Add range check for
1292 addresses that wrap around the address space.
1293 (rsrc_parse_entry): Likewise.
1294
60f79275
L
12952015-02-03 H.J. Lu <hongjiu.lu@intel.com>
1296
1297 PR ld/12365
1298 PR ld/14272
1299 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
1300 undefined if it is referenced from a non-IR file.
1301
64d29018
NC
13022015-02-03 Nick Clifton <nickc@redhat.com>
1303
1304 PR binutils/17512
1305 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
1306 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
1307 index or an out of range fdr index.
1308 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
1309 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
1310 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
1311 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
1312 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
1313 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
1314 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1315 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
1316 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
1317 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
1318 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
1319 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
1320 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1321 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
1322 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
1323 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
1324 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
1325 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
1326 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
1327 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
1328 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
1329 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1330 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
1331 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
1332 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1333 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
1334 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
1335 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
1336 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
1337 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
1338 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1339 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1340 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
1341 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
1342 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1343 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1344 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
1345 * elf32-vax.c (rtype_to_howto): Likewise.
1346 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
1347 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
1348 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
1349 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1350 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
1351 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
1352 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
1353 of range symbol indicies.
1354 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
1355 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
1356 (bfd_mach_o_build_dysymtab): Likewise.
1357 (bfd_mach_o_write_symtab_content): Set the string table size to
1358 zero upon error.
1359 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
1360 read fails.
1361 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
1362 fields.
1363 * tekhex.c (first_phase): Check for src pointer reaching end of
1364 buffer.
1365
3a635617
WN
13662015-02-03 Will Newton <will.newton@linaro.org>
1367
46b87d49
WN
1368 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
1369 Set st_value to zero for undefined symbols if the reference
1370 is weak or pointer_equality_needed is FALSE.
1371
3a635617
WN
1372 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
1373 comment discussing why we clear st_value for some symbols.
1374
0c4bd9d9
KLC
13752015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1376
1377 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
1378 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
1379
b86ac8e3
AM
13802015-01-29 Alan Modra <amodra@gmail.com>
1381
1382 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
1383 optimization. Tidy mask for GOT_TLSGD optimization.
1384 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
1385 location of nop zapping high insn too.
1386
dbd1e97e
AM
13872015-01-28 Alan Modra <amodra@gmail.com>
1388
1389 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
1390 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
1391 in .toc indicate xlc compiled code that might require a rw .toc.
1392
3f8107ab
AM
13932015-01-28 James Bowman <james.bowman@ftdichip.com>
1394
1395 * Makefile.am: Add FT32 files.
1396 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
1397 (bfd_mach_ft32): Define.
1398 (bfd_ft32_arch): Declare.
1399 (bfd_archures_list): Add bfd_ft32_arch.
1400 * config.bfd: Handle FT32.
1401 * configure.ac: Likewise.
1402 * cpu-ft32.c: New file.
1403 * elf32-ft32.c: New file.
1404 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
1405 BFD_RELOC_FT32_18): Define.
1406 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
1407 * bfd-in2.h: Regenerate.
1408 * libbfd.h: Regenerate.
1409 * Makefile.in: Regenerate.
1410 * configure: Regenerate.
1411 * po/SRC-POTFILES.in: Regenerate.
1412
37e3922e
NC
14132015-01-27 Nick Clifton <nickc@redhat.com>
1414
1415 PR binutils/17512
1416 * pdp11.c (aout_get_external_symbols): Return false if there are
1417 no symbols.
1418
877a8638
NC
1419 * dwarf2.c (concat_filename): Check for an empty directory table.
1420 (scan_unit_for_symbols): Check for reading off the end of the
1421 unit.
1422 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
1423 non-string form.
1424 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
1425 available.
1426
18393a2e
KLC
14272015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1428
1429 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
1430
055173ca
DD
14312015-01-22 DJ Delorie <dj@redhat.com>
1432
1433 * elf32-m32c.c (m32c_apply_reloc_24): New.
1434 (m32c_elf_howto_table): Use it for R_M32C_24.
1435 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
1436
4e5cb37e
NC
14372015-01-22 Nick Clifton <nickc@redhat.com>
1438
1439 PR binutils/17512
1440 * coffcode.h (handle_COMDAT): When searching for the section
1441 symbol, make sure that there is space left in the symbol table.
1442 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
1443
86eafac0
NC
14442015-01-21 Nick Clifton <nickc@redhat.com>
1445
1446 PR binutils/17512
1447 * coffcode.h (coff_set_arch_mach_hook): Check return value from
1448 bfd_malloc.
1449 (coff_slurp_line_table): Return FALSE if the line number
1450 information was corrupt.
1451 (coff_slurp_symbol_table): Return FALSE if the symbol information
1452 was corrupt.
1453 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
1454 initialise the fields of the dyld_info structure.
1455 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
1456 error message and a return value.
1457 (bfd_mach_o_layout_commands): Change the function to boolean.
1458 Return FALSE if the function fails.
1459 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
1460 fails.
1461 (bfd_mach_o_read_command): Fail if an unrecognised command is
1462 encountered.
1463 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
1464 read fails.
1465 (slurp_symtab): Check the return from bfd_malloc.
1466 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
1467 encountered an error.
1468 (_bfd_XXi_final_link_postscript): Fail if a section could not be
1469 copied.
1470 * peicode.h (pe_bfd_object_p): Fail if the header could not be
1471 swapped in.
1472 * tekhex.c (first_phase): Fail if the section is too big.
1473 * versados.c (struct esdid): Add content_size field.
1474 (process_otr): Use and check the new field.
1475 (versados_get_section_contents): Check that the section exists and
1476 that the requested data is available.
1477
03d5b773
CLT
14782015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
1479
1480 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
1481
1c9177d9
AM
14822015-01-20 Alan Modra <amodra@gmail.com>
1483
1484 PR ld/17615
1485 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
1486 ELF_COMMON_DEF syms.
1487
c4621b33
AM
14882015-01-19 Alan Modra <amodra@gmail.com>
1489
3e2aa5bb 1490 PR ld/17615
c4621b33
AM
1491 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
1492 linker script assignments too.
1493 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
1494 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
1495
0ba38529
AM
14962015-01-19 Alan Modra <amodra@gmail.com>
1497
1498 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
1499 to allow return of first howto.
1500 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
1501 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
1502 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
1503 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
1504 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
1505 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
1506 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
1507 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
1508 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
1509 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
1510 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
1511 (spu_elf_reloc_type_lookup): Adjust to suit.
1512
6346d5ca
AM
15132015-01-19 Alan Modra <amodra@gmail.com>
1514
1515 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
1516 (bfd_get_section_limit): ..here.
1517 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
1518 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
1519 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
1520 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
1521 bfd_reloc_outofrange check.
1522 * bfd-in2.h: Regenerate.
1523
1524 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
1525 on zero size relocs.
1526 * ecoff.c (ecoff_reloc_link_order): Likewise.
1527 * elf32-nds32.c (nds32_relocate_contents): Likewise.
1528 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1529
1530 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
1531 (_bfd_clear_contents): Likewise.
1532 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
1533 (mips_elf_perform_relocation): Likewise.
1534
1535 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
1536 from malloc on zero size alloc.
1537 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1538 * elflink.c (elf_reloc_link_order): Likewise.
1539 * linker.c (_bfd_generic_reloc_link_order): Likewise.
1540 * pdp11.c (aout_link_reloc_link_order): Likewise.
1541 * xcofflink.c (xcoff_reloc_link_order): Likewise.
1542
1543 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
1544 bitsize 0, and complain_overflow_dont.
1545 * coff-sparc.c (coff_sparc_howto_table): Likewise.
1546 * elf-hppa.h (elf_hppa_howto_table): Likewise.
1547 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
1548 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
1549 * elf32-arc.c (elf_arc_howto_table): Likewise.
1550 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
1551 * elf32-avr.c (elf_avr_howto_table): Likewise.
1552 * elf32-bfin.c (bfin_howto_table): Likewise.
1553 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
1554 * elf32-cris.c (cris_elf_howto_table): Likewise.
1555 * elf32-crx.c (crx_elf_howto_table): Likewise.
1556 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
1557 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
1558 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
1559 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
1560 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
1561 * elf32-frv.c (elf32_frv_howto_table): Likewise.
1562 * elf32-h8300.c (h8_elf_howto_table): Likewise.
1563 * elf32-i370.c (i370_elf_howto_raw): Likewise.
1564 * elf32-i386.c (elf_howto_table): Likewise.
1565 * elf32-i860.c (elf32_i860_howto_table): Likewise.
1566 * elf32-i960.c (elf32_i960_relocate): Likewise.
1567 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
1568 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
1569 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
1570 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
1571 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
1572 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
1573 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
1574 * elf32-m68k.c (howto_table): Likewise.
1575 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
1576 * elf32-mep.c (mep_elf_howto_table): Likewise.
1577 * elf32-metag.c (elf_metag_howto_table): Likewise.
1578 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
1579 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
1580 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
1581 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
1582 * elf32-mt.c (mt_elf_howto_table): Likewise.
1583 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
1584 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
1585 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
1586 * elf32-pj.c (pj_elf_howto_table): Likewise.
1587 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
1588 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
1589 * elf32-rx.c (rx_elf_howto_table): Likewise.
1590 * elf32-s390.c (elf_howto_table): Likewise.
1591 * elf32-score.c (elf32_score_howto_table): Likewise.
1592 * elf32-score7.c (elf32_score_howto_table): Likewise.
1593 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
1594 * elf32-spu.c (elf_howto_table): Likewise.
1595 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
1596 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
1597 * elf32-v850.c (v850_elf_howto_table): Likewise.
1598 * elf32-vax.c (howto_table): Likewise.
1599 * elf32-visium.c (visium_elf_howto_table): Likewise.
1600 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
1601 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
1602 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
1603 * elf32-xtensa.c (elf_howto_table): Likewise.
1604 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
1605 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
1606 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
1607 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
1608 * elf64-s390.c (elf_howto_table): Likewise.
1609 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
1610 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
1611 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
1612 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1613 (elfNN_aarch64_howto_none): Likewise.
1614 * elfxx-ia64.c (ia64_howto_table): Likewise.
1615 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
1616 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
1617 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
1618
6333bc0d
L
16192015-01-15 H.J. Lu <hongjiu.lu@intel.com>
1620
1621 PR ld/17847
1622 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
1623 about -fPIC if the symbol is undefined when building executable.
1624
cd21f5da
NC
16252015-01-15 Nick Clifton <nickc@redhat.com>
1626
1627 PR binutils/17512
1628 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
1629 error message. Never return an invalid howto pointer.
1630 * elf32-cr16.c (cr16_info_to_howto): Likewise.
1631 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1632 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1633 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1634 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1635 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
1636 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1637 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1638 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1639 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
1640 * elf32-vax.c (rtype_to_howto): Likewise.
1641 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1642 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
1643 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
1644 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1645 (sh_elf_reloc): Check that the reloc is in range.
1646 * reloc.c (bfd_perform_relocation): Check that the section is big
1647 enough for the entire reloc.
1648 (bfd_generic_get_relocated_section_contents): Report unexpected
1649 return values from perform_reloc.
1650
2d071cfc
NC
16512015-01-15 Nick Clifton <nickc@redhat.com>
1652
1653 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
1654 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
1655 relaxation.
1656
ca55926c
AM
16572015-01-15 Alan Modra <amodra@gmail.com>
1658
1659 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
1660 any output section matching a linker created dynobj section.
1661
8539e4e8
AM
16622015-01-15 Alan Modra <amodra@gmail.com>
1663
1664 PR 17842
1665 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
1666 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
1667 Don't assign symtab file position unless symbols will be output.
1668 Merge blocks with condition in common. Don't call
1669 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
1670 unless other symbols are output. Move assignment of symtab_shndx
1671 file position. Localize variable.
1672
52db4ec2
JW
16732015-01-14 Jiong Wang <jiong.wang@arm.com>
1674
1675 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
1676 trying to defer them to runtime.
1677
0941db69
JW
16782015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1679
1680 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
1681 to check if a symbol should be bound symbolically.
1682
0172429c
JW
16832015-01-13 Jiong Wang <jiong.wang@arm.com>
1684
1685 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
1686 for TLSLE_MOVW_TPREL_G2.
1687
bab91cce
JW
16882015-01-13 Jiong Wang <jiong.wang@arm.com>
1689
1690 PR ld/17415
1691 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
1692 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
1693 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
1694 bit mask.
1695
3c758495
TG
16962015-01-12 Terry Guo <terry.guo@arm.com>
1697
1698 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
1699 function.
1700 (_bfd_elf_gc_mark_extra_sections): Use it.
1701
9d1d54d5
L
17022015-01-11 H.J. Lu <hongjiu.lu@intel.com>
1703
1704 PR ld/17827
1705 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
1706 only discard space for pc-relative relocs symbols which turn
1707 out to need copy relocs.
1708
c6e8e93a
NC
17092015-01-09 Nick Clifton <nickc@redhat.com>
1710
1711 * tekhex.c (getvalue): Fix thinko in test for correct extraction
1712 of value.
1713 (getsym): Return false if there was not enough data to extract the
1714 symbol.
1715
400cf8cb
AG
17162015-01-09 Anthony Green <green@moxielogic.com>
1717
1718 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
1719
23d4663e
NC
17202015-01-08 Nick Clifton <nickc@redhat.com>
1721
1722 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
1723 16-bit absolute BR instructions to 10-bit pc-relative JMP
1724 instructions.
1725
063bb025
NC
17262015-01-08 Nick Clifton <nickc@redhat.com>
1727
1728 PR binutils/17512
1729 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
1730 to load the line table.
1731 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
1732 maxpagesize of 1.
1733 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
1734 the Data Directory Size is too large.
1735
6f25f223
L
17362015-01-06 H.J. Lu <hongjiu.lu@intel.com>
1737
1738 PR binutils/17512
1739 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
1740 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1741
85880250
NC
17422015-01-06 Nick Clifton <nickc@redhat.com>
1743
1744 PR binutils/17512
e7287c7f
NC
1745 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
1746 string table.
1747
ec93045b
NC
1748 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
1749 (bfd_perform_relocation): Include the size of the reloc in the
1750 test for an out of range relocation.
1751 (bfd_generic_get_relocated_section_contents): Remove reloc range
1752 test.
1753
85880250
NC
1754 * coff-i860.c (CALC_ADDEND): Always set an addend value.
1755 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
1756 avoid reading off the end of the buffer.
1757 (getsym): Likewise.
1758 (first_phase): Likewise.
1759 (pass_over): Pass an end pointer to the invoked function.
1760
533d0af0
L
17612015-01-05 H.J. Lu <hongjiu.lu@intel.com>
1762
1763 PR binutils/17512
1764 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
1765 input.
1766 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1767
896ca098
NC
17682015-01-05 Nick Clifton <nickc@redhat.com>
1769
1770 PR binutils/17512
1771 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
1772 is at least big enough for the header to be read.
1773 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
1774 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
1775 (bfd_mach_o_read_command): Prevetn duplicate error messages about
1776 unrecognized commands.
1777 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
1778 when indexing into the string table.
1779
b90efa5b 17802015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 1781
b90efa5b 1782 Update year range in copyright notice of all files.
ee3b52e9 1783
b90efa5b 1784For older changes see ChangeLog-2014
56882138 1785\f
b90efa5b 1786Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
1787
1788Copying and distribution of this file, with or without modification,
1789are permitted in any medium without royalty provided the copyright
1790notice and this notice are preserved.
1791
56882138
AM
1792Local Variables:
1793mode: change-log
1794left-margin: 8
1795fill-column: 74
1796version-control: never
1797End:
This page took 0.834007 seconds and 4 git commands to generate.