24e21766c42e256e1bbc3a4b461a1ed5341dcef9
[external/binutils.git] / bfd / ChangeLog
1 2015-02-24  Nick Clifton  <nickc@redhat.com>
2
3         * pdp11.c (set_section_contents): Pad the .text and .data sections
4         to their aligned sizes.
5
6 2015-02-23  Yoshinori Sato <ysato@users.sourceforge.jp>
7
8         * config.bfd: Add h8300-*-linux.
9         * configure.ac: Add h8300_elf32_linux_vec.
10         * configure: Regenerate.
11         * elf32-h8300.c: Likewise.
12         * targets.c(_bfd_target_vector): Likewise.
13
14 2015-02-23  Nick Clifton  <nickc@redhat.com>
15
16         PR 17914
17         * cpu-w65.c: Correct typos in license notice.
18
19         PR 17940
20         * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
21         symbols at end of sections.  Adjust function sizes.
22
23 2015-02-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
24
25         * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
26         (elfcore_write_s390_vxrs_high): Likewise.
27         * elf.c (elfcore_grok_s390_vxrs_low): New function.
28         (elfcore_grok_s390_vxrs_high): New function.
29         (elfcore_grok_note): Call them.
30         (elfcore_write_s390_vxrs_low): New function.
31         (elfcore_write_s390_vxrs_high): New function.
32         (elfcore_write_register_note): Call them.
33
34 2015-02-19  Branko Drevensek  <branko.drevensek@gmail.com>
35
36         PR 17995
37         * verilog.c (verilog_write_record): Correct buffer size.
38
39 2015-02-19  Alan Modra  <amodra@gmail.com>
40
41         * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
42
43 2015-02-19  Alan Modra  <amodra@gmail.com>
44
45         PR ld/4317
46         * elflink.c (elf_link_input_bfd): Drop undefined local syms.
47         (elf_link_output_extsym): Drop local and global undefined syms.
48         Tidy.  Expand comment.
49
50 2015-02-17  Alan Modra  <amodra@gmail.com>
51
52         PR ld/17975
53         * elflink.c (struct elf_outext_info): Remove need_second_pass
54         and second_pass.
55         (elf_link_output_extsym): Delete code handling second forced
56         local pass.  Move code emitting NULL STT_FILE symbol later, so
57         that it can be omitted if forced local is stripped.  Don't
58         emit the NULL STT_FILE if no file symbols have been output.
59         (bfd_elf_final_link): Remove second forced local pass.
60         * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
61         (ppc_elf_size_dynamic_sections): Likewise.
62         * elf64-ppc.c (ppc_build_one_stub): Likewise.
63         (build_global_entry_stubs): Likewise.
64         (ppc64_elf_build_stubs): Likewise.
65
66 2015-02-16  H.J. Lu  <hongjiu.lu@intel.com>
67
68         PR ld/17975
69         * elflink.c (elf_link_output_extsym): Only check filesym_count
70         when outputting a NULL FILE symbol.  Set second_pass_sym to
71         h->forced_local && !h->root.linker_def.
72
73 2015-02-15  H.J. Lu  <hongjiu.lu@intel.com>
74
75         * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
76         on _TLS_MODULE_BASE_.
77         * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
78
79 2015-02-15  Alan Modra  <amodra@gmail.com>
80
81         * dwarf2.c (read_rangelist): Correct buffer overflow check
82         Whitespace throughout file.
83
84 2015-02-14  Alan Modra  <amodra@gmail.com>
85
86         PR ld/17973
87         * bfd.c (struct bfd): Add lto_output.
88         * linker.c (_bfd_handle_already_linked): Explicitly test for
89         objects added by the lto plugin.
90         * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
91         no_export flags from archive.
92         * archive.c (open_nested_file): New function, setting lto_output
93         and no_export, extracted from..
94         (find_nested_archive): ..here.  Flip params.  Rename from
95         _bfd_find_nested_archive.
96         (_bfd_get_elt_at_filepos): Correct var typo.  Use open_nested_file.
97         (_bfd_look_for_bfd_in_cache): Copy no_export.
98         * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
99         my_archive->no_export test.
100         (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
101         Don't use the file name when adding lto_output STT_FILE sym.
102         * bfd-in2.h: Regenerate.
103
104 2015-02-13  Alan Modra  <amodra@gmail.com>
105
106         PR binutils/17512
107         * elf64-ppc.c (opd_entry_value): Tighten offset check.  Remove
108         now redundant assert.
109
110 2015-02-12  Nick Clifton  <nickc@redhat.com>
111
112         PR binutils/17512
113         * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
114         (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
115         (read_indirect_string, read_alt_indirect_string)
116         (read_alt_indirect_ref, read_address, read_abbrevs)
117         (read_attribute_value, read_attribute, decode_line_info)
118         (find_abstract_instance_name, read_rangelist)
119         (scan_unit_for_symbols, parse_comp_unit)
120         (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code.  Pass
121         end pointers to reading functions and check for offsets taking
122         pointers out of range.  Replace calls to read_*_leb128 with calls
123         to safe_read_leb128.
124
125         (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
126         offset.
127         * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
128         computed file_name address being before the start of the string
129         table.
130
131 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
132
133         PR ld/17878
134         * bfd.c (bfd_plugin_format): New.
135         (bfd): Add plugin_format and plugin_dummy_bfd.
136         * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
137         argument to return TRUE if any plugin is found.  Set plugin_format.
138         (has_plugin): New.
139         (bfd_plugin_target_p): New.
140         (bfd_plugin_specified_p): Likewise.
141         (bfd_plugin_target_p): Likewise.
142         (register_ld_plugin_object_p): Likewise.
143         (bfd_plugin_set_plugin): Set has_plugin.
144         (load_plugin): Cache try_load_plugin result.
145         (bfd_plugin_object_p): Try ld_plugin_object_p first.  Check
146         plugin_format.
147         * plugin.h (bfd_plugin_target_p): New.
148         (bfd_plugin_specified_p): Likewise.
149         (register_ld_plugin_object_p): Likewise.
150         * bfd-in2.h: Regenerated.
151
152 2015-02-11  Pedro Alves  <palves@redhat.com>
153
154         * libbfd-in.h [__cplusplus]: Open extern "C" scope.
155         * libcoff-in.h [__cplusplus]: Open extern "C" scope.
156         * libbfd.h: Regenerate.
157         * libcoff.h: Regenerate.
158
159         * elf-bfd.h [__cplusplus]: Wrap in extern "C".
160         * mach-o.h [__cplusplus]: Wrap in extern "C".
161         * som.h [__cplusplus]: Wrap in extern "C".
162
163 2015-02-10  Nick Clifton  <nickc@redhat.com>
164
165         PR binutils/17512
166         * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
167         hold the flag bits.
168         * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
169         size and number of relocs.
170         (pe_print_debugdata): Use a 32-bit aligned buffer to store the
171         codeview record.
172         * versados.c (process_otr): Check the esdid value before using it
173         to access the EDATA.
174
175 2015-02-09  Ed Maste  <emaste@freebsd.org>
176
177         * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
178         uninitialized and unused variable.
179         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
180
181 2015-02-09  Alan Modra  <amodra@gmail.com>
182
183         * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
184         tls_sec.
185         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
186         * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
187
188 2015-02-09  Alan Modra  <amodra@gmail.com>
189
190         * elflink.c: Whitespace, formatting fixes.
191         (elf_link_input_bfd): Clarify comment.
192         (elf_link_output_extsym): Exclude symbols in linker created
193         sections when testing for plugin symbols.
194
195 2015-02-07  H.J. Lu  <hongjiu.lu@intel.com>
196
197         PR ld/17935
198         * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
199         warning for relocation in readonly section for -z text.
200         (elf_i386_size_dynamic_sections): Likewise.
201         * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
202         (elf_x86_64_size_dynamic_sections): Likewise.
203
204 2015-02-06  H.J. Lu  <hongjiu.lu@intel.com>
205
206         PR ld/12365
207         PR ld/14272
208         * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
209         (elf_link_input_bfd): Mark the plugin symbol undefined if it is
210         referenced from a non-IR file.
211
212 2015-02-06  Nick Clifton  <nickc@redhat.com>
213
214         PR binutils/17512
215         * peXXigen.c (rsrc_print_resource_entries): Add range check for
216         addresses that wrap around the address space.
217         (rsrc_parse_entry): Likewise.
218
219 2015-02-03  H.J. Lu  <hongjiu.lu@intel.com>
220
221         PR ld/12365
222         PR ld/14272
223         * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
224         undefined if it is referenced from a non-IR file.
225
226 2015-02-03  Nick Clifton  <nickc@redhat.com>
227
228         PR binutils/17512
229         * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
230         (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
231         index or an out of range fdr index.
232         * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
233         * elf32-arc.c (arc_info_to_howto_rel): Likewise.
234         * elf32-avr.c (avr_info_to_howto_rela): Likewise.
235         * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
236         * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
237         * elf32-cris.c (cris_info_to_howto_rela): Likewise.
238         * elf32-crx.c (elf_crx_info_to_howto): Likewise.
239         * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
240         * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
241         * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
242         * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
243         * elf32-frv.c (frv_info_to_howto_rela): Likewise.
244         * elf32-i370.c (i370_elf_info_to_howto): Likewise.
245         * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
246         * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
247         * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
248         * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
249         * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
250         * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
251         * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
252         * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
253         * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
254         * elf32-mep.c (mep_info_to_howto_rela): Likewise.
255         * elf32-metag.c (metag_info_to_howto_rela): Likewise.
256         * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
257         * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
258         * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
259         * elf32-mt.c (mt_info_to_howto_rela): Likewise.
260         * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
261         * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
262         * elf32-pj.c (pj_elf_info_to_howto): Likewise.
263         * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
264         * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
265         * elf32-rx.c (rx_info_to_howto_rela): Likewise.
266         * elf32-sh.c (sh_elf_info_to_howto): Likewise.
267         * elf32-spu.c (spu_elf_info_to_howto): Likewise.
268         * elf32-v850.c (v850_elf_perform_relocation): Likewise.
269         * elf32-vax.c (rtype_to_howto): Likewise.
270         * elf32-visium.c (visium_info_to_howto_rela): Likewise.
271         * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
272         * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
273         * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
274         * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
275         * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
276         (bfd_mach_o_canonicalize_one_reloc): Fix check on out
277         of range symbol indicies.
278         (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
279         (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
280         (bfd_mach_o_build_dysymtab): Likewise.
281         (bfd_mach_o_write_symtab_content): Set the string table size to
282         zero upon error.
283         (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
284         read fails.
285         * peXXigen.c (pe_print_edata):  Check for numeric overflow in edt
286         fields.
287         * tekhex.c (first_phase): Check for src pointer reaching end of
288         buffer.
289
290 2015-02-03  Will Newton  <will.newton@linaro.org>
291
292         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
293         Set st_value to zero for undefined symbols if the reference
294         is weak or pointer_equality_needed is FALSE.
295
296         * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
297           comment discussing why we clear st_value for some symbols.
298
299 2015-02-02  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
300
301         * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
302         (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
303
304 2015-01-29  Alan Modra  <amodra@gmail.com>
305
306         * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
307         optimization.  Tidy mask for GOT_TLSGD optimization.
308         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.  Correct
309         location of nop zapping high insn too.
310
311 2015-01-28  Alan Modra  <amodra@gmail.com>
312
313         * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
314         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
315         in .toc indicate xlc compiled code that might require a rw .toc.
316
317 2015-01-28  James Bowman  <james.bowman@ftdichip.com>
318
319         * Makefile.am: Add FT32 files.
320         * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
321         (bfd_mach_ft32): Define.
322         (bfd_ft32_arch): Declare.
323         (bfd_archures_list): Add bfd_ft32_arch.
324         * config.bfd: Handle FT32.
325         * configure.ac: Likewise.
326         * cpu-ft32.c: New file.
327         * elf32-ft32.c: New file.
328         * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
329         BFD_RELOC_FT32_18): Define.
330         * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
331         * bfd-in2.h: Regenerate.
332         * libbfd.h: Regenerate.
333         * Makefile.in: Regenerate.
334         * configure: Regenerate.
335         * po/SRC-POTFILES.in: Regenerate.
336
337 2015-01-27  Nick Clifton  <nickc@redhat.com>
338
339         PR binutils/17512
340         * pdp11.c (aout_get_external_symbols): Return false if there are
341         no symbols.
342
343         * dwarf2.c (concat_filename): Check for an empty directory table.
344         (scan_unit_for_symbols): Check for reading off the end of the
345         unit.
346         (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
347         non-string form.
348         * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
349         available.
350
351 2015-01-26  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
352
353         * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
354
355 2015-01-22  DJ Delorie  <dj@redhat.com>
356
357         * elf32-m32c.c (m32c_apply_reloc_24): New.
358         (m32c_elf_howto_table): Use it for R_M32C_24.
359         (m32c_elf_relocate_section): Handle R_M32C_24 specially.
360
361 2015-01-22  Nick Clifton  <nickc@redhat.com>
362
363         PR binutils/17512
364         * coffcode.h (handle_COMDAT): When searching for the section
365         symbol, make sure that there is space left in the symbol table.
366         * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
367
368 2015-01-21  Nick Clifton  <nickc@redhat.com>
369
370         PR binutils/17512
371         * coffcode.h (coff_set_arch_mach_hook): Check return value from
372         bfd_malloc.
373         (coff_slurp_line_table): Return FALSE if the line number
374         information was corrupt.
375         (coff_slurp_symbol_table): Return FALSE if the symbol information
376         was corrupt.
377         * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
378         initialise the fields of the dyld_info structure.
379         (bfd_mach_o_build_exec_seg_command): Replace assertion with an
380         error message and a return value.
381         (bfd_mach_o_layout_commands): Change the function to boolean.
382         Return FALSE if the function fails.
383         (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
384         fails.
385         (bfd_mach_o_read_command): Fail if an unrecognised command is
386         encountered.
387         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
388         read fails.
389         (slurp_symtab): Check the return from bfd_malloc.
390         (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
391         encountered an error.
392         (_bfd_XXi_final_link_postscript): Fail if a section could not be
393         copied.
394         * peicode.h (pe_bfd_object_p): Fail if the header could not be
395         swapped in.
396         * tekhex.c (first_phase): Fail if the section is too big.
397         * versados.c (struct esdid): Add content_size field.
398         (process_otr): Use and check the new field.
399         (versados_get_section_contents): Check that the section exists and
400         that the requested data is available.
401
402 2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
403
404         * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
405
406 2015-01-20  Alan Modra  <amodra@gmail.com>
407
408         PR ld/17615
409         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
410         ELF_COMMON_DEF syms.
411
412 2015-01-19  Alan Modra  <amodra@gmail.com>
413
414         PR ld/17615
415         * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
416         linker script assignments too.
417         * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
418         (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
419
420 2015-01-19  Alan Modra  <amodra@gmail.com>
421
422         * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
423         to allow return of first howto.
424         * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
425         * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
426         * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
427         * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
428         * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
429         * elf32-rx.c (rx_reloc_type_lookup): Likewise.
430         * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
431         * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
432         * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
433         * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
434         * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
435         (spu_elf_reloc_type_lookup): Adjust to suit.
436
437 2015-01-19  Alan Modra  <amodra@gmail.com>
438
439         * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
440         (bfd_get_section_limit): ..here.
441         * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
442         (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
443         * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
444         * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
445         bfd_reloc_outofrange check.
446         * bfd-in2.h: Regenerate.
447
448         * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
449         on zero size relocs.
450         * ecoff.c (ecoff_reloc_link_order): Likewise.
451         * elf32-nds32.c (nds32_relocate_contents): Likewise.
452         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
453
454         * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
455         (_bfd_clear_contents): Likewise.
456         * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
457         (mips_elf_perform_relocation): Likewise.
458
459         * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
460         from malloc on zero size alloc.
461         * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
462         * elflink.c (elf_reloc_link_order): Likewise.
463         * linker.c (_bfd_generic_reloc_link_order): Likewise.
464         * pdp11.c (aout_link_reloc_link_order): Likewise.
465         * xcofflink.c (xcoff_reloc_link_order): Likewise.
466
467         * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
468         bitsize 0, and complain_overflow_dont.
469         * coff-sparc.c (coff_sparc_howto_table): Likewise.
470         * elf-hppa.h (elf_hppa_howto_table): Likewise.
471         * elf-m10200.c (elf_mn10200_howto_table): Likewise.
472         * elf-m10300.c (elf_mn10300_howto_table): Likewise.
473         * elf32-arc.c (elf_arc_howto_table): Likewise.
474         * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
475         * elf32-avr.c (elf_avr_howto_table): Likewise.
476         * elf32-bfin.c (bfin_howto_table): Likewise.
477         * elf32-cr16.c (cr16_elf_howto_table): Likewise.
478         * elf32-cris.c (cris_elf_howto_table): Likewise.
479         * elf32-crx.c (crx_elf_howto_table): Likewise.
480         * elf32-d10v.c (elf_d10v_howto_table): Likewise.
481         * elf32-d30v.c (elf_d30v_howto_table): Likewise.
482         * elf32-dlx.c (dlx_elf_howto_table): Likewise.
483         * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
484         * elf32-fr30.c (fr30_elf_howto_table): Likewise.
485         * elf32-frv.c (elf32_frv_howto_table): Likewise.
486         * elf32-h8300.c (h8_elf_howto_table): Likewise.
487         * elf32-i370.c (i370_elf_howto_raw): Likewise.
488         * elf32-i386.c (elf_howto_table): Likewise.
489         * elf32-i860.c (elf32_i860_howto_table): Likewise.
490         * elf32-i960.c (elf32_i960_relocate): Likewise.
491         * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
492         * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
493         * elf32-lm32.c (lm32_elf_howto_table): Likewise.
494         * elf32-m32c.c (m32c_elf_howto_table): Likewise.
495         * elf32-m32r.c (m32r_elf_howto_table): Likewise.
496         * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
497         * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
498         * elf32-m68k.c (howto_table): Likewise.
499         * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
500         * elf32-mep.c (mep_elf_howto_table): Likewise.
501         * elf32-metag.c (elf_metag_howto_table): Likewise.
502         * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
503         * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
504         * elf32-moxie.c (moxie_elf_howto_table): Likewise.
505         * elf32-msp430.c (elf_msp430_howto_table): Likewise.
506         * elf32-mt.c (mt_elf_howto_table): Likewise.
507         * elf32-nds32.c (nds32_elf_howto_table): Likewise.
508         * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
509         * elf32-or1k.c (or1k_elf_howto_table): Likewise.
510         * elf32-pj.c (pj_elf_howto_table): Likewise.
511         * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
512         * elf32-rl78.c (rl78_elf_howto_table): Likewise.
513         * elf32-rx.c (rx_elf_howto_table): Likewise.
514         * elf32-s390.c (elf_howto_table): Likewise.
515         * elf32-score.c (elf32_score_howto_table): Likewise.
516         * elf32-score7.c (elf32_score_howto_table): Likewise.
517         * elf32-sh-relocs.h (R_SH_NONE): Likewise.
518         * elf32-spu.c (elf_howto_table): Likewise.
519         * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
520         * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
521         * elf32-v850.c (v850_elf_howto_table): Likewise.
522         * elf32-vax.c (howto_table): Likewise.
523         * elf32-visium.c (visium_elf_howto_table): Likewise.
524         * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
525         * elf32-xgate.c (elf_xgate_howto_table): Likewise.
526         * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
527         * elf32-xtensa.c (elf_howto_table): Likewise.
528         * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
529         * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
530         * elf64-mmix.c (elf_mmix_howto_table): Likewise.
531         * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
532         * elf64-s390.c (elf_howto_table): Likewise.
533         * elf64-sh64.c (sh_elf64_howto_table): Likewise.
534         * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
535         * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
536         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
537         (elfNN_aarch64_howto_none): Likewise.
538         * elfxx-ia64.c (ia64_howto_table): Likewise.
539         * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
540         * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
541         * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
542
543 2015-01-15  H.J. Lu  <hongjiu.lu@intel.com>
544
545         PR ld/17847
546         * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
547         about -fPIC if the symbol is undefined when building executable.
548
549 2015-01-15  Nick Clifton  <nickc@redhat.com>
550
551         PR binutils/17512
552         * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
553         error message.  Never return an invalid howto pointer.
554         * elf32-cr16.c (cr16_info_to_howto): Likewise.
555         * elf32-crx.c (elf_crx_info_to_howto): Likewise.
556         * elf32-i370.c (i370_elf_info_to_howto): Likewise.
557         * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
558         * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
559         * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
560         * elf32-pj.c (pj_elf_info_to_howto): Likewise.
561         * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
562         * elf32-spu.c (spu_elf_info_to_howto): Likewise.
563         * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
564         * elf32-vax.c (rtype_to_howto): Likewise.
565         * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
566         * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
567         * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
568         * elf32-sh.c (sh_elf_info_to_howto): Likewise.
569         (sh_elf_reloc): Check that the reloc is in range.
570         * reloc.c (bfd_perform_relocation): Check that the section is big
571         enough for the entire reloc.
572         (bfd_generic_get_relocated_section_contents): Report unexpected
573         return values from perform_reloc.
574
575 2015-01-15  Nick Clifton  <nickc@redhat.com>
576
577         * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
578         relocs.  Include PC-relative adjustment for R_MSP430X_ABS16
579         relaxation.
580
581 2015-01-15  Alan Modra  <amodra@gmail.com>
582
583         * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
584         any output section matching a linker created dynobj section.
585
586 2015-01-15  Alan Modra  <amodra@gmail.com>
587
588         PR 17842
589         * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
590         (bfd_elf_final_link): Always create a symbol table when emit_relocs.
591         Don't assign symtab file position unless symbols will be output.
592         Merge blocks with condition in common.  Don't call
593         elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
594         unless other symbols are output.  Move assignment of symtab_shndx
595         file position.  Localize variable.
596
597 2015-01-14  Jiong Wang  <jiong.wang@arm.com>
598
599         * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
600         trying to defer them to runtime.
601
602 2015-01-13  Thomas Preud'homme <thomas.preudhomme@arm.com>
603
604         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
605         to check if a symbol should be bound symbolically.
606
607 2015-01-13  Jiong Wang  <jiong.wang@arm.com>
608
609         * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
610         for TLSLE_MOVW_TPREL_G2.
611
612 2015-01-13  Jiong Wang  <jiong.wang@arm.com>
613
614         PR ld/17415
615         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
616         R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
617         * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
618         bit mask.
619
620 2015-01-12  Terry Guo  <terry.guo@arm.com>
621
622         * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
623         function.
624         (_bfd_elf_gc_mark_extra_sections): Use it.
625
626 2015-01-11  H.J. Lu  <hongjiu.lu@intel.com>
627
628         PR ld/17827
629         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
630         only discard space for pc-relative relocs symbols which turn
631         out to need copy relocs.
632
633 2015-01-09  Nick Clifton  <nickc@redhat.com>
634
635         * tekhex.c (getvalue): Fix thinko in test for correct extraction
636         of value.
637         (getsym): Return false if there was not enough data to extract the
638         symbol.
639
640 2015-01-09  Anthony Green  <green@moxielogic.com>
641
642         * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
643
644 2015-01-08  Nick Clifton  <nickc@redhat.com>
645
646         * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
647         16-bit absolute BR instructions to 10-bit pc-relative JMP
648         instructions.
649
650 2015-01-08  Nick Clifton  <nickc@redhat.com>
651
652         PR binutils/17512
653         * coffcode.h (coff_slurp_symbol_table): Return false if we failed
654         to load the line table.
655         * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
656         maxpagesize of 1.
657         * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
658         the Data Directory Size is too large.
659
660 2015-01-06  H.J. Lu  <hongjiu.lu@intel.com>
661
662         PR binutils/17512
663         * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
664         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
665
666 2015-01-06  Nick Clifton  <nickc@redhat.com>
667
668         PR binutils/17512
669         * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
670         string table.
671
672         * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
673         (bfd_perform_relocation): Include the size of the reloc in the
674         test for an out of range relocation.
675         (bfd_generic_get_relocated_section_contents): Remove reloc range
676         test.
677
678         * coff-i860.c (CALC_ADDEND): Always set an addend value.
679         * tekhex.c (getvalue): Add an end pointer parameter.  Use it to
680         avoid reading off the end of the buffer.
681         (getsym): Likewise.
682         (first_phase): Likewise.
683         (pass_over): Pass an end pointer to the invoked function.
684
685 2015-01-05  H.J. Lu  <hongjiu.lu@intel.com>
686
687         PR binutils/17512
688         * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
689         input.
690         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
691
692 2015-01-05  Nick Clifton  <nickc@redhat.com>
693
694         PR binutils/17512
695         * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
696         is at least big enough for the header to be read.
697         * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
698         * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
699         (bfd_mach_o_read_command): Prevetn duplicate error messages about
700         unrecognized commands.
701         * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
702         when indexing into the string table.
703
704 2015-01-01  Alan Modra  <amodra@gmail.com>
705
706         Update year range in copyright notice of all files.
707
708 For older changes see ChangeLog-2014
709 \f
710 Copyright (C) 2015 Free Software Foundation, Inc.
711
712 Copying and distribution of this file, with or without modification,
713 are permitted in any medium without royalty provided the copyright
714 notice and this notice are preserved.
715
716 Local Variables:
717 mode: change-log
718 left-margin: 8
719 fill-column: 74
720 version-control: never
721 End: