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