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