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