More fixes for memory access violations exposed by fuzzed binaries.
[external/binutils.git] / bfd / ChangeLog
1 2014-12-22  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/17512
4         * archive.c (do_slurp_bsd_armap): Return if the parsed_size is
5         zero.
6         (bfd_slurp_armap): Zero terminate the name.
7         (bfd_generic_stat_arch_elt): If there is no header, fail.
8         * elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with
9         error message.
10         * elf32-avr.c (avr_info_to_howto_rela): Likewise.
11         * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
12         * elf32-cris.c (cris_info_to_howto_rela): Likewise.
13         * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
14         * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
15         * elf32-dlx.c (dlx_rtype_to_howto): Likewise.
16         * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
17         * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
18         * elf32-frv.c (frv_info_to_howto_rela): Likewise.
19         * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
20         * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
21         * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
22         * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
23         * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
24         * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
25         * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
26         * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
27         * elf32-mep.c (mep_info_to_howto_rela): Likewise.
28         * elf32-metag.c (metag_info_to_howto_rela): Likewise.
29         * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
30         * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
31         * elf32-mt.c (mt_info_to_howto_rela): Likewise.
32         * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
33         * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
34         * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
35         * elf32-rx.c (rx_info_to_howto_rela): Likewise.
36         * elf32-v850.c (v850_elf_info_to_howto_rel): Likewise.
37         * elf32-visium.c (visium_info_to_howto_rela): Likewise.
38         * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
39         * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
40         * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
41         * elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise.
42         * elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise.
43         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range
44         checking of reloc symbol index.
45         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have
46         been provided then set the reloc's symbol to undefined.
47         * reloc.c (bfd_generic_get_relocated_section_contents): Add range
48         checking of the reloc to be applied.
49         * versados.c (process_otr): Add more range checks.
50         (versados_canonicalize_reloc): If the section is unknown, set the
51         symbol to undefined.
52         * vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks.
53         (alpha_vms_object_p): Likewise.
54
55 2014-12-18  Richard Henderson  <rth@redhat.com>
56
57         * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k.
58         * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
59
60 2014-12-16  Nick Clifton  <nickc@redhat.com>
61
62         PR binutils/17512
63         * format.c (bfd_check_format_matches): Check for a matching vector
64         before using match priorities.
65         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one
66         errors with previous delta.
67
68 2014-12-15  H.J. Lu  <hongjiu.lu@intel.com>
69
70         PR ld/17713
71         * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.
72
73 2014-12-13  H.J. Lu  <hongjiu.lu@intel.com>
74
75         PR ld/17689
76         * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy.
77         Change has_bnd_reloc to bit field.
78         (elf_x86_64_link_hash_newfunc): Initialize needs_copy and
79         has_bnd_reloc to 0.
80         (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead
81         of TRUE.
82         (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the
83         real definition to a weak symbol.
84         (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a
85         weak symbol for PIE when discarding space for relocs against
86         symbols which turn out to need copy relocs.
87         (elf_x86_64_relocate_section): Also check needs_copy of a
88         weak symbol for PIE with copy reloc.
89
90 2014-12-12  Alan Modra  <amodra@gmail.com>
91
92         PR 15228
93         * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error.
94
95 2014-12-12  Alan Modra  <amodra@gmail.com>
96
97         PR 15228
98         * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param.
99         Error on copy relocs against protected symbols.
100         (elf_merge_st_other): Set h->protected_def.
101         * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def".
102         (_bfd_elf_adjust_dynamic_copy): Update prototype.
103         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update
104         _bfd_elf_adjust_dynamic_copy call.
105         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
106         * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
107         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
108         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
109         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
110         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
111         * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
112         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
113         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
114         * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise.
115         * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise.
116         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
117         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
118         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
119         * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
120         * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
121         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
122         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
123         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
124         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
125         * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
126         * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
127         * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
128         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
129         * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
130
131 2014-12-11  Keith Seitz  <keiths@redhat.com>
132
133         * elf.c (elf_parse_notes): Define convenience macro
134         GROKER_ELEMENT to add elements to 'grokers' array.
135         Add 'len' element to 'grokers'.
136         Use grokers.len instead of sizeof in string
137         comparisons.
138
139 2014-12-10  Alan Modra  <amodra@gmail.com>
140
141         * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2
142         and coffgen.  Add coff-bfd.  Sort.
143         (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2.
144         * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete.
145         (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete.
146         * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro,
147         without unused param.  Update uses.
148         (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro.
149         (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c.
150         * libcoff-in.h: #include "coff-bfd.h".
151         (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h.
152         (coff_symbol_from): Delete.
153         * coff-bfd.c: New file.
154         * coff-bfd.h: New file.
155         * coff-i386.c: Update coff_symbol_from occurrences.
156         * coff-i960.c: Likewise.
157         * coff-m68k.c: Likewise.
158         * coff-sh.c: Likewise.
159         * coff-x86_64.c: Likewise.
160         * coffcode.h: Likewise.
161         * pe-mips.c: Likewise.
162         * configure.ac (elf): Add dwarf2.lo.
163         (coffgen, coff, ecoff, xcoff): Define.  Use when mapping bfd
164         target vectors to .o files.  Add dwarf2 for mach-o targets.
165         Fix the sh target FIXME.
166         * po/SRC-POTFILES.in: Regenerate.
167         * Makefile.in: Regenerate.
168         * configure: Regenerate.
169         * bfd-in2.h: Regenerate.
170         * libcoff.h: Regenerate.
171
172 2014-12-10  Alan Modra  <amodra@gmail.com>
173
174         PR 17541
175         * dwarf2.c (struct comp_unit): Add "lang".
176         (non_mangled): New function.
177         (struct funcinfo): Add "is_linkage".  Reorder for better packing.
178         Make "name" a const char*.
179         (lookup_address_in_function_table): Delete functionname_ptr param.
180         (find_abstract_instance_name): Add is_linkage param.  Set if we
181         have DW_AT_linkage_name or non_mangled DW_AT_name.
182         (scan_unit_for_symbols): Similarly set func->is_linkage.
183         (parse_comp_unit): Stash DW_AT_language.
184         (comp_unit_find_nearest_line): Replace functionname_ptr param
185         with function_ptr param.
186         (_bfd_dwarf2_find_nearest_line): Adjust above calls.  Set
187         functionname_ptr from function->name.  Call _bfd_elf_find_function
188         to retrieve symbol for function if not linkage name.
189         (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from..
190         * elf.c (elf_find_function): ..here.
191         (_bfd_elf_find_nearest_line): Adjust calls.
192         * elf-bfd.h (_bfd_elf_find_function): Declare.
193
194 2014-12-10  Alan Modra  <amodra@gmail.com>
195
196         * dwarf2.c (read_address): Check bfd_target_elf_flavour before
197         calling get_elf_backend_data.
198         (_bfd_dwarf2_find_nearest_line): Fix parens.
199
200 2014-12-10  Alan Modra  <amodra@gmail.com>
201
202         PR 17666
203         * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p.
204         * elfxx-target.h (elf_backend_sort_relocs_p): Define.
205         (elfNN_bed): Init new field.
206         * elflink.c (elf_link_adjust_relocs): Conditionally sort.
207         (bfd_elf_final_link): Control sorting of relocs.
208         * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function.
209         * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare.
210         * elf32-mips.c (elf_backend_sort_relocs_p): Define.
211         * elf64-mips.c (elf_backend_sort_relocs_p): Define.
212
213 2014-12-09  Nick Clifton  <nickc@redhat.com>
214
215         PR binutils/17512
216         * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks.
217         * libbfd.c (safe_read_leb128): New function.
218         * libbfd-in.h (safe_read_leb128): Add prototype.
219         * libbfd.h: Regenerate.
220         * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128.
221         Check for an over-long subsection length.
222         * elf.c (elf_parse_notes): Check that the namedata is long enough
223         for the string comparison that is about to be performed.
224         (elf_read_notes): Zero-terminate the note buffer.
225
226 2014-12-09  Alan Modra  <amodra@gmail.com>
227
228         * elf64-ppc.c (sort_r_offset): Delete.
229         (ppc64_elf_edit_opd): Don't sort input relocs.
230
231 2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
232
233         * config.bfd: Add Visium support.
234         * configure.ac: Likewise.
235         * configure: Regenerate.
236         * Makefile.am (ALL_MACHINES): Add cpu-visium.lo.
237         (ALL_MACHINES_CFILES): Add cpu-visium.c.
238         (BFD32_BACKENDS): Add elf32-visium.lo.
239         (BFD32_BACKENDS_CFILES): Add elf32-visium.c.
240         * Makefile.in: Regenerate.
241         * archures.c (DESCRIPTION): Add Visium support.
242         (bfd_visium_arch): Declare.
243         (bfd_archures_list): Add bfd_visium_arch.
244         * reloc.c: Add Visium relocations.
245         * targets.c (visium_elf32_vec): Declare.
246         (_bfd_target_vector): Add visium_elf32_vec.
247         * bfd-in2.h: Regenerate.
248         * libbfd.h: Likewise.
249         * cpu-visium.c: New file.
250         * elf32-visium.c: Likewise.
251         * po/SRC-POTFILES.in: Regenerate.
252
253 2014-12-05  Steve Ellcey  <sellcey@mips.com>
254
255         * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast.
256
257 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
258
259         * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.
260
261 2014-12-04  H.J. Lu  <hongjiu.lu@intel.com>
262
263         PR binutils/17677
264         * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
265         * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
266         function.
267         * elf32-i386.c (elf_i386_plt_sym_val): Removed.
268         (elf_backend_plt_sym_val): Likewise.
269         (elf_i386_get_plt_sym_val): New.
270         (elf_i386_get_synthetic_symtab): Likewise.
271         (bfd_elf32_get_synthetic_symtab): Likewise.
272         * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
273         (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
274         (elf_backend_plt_sym_val): Likewise.
275         (elf_x86_64_get_plt_sym_val): New.
276         (elf_x86_64_get_synthetic_symtab): Use
277         _bfd_elf_ifunc_get_synthetic_symtab.
278         (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.
279
280 2014-12-04  Alan Modra  <amodra@gmail.com>
281
282         PR 17666
283         * elflink.c: Include bfd_stdint.h.
284         (cmp_ext32l_r_offset, cmp_ext32b_r_offset,
285         cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions.
286         (elf_link_adjust_relocs): Sort relocs.  Free rel hashes after
287         sorting invalidates.
288
289 2014-12-03  Nick Clifton  <nickc@redhat.com>
290
291         PR binutils/17512
292         * compress.c (bfd_get_full_section_contents): Fail if there are no
293         section contents available when the compress_status is
294         COMPRESS_SECTION_DONE.
295         * libbfd.c (bfd_malloc): Refuse to allocate a negative size.
296         (bfd_malloc2): Use bfd_malloc.
297         (bfd_realloc): Refuse to reallocate a negative size.
298         (bfd_realloc2): Use bfd_realloc.
299         (bfd_realloc_or_free): Use bfd_realloc.
300         (bfd_zmalloc): Use bfd_malloc.
301         (bfd_zmalloc): Use bfd_malloc2.
302         * opncls.c (bfd_alloc): Refuse to allocate a negative size.
303
304 2014-12-03  H.J. Lu  <hongjiu.lu@intel.com>
305
306         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat.
307
308 2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
309
310         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
311         info->executable for symbols which need copy relocs.
312
313 2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
314
315         * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last
316         change.
317         (elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared
318         with ELIMINATE_COPY_RELOCS.
319         (elf_x86_64_allocate_dynrelocs): For PIE, discard space for
320         relocs against symbols which turn out to need copy relocs.
321
322 2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
323
324         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
325         allow copy relocs for building executables.
326         (elf_x86_64_check_relocs): Allow copy relocs for non-GOT
327         pc-relative relocation in shared object.
328         (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
329         PIE.
330         (elf_x86_64_relocate_section): Don't copy a pc-relative
331         relocation into the output file if the symbol needs copy reloc.
332
333 2014-12-02  Andrew Bennett  <andrew.bennett@imgtec.com>
334
335         * elfxx-mips.c (mips_elf_calculate_relocation): Only check for
336         overflow on non-weak undefined symbols.
337
338 2014-12-02  Alan Modra  <amodra@gmail.com>
339
340         * elf64-ppc.c (OPD_NDX): Define.  Use throughout for sizing/indexing
341         _opd_sec_data array, halving required memory.
342         (sort_r_offset): New function.
343         (ppc64_elf_edit_opd): Sort incoming relocs.  Accept .opd
344         sections with a mix of 16 and 24 byte OPD entries.  Don't
345         attempt to honour --non-overlapping-opd for .opd sections with
346         unexpected relocs.  Simplify opd entry size calculations by
347         first finding the reloc for the next entry.  Make edit loop
348         handle one opd entry per iteration, with an inner loop
349         handling relocs per entry.
350
351 2014-12-01  Nick Clifton  <nickc@redhat.com>
352
353         PR binutils/17512
354         * archive.c (do_slurp_coff_armap): Add range checks to prevent
355         running off the end of the string table.
356         * compress.c (bfd_get_full_section_contents): Return a NULL
357         pointer for zero sized sections.  Do not attempt to copy a buffer
358         onto itself.
359         * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
360         header.  Add range checks to avoid running off the end of the
361         section.
362         * elf.c (bfd_elf_get_str_section): Seek before allocating so that
363         if the seek fails, no memory is allocated.
364         (bfd_elf_string_from_elf_section): Do not allocate a string from a
365         non string section.  It only leads to trouble later on.
366         (_bfd_elf_print_private_bfd_data): Check for there being too
367         little external dynamic data.
368         (bfd_section_from_shdr): Replace assertion with a failure mode.
369         (bfd_section_from_shdr): When walking a loaded group section use
370         the internal structure size, not the external size.  Check for the
371         group section being empty.
372         * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
373         failure mode.
374         * elfcode.h (elf_slurp_reloc_table): Likewise.
375         * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
376         parameter is NULL.
377
378 2014-11-30  Alan Modra  <amodra@gmail.com>
379
380         PR 16452, 16457
381         * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
382         symbols from libraries that won't be listed in DT_NEEDED.
383         (elf_link_output_extsym): Don't output verdefs for such symbols.
384
385 2014-11-28  Alan Modra  <amodra@gmail.com>
386
387         * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/
388         vna_next/vd_next/vda_next is zero.  Correct counts.
389
390 2014-11-27  Nick Clifton  <nickc@redhat.com>
391
392         PR binutils/17512
393         * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct
394         a discrepancy between the isymMax and ifdMax values in the
395         symbolic header.
396         * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check
397         scanning the external dynamic entries.
398
399 2014-11-26  Nick Clifton  <nickc@redhat.com>
400
401         PR binutils/17512
402         * coff-h8300.c (rtype2howto): Replace abort with returning a NULL
403         value.
404         * coff-h8500.c (rtype2howto): Likewise.
405         * coff-tic30.c (rtype2howto): Likewise.
406         * coff-z80.c (rtype2howto): Likewise.
407         * coff-z8k.c (rtype2howto): Likewise.
408         * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto.
409         * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none
410         could be found.
411         * coff-mcore.c (RTYPE2HOWTO): Add range checking.
412         * coff-w65.c (rtype2howto): Likewise.
413         * coff-we32k.c (RTYPE2HOWTO): Likewise.
414         * pe-mips.c (RTYPE2HOWTO): Likewise.
415         * coff-x86_64.c (coff_amd64_reloc): Likewise.  Replace abort with
416         an error return.
417         * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to
418         be unused.
419         * coffgen.c (make_a_section_from_file): Check the length of a
420         section name before testing to see if it is a debug section name.
421         (coff_object_p): Zero out any uninitialised bytes in the opt
422         header.
423         * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw
424         source being empty when there are values to be processed.
425         (_bfd_ecoff_slurp_symbol_table): Add range check.
426         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise.
427         (bfd_mach_o_mangle_sections): Move test for too many sections to
428         before the allocation of the section table.
429         (bfd_mach_o_read_symtab_strtab): If the read fails, free the
430         memory and nullify the symbol pointer.
431         * reloc.c (bfd_generic_get_relocated_section_contents): Add
432         handling of a bfd_reloc_notsupported return value.
433         * versados.c (EDATA): Add range checking.
434         (get_record): Likewise.
435         (process_otr): Check for contents being available before updating
436         them.
437         (versados_canonicalize_reloc): Add range check.
438
439 2014-11-26  Alan Modra  <amodra@gmail.com>
440
441         * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of
442         internal verref buffer.  Error for zero sh_info.  Print errors.
443         Check for zero vd_ndx.  Use bfd_zalloc for vd_auxptr buffer.
444
445 2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
446
447         * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use
448         NAME##_get_symbol_version_string.
449         (bfd_get_symbol_version_string): New.
450         * aout-adobe.c (aout_32_get_symbol_version_string): Define using
451         _bfd_nosymbols define.
452         * aout-target.h (MY_get_symbol_version_string): Likewise.
453         * aout-tic30.c (MY_get_symbol_version_string): Likewise.
454         * binary.c (binary_get_symbol_version_string): Likewise.
455         * bout.c (aout_32_get_symbol_version_string): Likewise.
456         * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise.
457         * i386msdos.c (msdos_get_symbol_version_string): Likewise.
458         * i386os9k.c (aout_32_get_symbol_version_string): Likewise.
459         * ieee.c (ieee_get_symbol_version_string): Likewise.
460         * ihex.c (ihex_get_symbol_version_string): Likewise.
461         * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise.
462         * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise.
463         * mmo.c (mmo_get_symbol_version_string): Likewise.
464         * nlm-target.h (nlm_get_symbol_version_string): Likewise.
465         * oasys.c (oasys_get_symbol_version_string): Likewise.
466         * pef.c (bfd_pef_get_symbol_version_string): Likewise.
467         * plugin.c (bfd_plugin_get_symbol_version_string): Likewise.
468         * ppcboot.c (ppcboot_get_symbol_version_string): Likewise.
469         * som.c (som_get_symbol_version_string): Likewise.
470         * srec.c (srec_get_symbol_version_string): Likewise.
471         * tekhex.c (tekhex_get_symbol_version_string): Likewise.
472         * versados.c (versados_get_symbol_version_string): Likewise.
473         * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise.
474         * xsym.c (bfd_sym_get_symbol_version_string): Likewise.
475
476         * coff64-rs6000.c (rs6000_xcoff64_vec): Use
477         coff_get_symbol_version_string.
478         (rs6000_xcoff64_aix_vec): Likewise.
479
480         * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ...
481         (_bfd_elf_get_symbol_version_string): This.
482         * elf.c: Likewise.
483         (bfd_elf_print_symbol): Updated.
484         * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define.
485
486         * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define.
487         * libcoff-in.h (coff_get_symbol_version_string): Likewise.
488         * bfd-in2.h: Regenerated.
489         * libbfd.h: Likewise.
490         * libcoff.h: Likewise.
491
492 2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
493
494         PR binutils/16496
495         * elf-bfd.h (bfd_elf_get_symbol_version_string): New.
496         * elf.c (bfd_elf_get_symbol_version_string): New.  Extracted
497         from bfd_elf_print_symbol.
498         (bfd_elf_print_symbol): Use it.
499
500 2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
501
502         * elf32-i386.c (elf_i386_got_plt_entry): New.
503         (elf_i386_pic_got_plt_entry): Likewise.
504         (elf_i386_link_hash_entry): Add plt_got.
505         (elf_i386_link_hash_table): Likewise.
506         (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
507         (elf_i386_get_local_sym_hash): Likewise.
508         (elf_i386_check_relocs): Create the GOT PLT if there are both
509         PLT and GOT references when the regular PLT is used.
510         (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
511         both PLT and GOT references unless pointer equality is needed.
512         (elf_i386_relocate_section): Also check the GOT PLT when
513         resolving R_386_PLT32.
514         (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
515         available.
516
517         * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
518         (elf_x86_64_link_hash_table): Likewise.
519         (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
520         (elf_x86_64_get_local_sym_hash): Likewise.
521         (elf_x86_64_check_relocs): Create the GOT PLT if there are both
522         PLT and GOT references when the regular PLT is used.
523         (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
524         both PLT and GOT references unless pointer equality is needed.
525         (elf_x86_64_relocate_section): Also check the GOT PLT when
526         resolving R_X86_64_PLT32.
527         (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
528         available.
529
530 2014-11-24  H.J. Lu  <hongjiu.lu@intel.com>
531
532         * configure: Regenerated.
533
534 2014-11-24  Tejas Belagod  <tejas.belagod@arm.com>
535
536         * elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
537         (erratum_835769_scan): Sort map list.
538
539 2014-11-24  Alan Modra  <amodra@gmail.com>
540
541         * elf64-ppc.c (plt_stub_pad): Correct.
542
543 2014-11-23  H.J. Lu  <hongjiu.lu@intel.com>
544
545         * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of
546         elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
547         (elf_x86_64_allocate_dynrelocs): Don't assert size of
548         elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
549
550 2014-11-22  H.J. Lu  <hongjiu.lu@intel.com>
551
552         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
553         branch displacement overflow in PLT entry.
554
555 2014-11-21  Nick Clifton  <nickc@redhat.com>
556
557         PR binutils/17512
558         * coffgen.c (coff_get_normalized_symtab): Check for an excessive
559         number of auxillary entries.
560         * ieee.c (next_byte): Convert to a function.  Return FALSE if the
561         next byte is beyond the end of the buffer.
562         (parse_int): Test the return value of next_byte.
563         (parse_expression): Convert to boolean.  Return FALSE if the
564         parsing failed.  Test the return value of next_byte.
565         (ieee_seek): Convert to a function.  Return FALSE if the seek goes
566         beyond the end of the buffer.
567         (ieee_slurp_external_symbols): Test the return value of ieee_seek
568         and next_byte.
569         (ieee_slurp_sections): Convert to boolean.  Return FALSE if the
570         operation failed.  Test the return value of ieee_seek and
571         next_byte.
572         (ieee_archive_p): Test the return value of ieee_seek and
573         next_byte.
574         (do_one): Likewise.
575         (ieee_slurp_section_data): Likewise.
576         (ieee_object_p): Likewise.  Store the size of the buffer in the
577         total_amt field in the header.
578         * libieee.h (common_header_type): Add amt field.
579         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the
580         reloc's value is within range.
581         (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the
582         operation fails.
583         * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with
584         an error message.
585         (pex64_dump_xdata): Check for buffer overflows.
586         * versados.c (process_otr): Check that the section exists before
587         taking its size.
588         (versados_object_p): Make sure that enough data was read for the
589         header to be checked.
590         * vms-alpha.c (vms_get_remaining_object_record): Change
591         read_so_far parameter to an unsigned int.  Check that the amount
592         read is in range.
593
594 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
595
596         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize
597         PC-relative offset overflow check.
598
599 2014-11-21  Alexander Cherepanov  <cherepan@mccme.ru>
600
601         PR binutils/17512
602         * coffgen.c (_bfd_coff_read_string_table): Test allocation of
603         string table before clearing the first few bytes.
604
605 2014-11-21  Terry Guo  <terry.guo@arm.com>
606
607         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
608
609 2014-11-20  Alan Modra  <amodra@gmail.com>
610
611         * elf64-ppc.c (group_sections): Init stub14_group_size from
612         --stub-group-size parameter divided by 1024.
613
614 2014-11-20  Alan Modra  <amodra@gmail.com>
615
616         * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
617         alignment calculation.
618
619 2014-11-20  Terry Guo  <terry.guo@arm.com>
620
621         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
622         hasn't attribute section.
623
624 2014-11-20  Alan Modra  <amodra@gmail.com>
625
626         * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
627
628 2014-11-18  H.J. Lu  <hongjiu.lu@intel.com>
629
630         PR ld/17618
631         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
632         PC-relative offset overflow in PLT entry.
633
634 2014-11-18  Nick Clifton  <nickc@redhat.com>
635
636         PR binutils/17512
637         * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size
638         is larger than its real size.
639         (rsrc_print_section): Fix off-by-one error checking for overflow.
640         * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind
641         sections.
642
643 2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>
644
645         * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
646         for -z bndplt.
647
648 2014-11-14  Nick Clifton  <nickc@redhat.com>
649
650         PR binutils/17597
651         * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of
652         the section.
653         (bfd_get_alt_debug_link_info): Likewise.
654
655 2014-11-14  Nick Clifton  <nickc@redhat.com>
656
657         PR binutils/17512
658         * ieee.c (ieee_archive_p) Skip processing if no bytes are read at
659         all.
660         (ieee_object_p): Likewise.
661
662 2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
663
664         * coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
665
666 2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
667
668         * coffcode.h (coff_pointerize_aux_hook): Fix a typo.
669
670 2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
671
672         PR gas/17598
673         * elf64-x86-64.c (elf_x86_64_check_relocs): Treat
674         R_X86_64_GOTPLT64 the same as R_X86_64_GOT64.
675         (elf_x86_64_relocate_section): Likewise.
676
677 2014-11-13  Nick Clifton  <nickc@redhat.com>
678
679         PR binutils/17512
680         * coffcode.h (coff_ptr_struct): Add is_sym field.
681         (coff_new_section_hook): Set the is_sym field.
682         (coff_pointerize_aux_hook): Check the is_sym field.
683         (coff_print_aux): Likewise.
684         (coff_compute_section_file_positions): Likewise.
685         (coff_write_object_contents): Likewise.
686         (coff_slurp_line_table): Likewise.
687         (coff_slurp_symbol_table): Likewise.
688         (CALC_ADDEND): Likewise.
689         * coffgen.c (coff_renumber_symbols): Likewise.
690         (coff_mangle_symbols): Likewise.
691         (coff_fix_symbol_name): Likewise.
692         (coff_write_symbol): Likewise.
693         (coff_write_alien_symbol): Likewise.
694         (coff_write_native_symbol): Likewise.
695         (coff_write_symbols): Likewise.
696         (coff_write_linenumbers): Likewise.
697         (coff_pointerize_aux): Likewise.
698         (coff_get_normalized_symtab): Likewise.
699         (coff_get_symbol_info): Likewise.
700         (bfd_coff_get_syment): Likewise.
701         (bfd_coff_get_auxent): Likewise.
702         (coff_print_symbol): Likewise.
703         (coff_find_nearest_line_with_names): Likewise.
704         (bfd_coff_set_symbol_class): Likewise.
705         (coff_make_empty_symbol): Set the is_sym field.
706         (coff_bfd_make_debug_symbol): Likewise.
707         * peicode.h (pe_ILF_make_a_symbol): Likewise.
708         * libcoff.h: Regenerate.
709         * libcoff-in.h: Regenerate.
710
711 2014-11-12  Nick Clifton  <nickc@redhat.com>
712
713         PR binutils/17512
714         * coffcode.h (coff_slurp_line_table): Set the line number of
715         corrupt entries to -1.
716         (coff_slurp_symbol_table): Alway initialise the value of the
717         symbol.
718         * coffgen.c (coff_print_symbol): Check that the combined pointer
719         is valid.
720         (coff_print_symbol): Do not print negative line numbers.
721         * peXXigen.c (pe_print_idata): Add range checking displaying
722         member names.
723
724 2014-11-12  Alan Modra  <amodra@gmail.com>
725
726         PR binutils/17512
727         * coffcode.h (coff_slurp_line_table): Drop line number info
728         not preceded by a valid function entry.  Revert last change.
729
730 2014-11-11  Nick Clifton  <nickc@redhat.com>
731
732         PR binutils/17512
733         * coffcode.h (coff_slurp_line_table): Initialise the parts of the
734         line number cache that would not be initialised by the copy from
735         the new line number table.
736         (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name
737         returning NULL.
738         * coffgen.c (coff_get_normalized_symbols): Get the external
739         symbols before allocating space for the internal symbols, in case
740         the get fails.
741         * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref
742         array if one is needed.  Likewise with the verdef array.
743         * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error
744         messages.
745         (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux
746         structure are initialised.
747         (pe_print_edata): Avoid reading off the end of the data buffer.
748
749 2014-11-11  Alan Modra  <amodra@gmail.com>
750
751         PR binutils/17512
752         * coffcode.h (coff_slurp_line_table): Use updated lineno_count
753         when building func_table.
754
755 2014-11-11  Alan Modra  <amodra@gmail.com>
756
757         PR binutils/17512
758         * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just
759         memset the particular bits we need.  Update src after hitting loop
760         "continue".  Don't count lineno omitted due to invalid symbols in
761         nbr_func, and update lineno_count.  Init entire terminating
762         lineno.  Don't both allocating terminator in n_lineno_cache.
763         Redirect sym->lineno pointer to where n_lineno_cache will be
764         copied, and free n_lineno_cache.
765         * pe-mips.c (NUM_HOWTOS): Typo fix.
766
767 2014-11-11  Alan Modra  <amodra@gmail.com>
768
769         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section
770         size check to account for possible zero terminator.
771
772 2014-11-10  James Cowgill  <James.Cowgill@imgtec.com>
773
774         * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small
775         data sections to be PROGBITS
776
777 2014-11-10  Nick Clifton  <nickc@redhat.com>
778
779         PR binutils/17521
780         * coff-i386.c (NUM_HOWTOS): New define.
781         (RTYPE2HOWTO): Use it.
782         (coff_i386_rtype_to_howto): Likewise.
783         (coff_i386_reloc_name_lookup): Likewise.
784         (CALC_ADDEND): Check that reloc r_type field is valid.
785         * coff-x86_64.c (NUM_HOWTOS): New define.
786         (RTYPE2HOWTO): Use it.
787         (coff_amd64_rtype_to_howto): Likewise.
788         (coff_amd64_reloc_name_lookup): Likewise.
789         (CALC_ADDEND): Check that reloc r_type field is valid.
790         * coffcode.h (coff_slurp_line_table): Check for symbol table
791         indexing underflow.
792         (coff_slurp_symbol_table): Use zalloc to ensure that all table
793         entries are initialised.
794         * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits
795         in the string table.  Also ensure that the table is 0 terminated.
796         (coff_get_normalized_symtab): Check for symbol table indexing
797         underflow.
798         * opncls.c (bfd_alloc): Catch the case where a small negative size
799         can result in only 1 byte being allocated.
800         (bfd_alloc2): Use bfd_alloc.
801         * pe-mips.c (NUM_HOWTOS): New define.
802         (coff_mips_reloc_name_lookup): Use it.
803         (CALC_ADDEND): Check that reloc r_type field is valid.
804         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries
805         in the DataDirectory.
806         (pe_print_idata): Avoid reading beyond the end of the data block
807         wen printing strings.
808         (pe_print_edata): Likewise.
809         Check for table indexing underflow.
810         * peicode.h (pe_mkobject): Initialise the pe_opthdr field.
811         (pe_bfd_object_p): Allocate and initialize enough space to hold a
812         PEAOUTHDR, even if the opt_hdr field specified less.
813
814 2014-11-08  Alan Modra  <amodra@gmail.com>
815
816         * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
817
818 2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
819
820         * peXXigen.c (pe_print_idata): Cast to unsigned long in range
821         checks.
822
823 2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
824
825         PR ld/17482
826         * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments
827         for IE->LE transition.
828
829 2014-11-07  Alan Modra  <amodra@gmail.com>
830
831         * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
832
833 2014-11-07  Alan Modra  <amodra@gmail.com>
834
835         * tekhex.c (CHUNK_SPAN): Define.
836         (struct data_struct <chunk_init>): Use one byte per span, update
837         all code accessing this field.
838         (find_chunk): Add create param, don't create new entry unless set.
839         (insert_byte): Don't save zeros.
840         (first_phase): Set section SEC_CODE or SEC_DATA flag depending
841         on symbol type.  Create an alternate section if both types of
842         symbol are given.  Attach type '2' and '6' symbols to absolute
843         section.
844         (move_section_contents): Fix caching of chunk.  Don't create chunk
845         when reading, or for writing zeros.
846         (tekhex_set_section_contents): Don't create initial chunks.
847         (tekhex_write_object_contents): Use CHUNK_SPAN.
848
849 2014-11-07  Alan Modra  <amodra@gmail.com>
850
851         * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
852
853 2014-11-07  Alan Modra  <amodra@gmail.com>
854
855         * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check.
856         * coffcode.h (coff_set_alignment_hook): Likewise.
857         (coff_slurp_line_table): Likewise.
858         * coffgen.c (coff_get_normalized_symtab): Likewise.
859         (_bfd_coff_get_external_symbols): Likewise.
860         * elf.c (bfd_elf_get_str_section): Likewise.
861         * tekhex.c (first_phase): Likewise.
862
863 2014-11-06  Nick Clifton  <nickc@redhat.com>
864
865         * aoutx.h (slurp_symbol_table): Revert previous delta.
866         (slurp_reloc_table): Likewise.
867         * compress.c (bfd_get_full_section_contents): Remove file size
868         test.
869         * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
870         and do not complain about linker generated files.
871
872 2014-11-06  Will Newton  <will.newton@linaro.org>
873
874         * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero
875         length sections and sub-sections.
876
877 2014-11-04  Nick Clifton  <nickc@redhat.com>
878
879         PR binutils/17512
880         * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT.
881         Replace another abort with an error message.
882         (coff_slurp_line_table): Add more range checking.
883         * peXXigen.c (pe_print_debugdata): Add range checking.
884
885 2014-11-05  James Cowgill  <james.cowgill@imgtec.com>
886
887         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault
888         when creating a dso with discarded dynsym section.
889
890 2014-11-05  Matthew Fortune  <matthew.fortune@imgtec.com>
891
892         * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6
893         and E_MIPS_ARCH_64R6 support.
894
895 2014-11-05  Nick Clifton  <nickc@redhat.com>
896
897         PR binutils/17512
898         * coffcode.h (coff_set_alignment_hook): Warn if the file lies
899         about the number of relocations it contains.
900         (coff_sort_func_alent): Return 0 if the pointers are NULL.
901         (coff_slurp_line_table): Add more range checks.  Do not free new
902         tables created when sorting line numbers.
903         * peXXigen.c (pe_print_idata): Add range checks.
904         (pe_print_edata): Likewise.
905         (rsrc_print_resource_entries): Likewise.  Avoid printing control
906         characters.  Terminate priniting if corruption is detected.
907         (rsrc_print_resource_directory): Terminate printing if an unknown
908         directory type is encountered.
909         (pe_print_debugdata): Fix off-by-one error.
910         (rsrc_count_entries): Add range checking.
911         (rsrc_parse_entry): Likewise.
912
913 2014-11-04  Nick Clifton  <nickc@redhat.com>
914
915         PR binutils/17512
916         * compress.c (bfd_get_full_section_contents): Improve test for
917         linker created objects.
918
919         PR binutils/17533
920         * archive.c (_bfd_slurp_extended_name_table): Handle archives with
921         corrupt extended name tables.
922
923 2014-11-04  Alan Modra  <amodra@gmail.com>
924
925         * elf32-spu.c (ovl_mgr_stat): New function.
926         (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
927
928 2014-11-03  Andrew Burgess  <andrew.burgess@embecosm.com>
929
930         * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
931         relaxation, reduce the size of symbols that span the deleted
932         bytes.
933
934 2014-11-03  Andrew Burgess  <andrew.burgess@embecosm.com>
935
936         * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols
937         located at the very end of the section.
938
939 2014-11-03  Nick Clifton  <nickc@redhat.com>
940
941         PR binutils/17512
942         * aoutx.h (slurp_symbol_table): Check that computed table size is
943         not bigger than the file from which is it being read.
944         (slurp_reloc_table): Likewise.
945         * coffcode.h (coff_slurp_line_table): Remove unneeded local
946         'warned'.  Do not try to print the details of a symbol with an
947         invalid index.
948         * coffgen.c (make_a_sectiobn_from_file): Check computed string
949         index against length of string table.
950         (bfd_coff_internal_syment_name): Check read in string offset
951         against length of string table.
952         (build_debug_section): Return a pointer to the section used.
953         (_bfd_coff_read_string_table): Store the length of the string
954         table in the coff_tdata structure.
955         (bfd_coff_free_symbols): Set the length of the string table to
956         zero when it is freed.
957         (coff_get_normalized_symtab): Check offsets against string table
958         or data table lengths as appropriate.
959         * cofflink.c (_bfd_coff_link_input_bfd): Check offset against
960         length of string table.
961         * compress.c (bfd_get_full_section_contents): Check computed size
962         against the size of the file.
963         * libcoff-in.h (obj_coff_strings_len): Define.
964         (struct coff_tdata): Add strings_len field.
965         * libcoff.h: Regenerate.
966         * peXXigen.c (pe_print_debugdata): Do not attempt to print the
967         data if the debug section is too small.
968         * xcofflink.c (xcoff_link_input_bfd):  Check offset against
969         length of string table.
970
971 2014-11-03  Nick Clifton  <nickc@redhat.com>
972
973         * po/fi.po: Updated Finnish translation.
974
975 2014-10-31  Andrew Pinski  <apinski@cavium.com>
976             Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
977
978         * archures.c: Add octeon3 for mips target.
979         * bfd-in2.h: Regenerate.
980         * bfd/cpu-mips.c: Define I_mipsocteon3.
981         nfo_struct): Add octeon3 support.
982         * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
983         octeon3.
984         (mips_set_isa_flags): Add support for octeon3.
985         (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
986         (mips_mach_extensions): Make bfd_mach_mips_octeon3 an
987         extension of bfd_mach_mips_octeon2.
988         (print_mips_isa_ext): Print the value of Octeon3.
989
990 2014-10-31  Nick Clifton  <nickc@redhat.com>
991
992         PR binutils/17512
993         * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a
994         symbol table bigger than the file.
995         * elf.c (bfd_elf_get_str_section): Do not try to load a string
996         table bigger than the file.
997         * tekhex.c (first_phase): Check that the section range is sane.
998
999 2014-10-30  Nick Clifton  <nickc@redhat.com>
1000
1001         PR binutils/17512
1002         * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
1003         * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
1004
1005 2014-10-29  Nick Clifton  <nickc@redhat.com>
1006
1007         * elf.c (bfd_section_from_shdr): Fix heap use after free memory
1008         leak.
1009
1010 2014-10-29  Dennis Brueni  <dbrueni@slickedit.com>
1011
1012         * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
1013
1014 2014-10-28  Nick Clifton  <nickc@redhat.com>
1015
1016         PR binutils/17512
1017         * elf.c (bfd_section_from_shdr): Allocate and free the recursion
1018         detection table on a per-bfd basis.
1019         * peXXigen.c (pe_print_edata): Handle binaries with a truncated
1020         export table.
1021
1022 2014-10-28  Andreas Schwab  <schwab@suse.de>
1023             Nick Clifton  <nickc@redhat.com>
1024
1025         PR binutils/17510
1026         * srec.c (srec_bad_byte): Increase size of buf to allow for
1027         negative values.
1028         (srec_scan): Use an unsigned char buffer to hold header bytes.
1029
1030 2014-10-27  Nick Clifton  <nickc@redhat.com>
1031
1032         PR binutils/17512
1033         * elf.c (bfd_section_from_shdr): Detect and warn about ELF
1034         binaries with a group of sections linked by the string table
1035         indicies.
1036         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
1037         with an invalid value for NumberOfRvaAndSizes.
1038         (pe_print_edata): Detect out of range rvas and entry counts for
1039         the Export Address table, Name Pointer table and Ordinal table.
1040
1041         PR binutils/17510
1042         * elf.c (setup_group): Improve handling of corrupt group
1043         sections.
1044
1045 2014-10-24  Tejas Belagod  <tejas.belagod@arm.com>
1046
1047         * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
1048         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1049         * elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
1050         (elf_aarch64_stub_type): Add new type
1051         aarch64_stub_erratum_835769_veneer.
1052         (elf_aarch64_stub_hash_entry): New fields for erratum 835769.
1053         (aarch64_erratum_835769_fix): New data struct to record erratum
1054         835769.
1055         (elf_aarch64_link_hash_table: Global flags for 835769.
1056         (aarch64_build_one_stub): Add case for 835769.
1057         (aarch64_size_one_stub): Likewise.
1058         (aarch64_mem_op_p, aarch64_mlxl_p,
1059         aarch64_erratum_sequence,erratum_835769_scan):
1060         New. Decode and scan functions for erratum 835769.
1061         (elf_aarch64_create_or_find_stub_sec): New.
1062         (elfNN_aarch64_size_stubs): Look for erratum 835769 and record
1063         them.
1064         (bfd_elfNN_aarch64_set_options: Set global flag for 835769.
1065         (erratum_835769_branch_to_stub_data,
1066         make_branch_to_erratum_835769_stub):New. Connect up all the
1067         erratum stubs to occurances by branches.
1068         (elfNN_aarch64_write_section): New hook.
1069         (aarch64_map_one_stub): Output erratum stub symbol.
1070         (elfNN_aarch64_size_dynamic_sections): Init mapping symbol
1071         information for erratum 835769.
1072         (elf_backend_write_section): Define.
1073
1074 2014-10-23  Victor Kamensky  <victor.kamensky@linaro.org>
1075
1076         * elf32-arm.c (read_code32): New function to read 32 bit
1077         arm instruction.
1078         (read_code16): New function to read 16 bit thumb instrution.
1079         (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32
1080         and read_code16 to read instructions.
1081
1082 2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
1083
1084         * elfxx-mips.c (print_mips_ases): Print unknown ASEs.
1085         (print_mips_isa_ext): Print the value of an unknown extension.
1086
1087 2014-10-21  Alan Modra  <amodra@gmail.com>
1088
1089         * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
1090         entries that aren't a multiple of 8 rather than failing assertion.
1091
1092 2014-10-21  Alan Modra  <amodra@gmail.com>
1093
1094         * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
1095         to thread_starter.
1096
1097 2014-10-18  Alan Modra  <amodra@gmail.com>
1098
1099         * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code
1100         section for function symbols defined in .opd is discarded, let
1101         the symbol appear to be undefined.
1102         (opd_entry_value): Ensure the result section is that for the
1103         function code section in the same object as the OPD entry.
1104
1105 2014-10-16  Alan Modra  <amodra@gmail.com>
1106
1107         PR 17492
1108         * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols
1109         on ELF output bfd.
1110         * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
1111         * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1112         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1113         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1114         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1115         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1116         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1117         * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1118         * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise.  Handle
1119         STB_GNU_UNIQUE too.
1120
1121 2014-10-16  Alan Modra  <amodra@gmail.com>
1122
1123         * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing
1124         even when output is not ppc64 ELF.  Remove redundant tests on
1125         type of input bfd.
1126
1127 2014-10-15  Alan Modra  <amodra@gmail.com>
1128
1129         PR 17481
1130         * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr"
1131         param, group "section" and "offset" params.  Zero discriminator.
1132         * bfd.c (bfd_find_nearest_line): Implement with new
1133         _bfd_find_nearest_line.
1134         (bfd_find_nearest_line_discriminator): Likewise.
1135         * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't
1136         define.
1137         * coff-rs6000.c (xcoff_find_nearest_line,
1138         xcoff_find_nearest_line_discriminator): Delete.
1139         (_bfd_xcoff_find_nearest_line): Don't define.
1140         (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line.
1141         * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't
1142         define.
1143         * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust.
1144         * coffgen.c (coff_find_nearest_line_with_names): Reorder params,
1145         adjust _bfd_dwarf2_find_nearest_line call.
1146         (coff_find_nearest_line): Add "discriminator_ptr" param, reorder
1147         others.  Set discriminator.  Adjust call.
1148         (coff_find_nearest_line_discriminator): Delete.
1149         * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params.
1150         * dwarf2.c (find_line): Rename to..
1151         (_bfd_dwarf2_find_nearest_line): ..this, reordering params.
1152         Simplify setting of do_line.  Delete old function.
1153         (_bfd_dwarf2_find_line): Delete.
1154         * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add
1155         discriminator_ptr and set it.
1156         * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype.
1157         (_bfd_elf_find_nearest_line_discriminator): Delete.
1158         (_bfd_elf_find_line_discriminator): Delete.
1159         (_bfd_generic_find_nearest_line_discriminator): Don't define.
1160         * elf.c (elf_find_function): Reorder params.
1161         (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr.
1162         Adjust calls.
1163         (_bfd_elf_find_nearest_line_discriminator): Delete.
1164         (_bfd_elf_find_line): Adjust call.
1165         * elf32-arm.c (arm_elf_find_function): Reorder params.
1166         (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr.
1167         Adjust calls.
1168         * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly.
1169         * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params.
1170         (elfNN_aarch64_find_nearest_line): Reorder params, add
1171         discriminator_ptr.  Adjust calls.
1172         * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.
1173         * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype.
1174         * libaout.h (NAME (aout, find_nearest_line)): Update prototype.
1175         * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update.
1176         (_bfd_dwarf1_find_nearest_line): Likewise.
1177         (_bfd_dwarf2_find_nearest_line): Likewise.
1178         (_bfd_dwarf2_find_line): Delete.
1179         (_bfd_generic_find_nearest_line_discriminator): Delete.
1180         * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete.
1181         * libcoff-in.h (coff_find_nearest_line): Update prototype.
1182         (coff_find_nearest_line_discriminator): Delete.
1183         (coff_find_nearest_line_with_names): Update prototype.
1184         * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype.
1185         * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add
1186         discriminator_ptr.  Adjust calls.
1187         * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype.
1188         * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add
1189         discriminator_ptr and set.
1190         * som.c (som_find_nearest_line): Similarly.
1191         * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for
1192         _bfd_find_nearest_line_discriminator.
1193         (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype.
1194         (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete.
1195         * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to..
1196         (_bfd_vms_find_nearest_line): ..this.  Reorder params, add
1197         "discriminator" and set.
1198         (_bfd_vms_find_nearest_line_discriminator): Delete.
1199         (_bfd_generic_find_nearest_line_discriminator): Don't define.
1200         (alpha_vms_find_nearest_line): Update define.
1201         * bfd-in2.h: Regenerate.
1202         * libbfd.h: Regenerate.
1203         * libcoff.h: Regenerate.
1204
1205 2014-10-15  Alan Modra  <amodra@gmail.com>
1206
1207         * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line.
1208         * aout-adobe.c (aout_32_find_line): Define.
1209         (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup,
1210         aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define.
1211         * aout-target.h (MY_find_line): Define.
1212         * aout-tic30.c (MY_find_line): Define.
1213         * binary.c (binary_find_line): Define.
1214         * bout.c (aout_32_find_line): Define.
1215         * coff-rs6000.c (_bfd_xcoff_find_line): Define.
1216         * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line.
1217         (rs6000_xcoff64_aix_vec): Likewise.
1218         * elf-bfd.h (_bfd_generic_find_line): Don't define.
1219         * elfxx-target.h (bfd_elfNN_find_line): Define.
1220         * i386msdos.c (msdos_find_line): Define.
1221         * i386os9k.c (aout_32_find_line): Define.
1222         * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func.
1223         (ieee_find_nearest_line, ieee_find_line,
1224         ieee_find_inliner_info): Define.
1225         * ihex.c (ihex_find_line): Define.
1226         * libbfd-in.h (_bfd_nosymbols_find_line): Define.
1227         (_bfd_generic_find_line): Don't define.
1228         * libbfd.c (_bfd_generic_find_line): Delete.
1229         * libcoff-in.h (coff_find_line): Define.
1230         * libecoff.h (_bfd_ecoff_find_line): Define.
1231         * mach-o.h (bfd_mach_o_find_line): Define.
1232         * mmo.c (mmo_find_line): Define.
1233         * nlm-target.h (nlm_find_line): Define.
1234         * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete.
1235         (oasys_find_nearest_line, oasys_find_line,
1236         oasys_find_inliner_info): Define.
1237         * pef.c (bfd_pef_find_line): Define.
1238         * plugin.c (bfd_plugin_find_line): Define.
1239         * ppcboot.c (ppcboot_find_line): Define.
1240         * som.c (som_find_line): Define.
1241         * srec.c (srec_find_line): Define.
1242         * tekhex.c (tekhex_find_line): Define.
1243         * versados.c (versados_find_line): Define.
1244         * vms-alpha.c (alpha_vms_find_line): Define.
1245         * xsym.c (bfd_sym_find_line): Define.
1246         * bfd-in2.h: Regenerate.
1247         * libbfd.h: Regenerate.
1248         * libcoff.h: Regenerate.
1249
1250 2014-10-15  Tristan Gingold  <gingold@adacore.com>
1251
1252         * version.m4: Bump version to 2.25.51
1253         * configure: Regenerate.
1254
1255 2014-10-14  H.J. Lu  <hongjiu.lu@intel.com>
1256
1257         * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation
1258         offset is less than 2.
1259         * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1260
1261 2014-10-14  Alan Modra  <amodra@gmail.com>
1262
1263         PR 17453
1264         * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
1265         (EIGHT_GAZILLION): Delete.
1266
1267 2014-10-13  Alan Modra  <amodra@gmail.com>
1268
1269         PR 17467
1270         * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
1271         (_bfd_elf_parse_eh_frame): When relocatable output, don't set
1272         flags enabling conversion of CIEs and FDEs to use relative encoding.
1273         (find_merged_cie): Similarly.
1274         (_bfd_elf_write_section_eh_frame): Don't edit FDEs when
1275         relocatable, except for CIE pointer.
1276         * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
1277         relocs against symbols in dropped comdat group sections.
1278         (bfd_elf_discard_info): Do some eh_frame optimisation when
1279         relocatable.
1280
1281 2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
1282
1283         * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
1284         the hwcaps2 object attribute.
1285
1286 2014-10-04  Alan Modra  <amodra@gmail.com>
1287
1288         PR 17447
1289         * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
1290         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
1291         range FDEs for discarding.
1292         (vma_compare): Sort on range after address.
1293         (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
1294         (_bfd_elf_discard_section_eh_frame): Likewise.  Write "FDE" in
1295         error message rather than "fde".
1296         (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
1297         error message.
1298
1299 2014-09-29  H.J. Lu  <hongjiu.lu@intel.com>
1300
1301         PR ld/17440
1302         * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
1303         for OLD_FREEBSD_ABI_LABEL.
1304
1305 2014-09-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
1306
1307         PR 17422
1308         * plugin.c (try_claim): New function. Moved from
1309         bfd_plugin_object_p.
1310         (try_load_plugin): Pass through bfd. Add test.
1311         (load_plugin): Pass through bfd.
1312         (bfd_plugin_object_p): Move logic to try_claim.
1313
1314 2014-09-23  Sterling Augustine  <augustine.sterling@gmail.com>
1315
1316         * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
1317         call relaxation use furthermost addresses where call source and
1318         destination can be to check whether it's in the range of a direct
1319         call.
1320
1321 2014-09-22  Alan Modra  <amodra@gmail.com>
1322
1323         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
1324         false for overflow or overlapping FDEs.  Give more detail in
1325         error messages.
1326
1327 2014-09-22  Andrew Bennett  <andrew.bennett@imgtec.com>
1328
1329         * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
1330         the addend if relocations are RELA.
1331
1332 2014-09-22  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
1333
1334         * elf32-nds32.c (nds32_elf_ex9_build_hash_table,
1335         nds32_elf_ex9_relocation_check): Synchronize the argument type.
1336
1337 2014-09-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1338
1339         * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
1340         for PIE.
1341         * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
1342         for PIE.
1343
1344 2014-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
1345
1346         PR gdb/17407
1347         * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
1348
1349 2014-09-16  Terry Guo  <terry.guo@arm.com>
1350
1351         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
1352         failed to merge.
1353
1354 2014-09-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
1355
1356         * bfd-in2.h: Regenerate.
1357         * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
1358         (nds32_elf_relax_section): Code refactoring.
1359         (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
1360         nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
1361         nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
1362         pattern. The first three is moved from nds32_elf_relax_section,
1363         and the last three is new function.
1364         (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
1365         nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
1366         nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
1367         nds32_elf_relax_longjump7): Relax condition branch pattern. The first
1368         three is moved from nds32_elf_relax_section, and the last four
1369         is new function.
1370         (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
1371         pattern and address setting pattern.
1372         (nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
1373         nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
1374         nds32_elf_relax_gotoff_suff): Relax pic pattern.
1375         (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
1376         nds32_elf_relax_letlsls): Relax TLS pattern.
1377         (nds32_relax_adjust_label): Adjust alignment and nop.
1378         (nds32_elf_pick_relax): Choose relaxation optimization.
1379         (nds32_elf_get_relocated_section_contents): New hook.
1380         (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
1381         table 234th entry.
1382         * elf32-nds32.h: Declare.
1383         * libbfd.h: Regenerate.
1384         * reloc.c: Add nds32 new relocations.
1385
1386 2014-09-15  Chen Gang  <gang.chen.5i5j@gmail.com>
1387
1388         * dwarf2.c (find_abstract_instance_name): Use 'form' instead of
1389         'name' for the typo issue, which related with commit
1390         60d77146a249ae9b51d7ce98930cdbedb2cfa352.
1391
1392 2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
1393             Matthew Fortune  <matthew.fortune@imgtec.com>
1394
1395         * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
1396         * archures.c (bfd_architecture): Likewise.
1397         * bfd-in2.h (bfd_architecture): Likewise.
1398         (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
1399         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
1400         BFD_RELOC_MIPS_19_PCREL_S2.
1401         * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
1402         * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
1403         R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
1404         (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
1405         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
1406         BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
1407         BFD_RELOC_LO16_PCREL.
1408         * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
1409         R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
1410         and R_MIPS_PCLO16.
1411         (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
1412         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
1413         BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
1414         BFD_RELOC_LO16_PCREL.
1415         * elfn32-mips.c: Likewise.
1416         * elfxx-mips.c (MIPSR6_P): New define.
1417         (mipsr6_exec_plt_entry): New array.
1418         (hi16_reloc_p): Add support for R_MIPS_PCHI16.
1419         (lo16_reloc_p): Add support for R_MIPS_PCLO16.
1420         (aligned_pcrel_reloc_p): New function.
1421         (mips_elf_relocation_needs_la25_stub): Add support for relocs:
1422         R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
1423         (mips_elf_calculate_relocation): Add support for relocs:
1424         R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
1425         R_MIPS_PCHI16 and R_MIPS_PCLO16.
1426         (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
1427         (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
1428         (_bfd_mips_elf_check_relocs): Add support for relocs:
1429         R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
1430         (_bfd_mips_elf_relocate_section): Add a check for unaligned
1431         pc relative relocs.
1432         (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
1433         plt entry.
1434         (mips_set_isa_flags): Add support for mips32r6 and mips64r6.
1435         (_bfd_mips_elf_print_private_bfd_data): Likewise.
1436         (mips_32bit_flags_p): Add support for mips32r6.
1437         * libbfd.h (bfd_reloc_code_real_names): Add entries for
1438         BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
1439         BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
1440         * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
1441         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
1442         BFD_RELOC_MIPS_19_PCREL_S2.
1443         * config.bfd: Add mips*-img-elf* target triple.
1444
1445 2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>
1446
1447         * config.bfd: Add mips*-img-elf* target triple.
1448
1449 2014-09-12  Alan Modra  <amodra@gmail.com>
1450
1451         * elf-bfd.h (struct eh_frame_array_ent): Add "range".
1452         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
1453         range of FDEs to hdr_info->array.
1454         (_bfd_elf_write_section_eh_frame_hdr): Report overflow in
1455         .eh_frame_hdr entries, and overlapping FDEs.
1456
1457 2014-09-10  Alan Modra  <amodra@gmail.com>
1458
1459         * elf.c (assign_file_positions_except_relocs): Move section header
1460         placement to..
1461         (_bfd_elf_assign_file_positions_for_relocs): ..here.  Make static.
1462         * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
1463         * elflink.c (bfd_elf_final_link): Don't call above function.
1464
1465 2014-08-30  Alan Modra  <amodra@gmail.com>
1466
1467         * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
1468
1469 2014-08-29  Alan Modra  <amodra@gmail.com>
1470
1471         * elf64-ppc.c (ppc64_elf_relocate_section): Report a different
1472         error for calls via a toc adjusting stub without a nop.
1473
1474 2014-08-29  Alan Modra  <amodra@gmail.com>
1475
1476         * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
1477         error.  Remove redundant bfd_set_error.
1478
1479 2014-08-29  Alan Modra  <amodra@gmail.com>
1480
1481         * srec.c (srec_scan): Revert last change.  Report an error for
1482         S-records with less than the miniumum byte count.
1483
1484 2014-08-28  H.J. Lu  <hongjiu.lu@intel.com>
1485
1486         * srec.c (srec_scan): Return error for 0 size.
1487
1488 2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
1489
1490         PR ld/17306
1491         * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
1492         to check discarded input section.
1493         * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1494
1495 2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
1496
1497         PR ld/17313
1498         * elflink.c (elf_link_add_object_symbols): Don't attach dynamic
1499         sections to input from ld --just-symbols.
1500
1501 2014-08-26  DJ Delorie  <dj@redhat.com>
1502
1503         * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
1504         relaxation type.
1505
1506 2014-08-26  Jiong Wang  <jiong.wang@arm.com>
1507
1508         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
1509         properly for MOVW_G0/1/2_NC and MOVW_G3.  Reject them when linking
1510         shared library.
1511         (elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
1512
1513 2014-08-26  Nick Clifton  <nickc@redhat.com>
1514
1515         * config.bfd: Fix typo in or1knd selection.
1516
1517 2014-08-22  Kai Tietz  <ktietz@redhat.com>
1518
1519         PR binutils/11822
1520         * coffcode.h (coff_compute_section_file_positions): Keep
1521         FileAlignment valid as set.
1522
1523 2014-08-22  Alan Modra  <amodra@gmail.com>
1524
1525         * elf-eh-frame.c (struct cie): Delete "output_sec" field.
1526         (cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
1527
1528 2014-08-22  Alan Modra  <amodra@gmail.com>
1529
1530         * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
1531         parsed_eh_frames.
1532         (_bfd_elf_begin_eh_frame_parsing): Delete.
1533         (_bfd_elf_end_eh_frame_parsing): Delete.
1534         * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
1535         (_bfd_elf_end_eh_frame_parsing): Delete.
1536         (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame.  Test
1537         !info->relocatable in place of merge_cies.
1538         * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
1539         * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
1540         (ppc64_elf_size_stubs): Likewise pad stub FDE.
1541         (ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
1542         (ppc64_elf_size_stubs): ..here and..
1543         (ppc64_elf_finish_dynamic_sections): ..here.
1544
1545 2014-08-21  Maciej W. Rozycki  <macro@codesourcery.com>
1546
1547         * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
1548
1549 2014-08-21  Tony Wang  <tony.wang@arm.com>
1550
1551         * elf32-arm.c (elf32_arm_final_link_relocate): Implement
1552         the veneer routine for R_ARM_THM_JUMP19.
1553         (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
1554         (elf32_arm_size_stub): Ditto.
1555
1556 2014-08-20  Roland McGrath  <mcgrathr@google.com>
1557
1558         PR ld/17277
1559         * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
1560         all reloc types with pc_relative set in the howto, not just for
1561         R_ARM_REL32 and R_ARM_REL32_NOI.
1562         (allocate_dynrelocs_for_symbol): Update comment.
1563         (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
1564         set in the howto, set call_reloc_p and may_need_local_target_p but
1565         not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
1566         (elf32_arm_check_relocs): Likewise.
1567
1568 2014-08-20  Will Newton  <will.newton@linaro.org>
1569
1570         * config.bfd: Default armeb-*-eabi* to big endian.
1571
1572 2014-08-19  Alan Modra  <amodra@gmail.com>
1573
1574         * configure: Regenerate.
1575
1576 2014-08-18  Alan Modra  <amodra@gmail.com>
1577
1578         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
1579         use dynrelocs for ifunc.
1580         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
1581
1582 2014-08-18  Alan Modra  <amodra@gmail.com>
1583
1584         PR 17287
1585         * elflink.c (on_needed_list): Only consider libraries that have
1586         been loaded.
1587
1588 2014-08-18  Alan Modra  <amodra@gmail.com>
1589
1590         * elflink.c (bfd_elf_discard_info): Return int error status.
1591         * stabs.c (_bfd_discard_section_stabs): Comment typo fix.
1592         * bfd-in.h (bfd_elf_discard_info): Updata prototype.
1593         * bfd-in2.h: Regenerate.
1594
1595 2014-08-14  Alan Modra  <amodra@gmail.com>
1596
1597         * peXXigen.c (pe_print_reloc): Protect against access past end
1598         of .reloc section.
1599
1600 2014-08-14  Alan Modra  <amodra@gmail.com>
1601
1602         PR 16563
1603         * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
1604         in the order they are mapped to output sections.
1605
1606 2014-08-14  Alan Modra  <amodra@gmail.com>
1607
1608         * configure.ac: Delete redundant plugin related checks.
1609         * configure: Regenerate.
1610
1611 2014-08-13  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
1612
1613         * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
1614         allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
1615         and SYMBOLIC_BIND.
1616
1617 2014-08-12  Alan Modra  <amodra@gmail.com>
1618
1619         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
1620         here when not calling the generic add_symbol function.  Formatting.
1621         Correct handling of indirect symbols.  Update notice call.
1622         * elflink.c (_bfd_elf_notice_as_needed): Update notice call.
1623         * linker.c (_bfd_generic_link_add_one_symbol): Create indirect
1624         symbols early.  Update notice call.  Add comments regarding weak
1625         symbols vs. indirect.
1626
1627 2014-08-12  Alan Modra  <amodra@gmail.com>
1628
1629         PR ld/16746
1630         * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
1631         !lto_plugin_active.
1632
1633 2014-08-07  Chen Gang <gang.chen.5i5j@gmail.com>
1634
1635         * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are
1636         zero terminated.
1637
1638 2014-08-07  H.J. Lu  <hongjiu.lu@intel.com>
1639             Alan Modra  <amodra@gmail.com>
1640
1641         PR ld/16746
1642         * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a
1643         warning for references in LTO IR to warning symbols.
1644
1645 2014-08-07  Alan Modra  <amodra@gmail.com>
1646
1647         * linker.c (WARN, CWARN): Collapse these states to WARN.
1648         (_bfd_generic_link_add_one_symbol): Use old CWARN case for
1649         new WARN.
1650
1651 2014-08-05  Doug Evans  <dje@google.com>
1652
1653         * bfd-in2.h: Regenerate.
1654         * libcoff.h: Regenerate.
1655
1656 2014-08-05  Maciej W. Rozycki  <macro@codesourcery.com>
1657
1658         * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's
1659         rawsize if changing size.
1660
1661 2014-08-05  Alan Modra  <amodra@gmail.com>
1662
1663         PR ld/17226
1664         * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix.
1665
1666 2014-08-05  Alan Modra  <amodra@gmail.com>
1667
1668         * linker.c (generic_link_check_archive_element): Move handling
1669         of command link -u symbols with a common symbol def to the
1670         code handling non-common symbols so that archive element symbols
1671         are loaded.  Use generic_link_add_object_symbols.
1672
1673 2014-08-05  Alan Modra  <amodra@gmail.com>
1674
1675         PR 13557
1676         * linker.c (struct archive_list, struct archive_hash_entry,
1677         struct archive_hash_table, archive_hash_newfunc,
1678         archive_hash_table_init, archive_hash_lookup, archive_hash_allocate,
1679         archive_hash_table_free): Delete.
1680         (_bfd_generic_link_add_archive_symbols): Add h and name params to
1681         checkfn.  Rewrite using a straight-forward scan over archive map.
1682         (generic_link_check_archive_element_no_collect,
1683         generic_link_check_archive_element_collect,
1684         generic_link_check_archive_element): Add h and name params.
1685         * aoutx.h (aout_link_check_archive_element): Likewise.
1686         * pdp11.c (aout_link_check_archive_element): Likewise.
1687         * xcofflink.c (xcoff_link_check_archive_element): Likewise.
1688         * cofflink.c (coff_link_check_archive_element): Likewise.  Don't
1689         scan symbols, simply add archive element whenever h is undefined.
1690         (coff_link_check_ar_symbols): Delete.
1691         * ecoff.c (read_ext_syms_and_strs): Delete.
1692         (reread_ext_syms_and_strs): Delete.
1693         (ecoff_link_check_archive_element): Add h and name param.  Don't
1694         scan symbols, simply add based on h.  Use ecoff_link_add_object_symbols.
1695         * elflink.c (elf_link_is_defined_archive_symbol): Don't test
1696         archive_pass.
1697         (elf_link_add_archive_symbols): Delete "defined" array, merge
1698         functionality into "included".  Make "included" a char array.  Don't
1699         set or test archive_pass.
1700         * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update.
1701         * libbfd.h: Regenerate.
1702
1703 2014-08-01  Takashi Yoshii  <yoshii.takashi@renesas.com>
1704
1705         PR 10373
1706         * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing.
1707
1708 2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
1709
1710         * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
1711         (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
1712         (bfd_mips_elf_swap_abiflags_v0_in): New function.
1713         (bfd_mips_elf_swap_abiflags_v0_out): Likewise.
1714         (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
1715         (_bfd_mips_elf_fake_sections): Likewise.
1716         (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
1717         (_bfd_mips_elf_additional_program_headers): Account for new
1718         PT_MIPS_ABIFLAGS program header.
1719         (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
1720         associate with .MIPS.abiflags.
1721         (_bfd_mips_elf_gc_mark_extra_sections): New function.
1722         (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
1723         (infer_mips_abiflags): Likewise.
1724         (_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
1725         (mips_32bit_flags_p): Moved higher.
1726         (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
1727         checking for FP ABIs.
1728         (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
1729         checks.  Check EF_MIPS_FP64 flag consistency.
1730         (print_mips_ases, print_mips_isa_ext): New static function.
1731         (print_mips_fp_abi_value, get_mips_reg_size): Likewise.
1732         (_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
1733         (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
1734         Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
1735         * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
1736         * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1737         * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1738         * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1739
1740 2014-07-28  Alan Modra  <amodra@gmail.com>
1741
1742         PR 13227
1743         * archive.c (_bfd_compute_and_write_armap): Warn on adding
1744         __gnu_lto_slim to armap.
1745         * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
1746         __gnu_lto_slim to linker hash table.
1747
1748 2014-07-27  Anthony Green  <green@moxielogic.org>
1749
1750         * config.bfd: Add moxie-*-moxiebox*.
1751
1752 2014-07-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1753
1754         Add or reactivate or1k-*-rtems*
1755         * config.bfd (or1k-*-rtems*): Reactivate.
1756
1757 2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
1758
1759         * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
1760         ELFOSABI_GNU input.
1761         * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
1762         (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
1763
1764 2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
1765
1766         PR binutils/17154
1767         * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
1768         and R_*_IRELATIVE relocation offset with PLT entry.
1769         * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
1770         (elf_x86_64_plt_sym_val_offset_plt_bnd): New.
1771         (elf_x86_64_get_synthetic_symtab): Use it.
1772
1773 2014-07-15  H.J. Lu  <hongjiu.lu@intel.com>
1774
1775         PR ld/17057
1776         * elf32-i386.c (elf_i386_compute_jump_table_size): Replace
1777         next_tls_desc_index with elf.srelplt->reloc_count.
1778
1779 2014-07-15  Alan Modra  <amodra@gmail.com>
1780
1781         * cache.c (cache_bread_1): Don't return -1 when fread returns
1782         a positive value.
1783
1784 2014-07-15  Alan Modra  <amodra@gmail.com>
1785
1786         * elflink.c (elf_merge_st_other): Update comments.  Simplify
1787         visibility handling.  Make isym const.  Move code modifying
1788         isym->st_other for --exclude-libs to..
1789         (elf_link_add_object_symbols): ..here.
1790
1791 2014-07-11  Maks Naumov  <maksqwe1@ukr.net>
1792
1793         PR 17141
1794         * elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
1795
1796 2014-07-08  Nick Clifton  <nickc@redhat.com>
1797
1798         PR ld/17110
1799         * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output
1800         segments in input bfds.
1801
1802 2014-07-08  Will Newton  <will.newton@linaro.org>
1803
1804         * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default
1805         value to 64kB and remove custom setting for NaCl.
1806
1807 2014-07-08  Alan Modra  <amodra@gmail.com>
1808
1809         * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
1810         bits from source to dest.
1811         * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
1812         * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
1813         Likewise.
1814         * bfd-in2.h: Regenerate.
1815
1816 2014-07-08  Jiong Wang  <jiong.wang@arm.com>
1817
1818         * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
1819         (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
1820         when info->relocatable be true.
1821
1822 2014-07-07  Barney Stratford  <barney_stratford@fastmail.fm>
1823
1824         * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6.
1825         * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6.
1826         * bfd-in2.h: Regenerate.
1827         * libbfd.h: Regenerate.
1828
1829 2014-07-04  Alan Modra  <amodra@gmail.com>
1830
1831         * Makefile.am: Update "configure.in" comments.
1832         * PORTING: Likewise.
1833         * aoutx.h: Likewise.
1834         * configure.host: Likewise.
1835         * doc/bfdint.texi: Likewise.
1836         * targets.c: Likewise.
1837         * warning.m4: Likewise.
1838         * Makefile.in: Regenerate.
1839
1840 2014-07-04  Alan Modra  <amodra@gmail.com>
1841
1842         * configure.ac: Rename from configure.in.
1843         * Makefile.in: Regenerate.
1844         * config.in: Regenerate.
1845         * doc/Makefile.in: Regenerate.
1846
1847 2014-07-04  Alan Modra  <amodra@gmail.com>
1848
1849         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
1850         * Makefile.in: Regenerate.
1851
1852 2014-07-04  Alan Modra  <amodra@gmail.com>
1853
1854         * version.m4: New file.
1855         * configure.in: Include version.m4.
1856         (AC_INIT): Update.
1857         * Makefile.am (RELEASE): Delete.
1858         (bfdver.h): Depend on development.sh, use instead of RELEASE.
1859         * Makefile.in: Regenerate.
1860         * doc/Makefile.in: Regenerate.
1861
1862 2014-07-02  Alan Modra  <amodra@gmail.com>
1863
1864         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear
1865         pointer_equality_needed when !readonly_dynrelocs.
1866         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1867
1868 2014-07-02  Alan Modra  <amodra@gmail.com>
1869
1870         * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too.
1871         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1872
1873 2014-07-01  Alan Modra  <amodra@gmail.com>
1874
1875         * bfd.c (struct bfd): Reorganise for better packing.  Delete
1876         "ifd" field.  Make "format", "direction" and "flags" bitfields.
1877         (HAS_LOAD_PAGE): Delete, renumber following flags.
1878         * bfd-in2.h: Regenerate.
1879         * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs.
1880
1881 2014-07-01  Alan Modra  <amodra@gmail.com>
1882
1883         * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry.
1884         (struct ppc_link_hash_table): Increase size of stub_count array.
1885         (build_global_entry_stubs): Emit symbol on global entry stub.
1886         (ppc64_elf_build_stubs): NULL check htab->brlt.  Add global entry
1887         stub stats.
1888
1889 2014-07-01  Alan Modra  <amodra@gmail.com>
1890
1891         * elf64-ppc.c (abiversion, set_abiversion): Move earlier.
1892         (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset.
1893         (ppc64_elf_set_toc): Set ".TOC." symbol value when using
1894         generic linker.
1895         (ppc64_elf_relocate_section): Disable ELFv2 function entry
1896         optimisation when --traditional-format.
1897
1898 2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
1899             Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1900             Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
1901             Soundararajan  <Sounderarajan.D@atmel.com>
1902
1903         * archures.c: Add avrtiny architecture for avr target.
1904         * cpu-avr.c (arch_info_struct): Add avrtiny arch info.
1905         * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16
1906         added for 16 bit LDS/STS instruction of avrtiny arch.
1907         (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to
1908         BFD_RELOC_AVR_LDS_STS_16.
1909         (bfd_elf_avr_final_write_processing): Select machine number
1910         avrtiny arch.
1911         (elf32_avr_object_p): Set machine number for avrtiny arch.
1912         * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc.
1913         * bfd-in2.h: Regenerate.
1914         * libbfd.h: Regenerate.
1915
1916 2014-06-26  Nick Clifton  <nickc@redhat.com>
1917
1918         PR binutils/16949
1919         * dwarf2.c (is_str_attr): New function.
1920         (find_abstract_instance_name): Use it to determine when an
1921         attribute has a string value.
1922
1923 2014-06-24  Alan Modra  <amodra@gmail.com>
1924
1925         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep
1926         .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output
1927         for --emit-relocs.
1928
1929 2014-06-21  Philippe De Muyter  <phdm@macqel.be>
1930
1931         * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
1932         a number of targets.
1933
1934 2014-06-20  Kyle McMartin <kyle@redhat.com>
1935
1936         * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
1937         emitting initial-exec relocs when not linking an executable.
1938
1939 2014-06-16  Will Newton  <will.newton@linaro.org>
1940
1941         * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment
1942         htab->next_tls_desc_index in the non-IPLT case.
1943         Calculate GOT offset correctly for the non-IPLT case.
1944         (allocate_dynrelocs_for_symbol): Don't increment
1945         htab->next_tls_desc_index here.
1946
1947 2014-06-16  Alan Modra  <amodra@gmail.com>
1948
1949         * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
1950         created sections.
1951
1952 2014-06-13  Omair Javaid  <omair.javaid@linaro.org>
1953
1954         * elfxx-aarch64.c (stdarg.h): Include.
1955         (string.h): Include.
1956         (_bfd_aarch64_elf_grok_prstatus): Updated.
1957         (_bfd_aarch64_elf_grok_psinfo): New function.
1958         (_bfd_aarch64_elf_write_core_note): New function.
1959         * elfxx-aarch64.h (elf_backend_grok_psinfo): Define.
1960         (elf_backend_write_core_note): Define.
1961
1962 2014-06-13  Alan Modra  <amodra@gmail.com>
1963
1964         * archive.c: Include bfdlink.h.
1965         (_bfd_archive_close_and_cleanup): Call linker hash_table_free.
1966         * bfd.c (struct bfd): Add is_linker_output field.
1967         * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype.
1968         * linker.c (_bfd_link_hash_table_init): Set up hash_table_free,
1969         link.hash and is_linker_output.
1970         (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table*
1971         param with bfd*.  Assert is_linker_output and link.hash, and
1972         clear them before exit.
1973         * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace
1974         bfd_link_hash_table* param with bfd*.  Hack is_linker_output
1975         and link.hash so we can free two linker hash tables.
1976         (elf32_mn10300_link_hash_table_create): Create static_hash_table
1977         first.  Clean up on errors.  Set hash_table_free pointer.
1978         * elf32-arm.c (elf32_arm_link_hash_table_free): Replace
1979         bfd_link_hash_table* param with bfd*.
1980         (elf32_arm_link_hash_table_create): Clean up on errors.  Set
1981         hash_table_free pointer.
1982         * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c,
1983         * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c,
1984         * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c,
1985         * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c,
1986         * xcofflink.c: Similarly.
1987         * simple.c (bfd_simple_get_relocated_section_contents): Save and
1988         clear link.next before creating linker hash table.  Clean up on
1989         errors, and restore link.next on exit.
1990         * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete.
1991         * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete.
1992         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete.
1993         * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete.
1994         * hash.c (bfd_hash_table_init_n): Free table on error.
1995         * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto.
1996         * bfd-in2.h: Regenerate.
1997         * libbfd.h: Regenerate.
1998         * libcoff.h: Regenerate.
1999
2000 2014-06-13  Alan Modra  <amodra@gmail.com>
2001
2002         PR 17047
2003         * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
2004         (struct bfd_target <_bfd_link_hash_table_free>): Delete.
2005         * bfd.c (bfd_link_hash_table_free): Don't define.
2006         * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
2007         * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
2008         * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
2009         * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
2010         * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
2011         * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
2012         * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
2013         * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
2014         * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
2015         * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
2016         * xsym.c: Don't define various link_hash_table_free defines, and
2017         remove from bfd_target vars.  Temporarily reference some of the
2018         target link_hash_table_free functions to avoid warnings.
2019         * bfd-in2.h: Regenerate.
2020         * libbfd.h: Regenerate.
2021
2022 2014-06-13  Alan Modra  <amodra@gmail.com>
2023
2024         * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c,
2025         * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c,
2026         * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c,
2027         * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c:
2028         Move link_hash_table_free functions before their corresponding
2029         link_hash_table_create functions.
2030
2031 2014-06-13  Alan Modra  <amodra@gmail.com>
2032
2033         * bfd.c (struct bfd): Replace link_next with a union.
2034         * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
2035         * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
2036         * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
2037         * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
2038         * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
2039         * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
2040         * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
2041         * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
2042         * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
2043         * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
2044         * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
2045         * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
2046         * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
2047         * bfd-in2.h: Regenerate.
2048
2049 2014-06-11  Alan Modra  <amodra@gmail.com>
2050
2051         * linker.c (unwrap_hash_lookup): Add missing parens.
2052
2053 2014-06-11  Kai Tietz  <ktietz@redhat.com>
2054
2055         * libcoff-in.h (coff_tdata): Make relocbase member unsigned.
2056         * libcoff.h: Regenerated.
2057
2058 2014-06-10  Alan Modra  <amodra@gmail.com>
2059
2060         PR ld/16910
2061         * linker.c (unwrap_hash_lookup): New function.
2062         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
2063         * elf32-i370.c (i370_elf_relocate_section): Likewise.
2064         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
2065         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2066         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
2067         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2068         * elf32-spu.c (spu_elf_relocate_section): Likewise.
2069         * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
2070
2071 2014-06-07  Alan Modra  <amodra@gmail.com>
2072
2073         * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
2074         insn as a bitfield; Use complain_overflow_bitfield.
2075         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2076
2077 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
2078
2079         * development.sh: New file.
2080         * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
2081         Make -Werror the default with GCC only if DEVELOPMENT is true.
2082         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
2083         $(srcdir)/development.sh.
2084         * Makefile.in, configure: Regenerate.
2085
2086 2014-06-04  Will Newton  <will.newton@linaro.org>
2087
2088         * elfnn-aarch64.c (tpoff_base): Make test of tls_sec
2089         being non-NULL into an assert.
2090         (elfNN_aarch64_tls_relax): Remove unused code.
2091
2092 2014-06-03  DJ Delorie  <dj@redhat.com>
2093
2094         * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
2095
2096 2014-06-03  Nick Clifton  <nickc@redhat.com>
2097
2098         PR ld/16807
2099         * peXXigen.c (rsrc_process_section): Page align the new contents
2100         befgore writing out.
2101
2102 2014-06-03  Alan Modra  <amodra@gmail.com>
2103
2104         * elf64-ppc.c (ADDIS_R12_R2): Define.
2105         (build_plt_stub): Support fusion on ELFv2 stub.
2106         (ppc_build_one_stub): Likewise for plt branch stubs.
2107
2108 2014-05-28  Alan Modra  <amodra@gmail.com>
2109
2110         * elf32-rx.c (rx_table_map): Delete set but not used variables.
2111
2112 2014-05-28  Tristan Gingold  <gingold@adacore.com>
2113
2114         * dwarf2.c (lookup_address_in_function_table): Add best_fit_len
2115         to keep the length of the best fit range.
2116         (lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
2117         Likewise.
2118
2119 2014-05-27  DJ Delorie  <dj@redhat.com>
2120
2121         * elf32-rx.c (get_symbol_value_maybe): New.
2122         (rx_elf_relocate_section): If we find a reloc against
2123         $tableentry$default$<name>, redirect it to the appropriate
2124         $tableentry$<n>$.
2125         (RX_Table_Info): New.
2126         (rx_table_find): New.  Check all tables and SEC_KEEP all sections
2127         with table parts in them.
2128         (rx_check_directives): New.
2129         (rx_table_map_2): New.
2130         (rx_table_map): New.
2131         (rx_additional_link_map_text): New.  Called to dump tables to the
2132         map file.
2133         * elf32-rx.h: New.
2134
2135 2014-05-20  DJ Delorie  <dj@redhat.com>
2136
2137         * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
2138
2139 2014-05-20  Alan Modra  <amodra@gmail.com>
2140
2141         PR 16952
2142         * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
2143         Remove redundant setting of htab->elf.dynobj.  Don't align.
2144         Define .sdata symbols using _bfd_elf_define_linkage_sym.
2145         (ppc_elf_create_glink): Call ppc_elf_create_linker_section.
2146         (create_sdata_sym): Delete.
2147         (elf_allocate_pointer_linker_section): Rename from
2148         elf_create_pointer_linker_section.  Align section.
2149         (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
2150         directly here, or create_sdata_sym.  Set ref_regular on _SDA_BASE_
2151         and _SDA2_BASE_.
2152         (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
2153         Remove unnecessary tests on _SDA_BASE_ sym.
2154         (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
2155         (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
2156         * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
2157         (ppc_elf_maybe_strip_sdata_syms): Declare.
2158
2159 2014-05-16  Ryan Mansfield  <rmansfield@qnx.com>
2160
2161         * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
2162
2163 2014-05-16  Jon Turney  <jon.turney@dronecode.org.uk>
2164
2165         * peXXigen.c (pe_print_debugdata): Don't interpret debug directory
2166         in a section with no contents.
2167         (is_vma_in_section, find_section_by_vma): New functions.
2168         (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
2169         offsets in the debug directory.
2170         (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
2171         Byte-swap GUID from little-endian to big-endian order for
2172         consistent and conventional display.
2173
2174 2014-05-16  Kaushik Phata  <Kaushik.Phatak@kpit.com>
2175
2176         * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
2177         64-bit doubles objects mix with 32-bit doubles objects.
2178         (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
2179
2180 2014-05-08  Hans-Peter Nilsson  <hp@bitrange.com>
2181
2182         * mmo.c: Update URLs in documentation comments.
2183
2184 2014-05-02  Volodymyr Arbatov  <arbatov@cadence.com>
2185             David Weatherford  <weath@cadence.com>
2186             Max Filippov  <jcmvbkbc@gmail.com>
2187
2188         * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
2189         signed.
2190
2191 2014-05-07  Andreas Tobler  <andreast@fgznet.ch>
2192
2193         * config.bfd: Add proper arm config for *-*-freebsd*.
2194
2195 2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
2196
2197         * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
2198         mips32r5 and mips64r5.
2199         * archures.c (bfd_architecture): Likewise.
2200         * bfd-in2.h (bfd_architecture): Likewise.
2201         * cpu-mips.c (arch_info_struct): Likewise.
2202         * elfxx-mips.c (mips_set_isa_flags): Likewise.
2203
2204 2014-05-06  Richard Sandiford  <rdsandiford@googlemail.com>
2205
2206         * elfxx-mips.h (elfxx-mips.h): Declare.
2207         * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
2208         Tag_GNU_MIPS_ABI_FP mismatches.
2209         (_bfd_mips_fp_abi_string): New function.
2210
2211 2014-05-02  Alan Modra  <amodra@gmail.com>
2212
2213         * targets.c: Sort bfd_target vectors somewhat alphabetically.
2214         * configure.in: Likewise.
2215         * configure: Regenerate.
2216
2217 2014-05-02  Alan Modra  <amodra@gmail.com>
2218
2219         * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
2220         * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
2221         * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
2222         * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
2223         * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
2224         * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
2225         * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
2226         * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
2227         * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
2228         * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
2229         * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
2230         * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
2231         * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
2232         * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
2233         * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
2234         * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
2235         * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
2236         * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
2237         * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
2238         * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
2239         * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
2240         * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
2241         * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
2242         * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
2243         * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
2244         * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
2245         * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
2246         * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
2247         * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
2248         * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
2249         * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
2250         * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
2251         * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
2252         * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
2253         * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
2254         * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
2255         * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
2256         * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
2257         * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
2258         * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
2259         * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
2260         * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
2261         * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
2262         * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
2263         * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
2264         * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
2265         * vms-alpha.c, * vms-lib.c: Rename bfd targets to
2266         <cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
2267         on aout targets.
2268         * configure: Regenerate.
2269
2270 2014-05-01  Hans-Peter Nilsson  <hp@bitrange.com>
2271
2272         * mmo.c (mmo File layout documentation): Add note about low bits
2273         of address.
2274         (mmo_write_chunk): When handling data remainder, assert that
2275         previous remaining data is flushed.
2276         (mmo_write_loc_chunk): Only look for trailing and leading zeros
2277         when dealing with an aligned VMA and for aligned lengths.  Don't skip
2278         the last 32-bit-word of zeros.
2279         (mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
2280         (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
2281         emitting data, not after updating it.
2282         <case LOP_LOC>: Call mmo_decide_section with aligned vma.
2283
2284 2014-04-30  Nick Clifton  <nickc@redhat.com>
2285
2286         * compress.c (bfd_is_section_compressed): When checking the
2287         .debug_str section, also check the fifth byte in the section is
2288         not part of a string.
2289
2290 2014-04-30  Alan Modra  <amodra@gmail.com>
2291
2292         * elf-eh-frame.c (struct cie.personality): Replace val with sym.
2293         (find_merged_cie): Identify personality functions by (bfd_id,index)
2294         pair when a local sym is used.
2295
2296 2014-04-29  Christian Svensson  <blue@cmd.nu>
2297
2298         * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
2299         into .rela.got if it contained TLS relocations as well.
2300
2301 2014-04-28  Nick Clifton  <nickc@redhat.com>
2302
2303         PR ld/16821
2304         * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
2305         time warning.
2306
2307 2014-04-26  Alan Modra  <amodra@gmail.com>
2308
2309         * po/SRC-POTFILES.in: Regenerate.
2310         * configure: Regenerate.
2311
2312 2014-04-25  Nick Clifton  <nickc@redhat.com>
2313
2314         PR ld/16821
2315         * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
2316         a 342-bit host.  This time for older versions of gcc.
2317
2318 2014-04-24  Nick Clifton  <nickc@redhat.com>
2319
2320         * peXXigen.c (rsrc_print_section): Fix compile time warning for
2321         32-bit hosts.
2322
2323 2014-04-24  Alan Modra  <amodra@gmail.com>
2324
2325         PR 16867
2326         * dwarf2.c: Formatting.
2327         (struct dwarf2_debug): Make adjusted_section_count signed.
2328         (unset_sections): Make i signed.
2329         (set_debug_vma): New function.
2330         (place_sections): Handle separate debug object file.  Set VMA
2331         on debug sections, even if they have an output section.  Also
2332         set VMA on zero size sections, and non-load but alloc sections.
2333         Set adjusted_section_count to -1 when no section adjustment.
2334         Malloc adjusted_sections.  Don't double last_vma.  Transfer
2335         alloc section VMAs to separate debug file.
2336         (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
2337         (_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
2338         test on symbols being the same before using old stash.  Read
2339         and use separate debug file symbols.  Call place_sections.
2340         (find_line): Don't call place_sections here.
2341         * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
2342         * libbfd.h: Regenerate.
2343         * mach-o.c (bfd_mach_o_find_nearest_line): Adjust
2344         _bfd_dwarf2_slurp_debug_info call.
2345         * simple.c (simple_save_output_info): Clarify comment.
2346
2347 2014-04-24  Nick Clifton  <nickc@redhat.com>
2348
2349         PR ld/16807
2350         * peXXigen.c (struct rsrc_regions): New structure.
2351         (rsrc_print_resource_directory): Use new structure.  Include
2352         offset of directory in listing.
2353         (rsrc_print_resource_entry): Likewise.
2354         (rsrc_print_section): Likewise.
2355         (rsrc_count_entries): Do not increment sizeof_strings or
2356         sizeof_leaves.
2357         (rsrc_count_directory): Do not increment sizeof_tables.
2358         (rsrc_compute_region_sizes): New function.
2359         (rsrc_write_leaf): Maintain 8-byte alignment for resource data.
2360         (rsrc_process_section): Compute size of regions after merging
2361         entries.
2362
2363 2014-04-23  Alan Modra  <amodra@gmail.com>
2364
2365         PR ld/16787
2366         * dwarf2.c (struct dwarf2_debug): Add sec_vma field.
2367         (place_sections): Do not modify VMA of sections when called from
2368         linker after sections have been placed in output sections.  Short
2369         circuit single section case.
2370         (save_section_vma, section_vma_same): New functions.
2371         (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
2372         change.
2373         * reloc.c (bfd_perform_relocation): Do not modify reloc addend
2374         when non-relocatable.
2375
2376 2014-04-22  Nick Clifton  <nickc@redhat.com>
2377
2378         PR ld/16821
2379         * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
2380
2381 2014-04-22  Christian Svensson  <blue@cmd.nu>
2382
2383         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
2384         * archures.c: Likewise.
2385         * coffcode.h: Likewise.
2386         * config.bfd: Likewise.
2387         * configure.in: Likewise.
2388         * reloc.c: Likewise.
2389         * targets.c: Likewise.
2390         * cpu-or1k.c: New file.
2391         * elf32-or1k.c: New file.
2392         * coff-or32.c: Delete.
2393         * cpu-openrisc.c: Delete.
2394         * cpu-or32.c: Delete.
2395         * elf32-openrisc.c: Delete.
2396         * elf32-or32.c: Delete.
2397         * Makefile.in: Regenerate.
2398         * bfd-in2.h: Regenerate.
2399         * configure: Regenerate.
2400         * libbfd.h: Regenerate.
2401
2402 2014-04-22  Yuanhui Zhang  <asmwarrior@gmail.com>
2403
2404         PR ld/16821
2405         * peXXigen.c (abs_finder): Fix for 32-bit host builds.
2406
2407 2014-04-22  Will Newton  <will.newton@linaro.org>
2408
2409         * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
2410         function.  (elf_backend_section_flags): Remove define.
2411
2412 2014-04-21  Richard Henderson  <rth@redhat.com>
2413
2414         * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
2415         parameter; honor it and disable got merging when false.
2416         (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
2417         the first pass of relaxation.
2418         (elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
2419         the end of the LITERAL+LITUSE chain.
2420         (elf64_alpha_relax_section): Only process LITERAL relocs during the
2421         second pass of relaxation.
2422
2423         * configure.ac (use_secureplt): Enable by default.
2424         * configure: Rebuild.
2425
2426 2014-04-18  Tristan Gingold  <gingold@adacore.com>
2427
2428         * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
2429         bind_content, weak_bind_content, lazy_bind_content,
2430         export_content.
2431         (bfd_mach_o_load_command): Add comments, add next field.
2432         (mach_o_data_struct): Replace commands field by first_command
2433         and last_command.
2434         * mach-o.c (bfd_mach_o_append_command): New function.
2435         (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
2436         (bfd_mach_o_bfd_copy_private_section_data): Check flavour,
2437         copy fields.
2438         (bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
2439         (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
2440         (bfd_mach_o_write_thread): Use macro instead of literal.
2441         (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
2442         (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
2443         functions.
2444         (bfd_mach_o_write_symtab_content): New function (extracted
2445         from bfd_mach_o_write_symtab).
2446         (bfd_mach_o_write_symtab): Split.
2447         (bfd_mach_o_count_indirect_symbols): Move
2448         (bfd_mach_o_build_dysymtab): Remove layout code.
2449         (bfd_mach_o_write_contents): Rewritten to build commands in order.
2450         (bfd_mach_o_count_sections_for_seg): Remove.
2451         (bfd_mach_o_build_obj_seg_command): New function (extracted from
2452         bfd_mach_o_build_seg_command).
2453         (bfd_mach_o_build_exec_seg_command): New function.
2454         (bfd_mach_o_build_dysymtab_command): Remove.
2455         (bfd_mach_o_layout_commands): New function.
2456         (bfd_mach_o_init_segment): New function.
2457         (bfd_mach_o_build_commands): Major rework to handle non-object
2458         files.
2459         (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
2460         function.
2461         (bfd_mach_o_read_dyld_info): Clear content fields.
2462         (bfd_mach_o_read_segment): Adjust call.
2463         (bfd_mach_o_flatten_sections): Adjust as now load commands are
2464         chained.
2465         (bfd_mach_o_scan_start_address, bfd_mach_o_scan)
2466         (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
2467         (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
2468         Likewise.
2469
2470 2014-04-18  Tristan Gingold  <gingold@adacore.com>
2471
2472         * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
2473         Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
2474         * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
2475         * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
2476
2477 2014-04-18  Tristan Gingold  <gingold@adacore.com>
2478
2479         * mach-o.h (bfd_mach_o_dylinker_command)
2480         (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
2481         name_len field.
2482         * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
2483         (bfd_mach_o_read_fvmlib): Adjust after name_len removal.
2484
2485 2014-04-18  Tristan Gingold  <gingold@adacore.com>
2486
2487         * mach-o.h (bfd_mach_o_backend_data): Add page_size field.
2488         * mach-o-target.c: Check TARGET_PAGESIZE is defined.
2489         (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
2490         * mach-o.c (TARGET_PAGESIZE): Define and undefined for
2491         each targets declared.
2492         * mach-o-x86-64.c (TARGET_PAGESIZE): Define.
2493         * mach-o-i386.c (TARGET_PAGESIZE): Define.
2494
2495 2014-04-18  Tristan Gingold  <gingold@adacore.com>
2496
2497         * mach-o.c (bfd_mach_o_write_thread)
2498         (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
2499         (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
2500         (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
2501         (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
2502         (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
2503         (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
2504         (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
2505         (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
2506         (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
2507         (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
2508         (bfd_mach_o_read_command): Now return a boolean status.
2509         Adjust return statements.
2510         (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
2511         (bfd_mach_o_core_file_failing_command): Remove useless initialization.
2512
2513 2014-04-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
2514
2515         * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
2516         field.  Add assigned_low_gotno and assigned_high_gotno fields.
2517         (mips_elf_create_local_got_entry): Update out-of-space condition.
2518         Set index of new GOT entry to assigned_low_gotno if required by
2519         the current relocation, else set it to assigned_high_gotno.
2520         (mips_elf_set_global_gotidx): Replace uses of assigned_gotno
2521         with assigned_low_gotno.
2522         (mips_elf_multi_got): Initialize assigned_low_gotno and
2523         assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
2524         in place of assigned_gotno when handling global GOT entries.
2525         (mips_elf_lay_out_got): Initialize assigned_low_gotno and
2526         assigned_high_gotno.
2527         (_bfd_mips_elf_finish_dynamic_sections): Account for a possible
2528         gap in the middle of local GOT space.
2529
2530 2014-04-17  Alan Modra  <amodra@gmail.com>
2531
2532         PR 16846
2533         * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
2534         current bfd is a plugin.  Don't always set type_change_ok
2535         when old bfd is a plugin.
2536
2537 2014-04-16  Tristan Gingold  <gingold@adacore.com>
2538
2539         * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
2540         flag.
2541
2542 2014-04-16  Alan Modra  <amodra@gmail.com>
2543
2544         * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
2545         with "ba 0" rather than zeros.
2546
2547 2014-04-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2548
2549         * (elfNN_aarch64_tls_relax): Fix instruction mask.
2550
2551 2014-04-14  Alan Modra  <amodra@gmail.com>
2552
2553         * elf32-ppc.c (BA): Define
2554         (ppc_elf_link_hash_table_create): Correct default_params.
2555         (write_glink_stub): Pad small plt call stub with "ba 0" rather
2556         than "nop" for ppc476_workaround.
2557         (ppc_elf_finish_dynamic_sections): Likewise for branch table
2558         and __glink_PLTresolve.  Ensure plt call stub at end of page
2559         doesn't allow fall-thru prefetch.
2560
2561 2014-04-11  Nick Clifton  <nickc@redhat.com>
2562
2563         PR ld/16821
2564         * peXXigen.c (abs_finder): New function.
2565         (_bfd_XXi_swap_sym_out): For absolute symbols with values larger
2566         than 1^32 try to convert them into section relative values
2567         instead.
2568
2569 2014-04-11  Nick Clifton  <nickc@redhat.com>
2570
2571         * bfd-in2.h: Regenerate.
2572         * libbfd.h: Regenerate.
2573
2574 2014-04-10  Cesar Philippidis  <cesar@codesourcery.com>
2575
2576         * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
2577         when building function stubs.
2578
2579 2014-04-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2580
2581         * elf32-avr.c: Add DIFF relocations for AVR.
2582         (avr_final_link_relocate): Handle the DIFF relocs.
2583         (bfd_elf_avr_diff_reloc): New.
2584         (elf32_avr_is_diff_reloc): New.
2585         (elf32_avr_adjust_diff_reloc_value): Reduce difference value.
2586         (elf32_avr_relax_delete_bytes): Recompute difference after deleting
2587         bytes.
2588
2589         * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
2590
2591 2014-04-09  Alan Modra  <amodra@gmail.com>
2592
2593         * libcoff.h: Regenerate.
2594
2595 2014-04-09  Alan Modra  <amodra@gmail.com>
2596
2597         * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
2598         of safe ppc476 insns at end of page.  Also remove non-branch insns.
2599         Expand comments.
2600
2601 2014-04-08  Jon Turney  <jon.turney@dronecode.org.uk>
2602
2603         * peXXigen.c (pe_print_debugdata): New function: Displays the
2604         contents of the debug directory and decodes codeview entries.
2605         (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
2606         (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
2607         Add functions for reading and writing debugdir and codeview
2608         records.
2609         * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
2610         (_bfd_XXi_write_codeview_record): Add prototypes and macros.
2611         * libcoff-in.h (pe_tdata): Add build-id data.
2612         * libcoff.h: Regenerate.
2613         * coffcode.h (coff_write_object_contents): Run build_id
2614         after_write_object_contents hook.
2615
2616 2014-04-05  Alan Modra  <amodra@gmail.com>
2617
2618         * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
2619         merging non-default sym.
2620
2621 2014-04-04  Tristan Gingold  <gingold@adacore.com>
2622
2623         * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
2624         configured for.
2625
2626 2014-04-04  Tristan Gingold  <gingold@adacore.com>
2627
2628         * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
2629         thinko on names length.
2630
2631 2014-04-04  Tristan Gingold  <gingold@adacore.com>
2632
2633         * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
2634         of output_section.
2635         * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
2636
2637 2014-04-04  Tristan Gingold  <gingold@adacore.com>
2638
2639         * bfd.c (bfd_get_arch_size): Default is taken from arch.
2640
2641 2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
2642
2643         * peXXigen.c (pe_print_edata): Verify edt.name lies inside
2644         section before dereferencing.
2645         (pe_print_idata, pe_print_edata, pe_print_reloc)
2646         (rsrc_print_section): Don't bother interpreting the contents
2647         of sections which have no contents.
2648
2649 2014-04-03  Maria Guseva  <m.guseva@samsung.com>
2650
2651         PR ld/16803
2652         * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
2653         file position.
2654
2655 2014-04-03  Tristan Gingold  <gingold@adacore.com>
2656
2657         * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
2658         output_section.
2659         (bfd_mach_o_build_seg_command): Add comment.  Realign segment.
2660         Fix style.
2661         (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
2662
2663 2014-04-03  Alan Modra  <amodra@gmail.com>
2664
2665         * elf-bfd.h (struct elf_backend_data
2666         <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
2667         with "bfd_size_type size".
2668         (_bfd_elf32_bfd_from_remote_memory): Likewise.
2669         (_bfd_elf64_bfd_from_remote_memory): Likewise.
2670         * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
2671         * elfcode.h (bfd_from_remote_memory): Likewise.
2672         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
2673         * bfd-in2.h: Regenerate.
2674
2675 2014-04-02  Tristan Gingold  <gingold@adacore.com>
2676
2677         * mach-o.h (bfd_mach_o_twolevel_hints_command)
2678         (bfd_mach_o_prebind_cksum_command): New types.
2679         (bfd_mach_o_prebound_dylib_command): Rewrite.
2680         (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
2681         fields.
2682         * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
2683         command.
2684         (bfd_mach_o_read_prebind_cksum): New function.
2685         (bfd_mach_o_read_twolevel_hints): Ditto.
2686         (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
2687         commands.
2688
2689 2014-04-02  Alan Modra  <amodra@gmail.com>
2690
2691         * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
2692         Consolidate code handling possible section headers past end of
2693         segment.  Don't use p_align for page size guess, instead use
2694         minpagesize.  Take note of ld.so clearing section headers when
2695         p_memsz > p_filesz.  Handle file header specifying no section
2696         headers.  Handle zero p_align throughout.  Default loadbase to
2697         zero.  Add comments.  Rename contents_size to high_offset, and
2698         make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
2699         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
2700         * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
2701         Likewise.
2702         (_bfd_elf32_bfd_from_remote_memory): Likewise.
2703         (_bfd_elf64_bfd_from_remote_memory): Likewise.
2704         * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
2705         * bfd-in2.h: Regnerate.
2706
2707 2014-04-01  Tristan Gingold  <gingold@adacore.com>
2708
2709         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
2710         when num == 0.
2711
2712 2014-03-27  Yury Gribov  <y.gribov@samsung.com>
2713             Pavel Fedin  <p.fedin@samsung.com>
2714
2715         * elf32-arm.c: Add support for limited pretty-printing of PLT
2716         entries on eabi and nacl targets.
2717         (elf32_arm_get_synthetic_symtab): Add new callback.
2718         (elf32_arm_nacl_plt_sym_val): Likewise.
2719         (elf32_arm_plt0_size): Add helper function.
2720         (elf32_arm_plt_size): Likewise.
2721
2722 2014-03-27  Tristan Gingold  <gingold@adacore.com>
2723
2724         * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
2725         (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
2726
2727 2014-03-27  Tristan Gingold  <gingold@adacore.com>
2728
2729         * mach-o.h (bfd_mach_o_get_base_address): New prototype.
2730         * mach-o.c (bfd_mach_o_write_symtab)
2731         (bfd_mach_o_write_contents)
2732         (bfd_mach_o_set_section_flags_from_bfd)
2733         (bfd_mach_o_build_seg_command): Fix indentation.
2734         (bfd_mach_o_get_base_address): New function.
2735
2736 2014-03-26  Nick Clifton  <nickc@redhat.com>
2737
2738         * cofflink.c (_bfd_coff_generic_relocate_section): Skip
2739         relocations in discarded sections.
2740
2741 2014-03-26  Tristan Gingold  <gingold@adacore.com>
2742
2743         * mach-o.c (bfd_mach_o_convert_architecture): Add
2744         BFD_MACH_O_CPU_TYPE_ARM64.
2745
2746 2014-03-26  Alan Modra  <amodra@gmail.com>
2747
2748         * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
2749         needed plt entries when taking the address of functions for
2750         abiversion == 0 (ie. unknown) as well as abiversion == 2.
2751         Move opd setup and abiversion checks to..
2752         (ppc64_elf_before_check_relocs): ..here.  Renamed from
2753         ppc64_elf_process_dot_syms.  Set output abiversion from input and
2754         input abiversion from output, if either is not set.
2755         (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
2756         (elf_backend_check_directives): Update.
2757
2758 2014-03-25  Will Newton  <will.newton@linaro.org>
2759
2760          * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
2761          Set value of DT_PLTRELSZ and DT_RELASZ based on the size
2762          of input sections rather than output sections.
2763
2764 2014-03-20  Will Newton  <will.newton@linaro.org>
2765
2766         PR ld/16715
2767         * elf32-arm.c (elf32_arm_check_relocs): Set
2768         pointer_equality_needed for absolute references within
2769         executable links.
2770         (elf32_arm_finish_dynamic_symbol): Set st_value to zero
2771         unless pointer_equality_needed is set.
2772
2773 2014-03-19  Nick Clifton  <nickc@redhat.com>
2774
2775         * peXXigen.c (rsrc_process_section): Add code to scan input
2776         sections and record their lengths.  Use these lengths to find the
2777         start of each merged .rsrc section.
2778
2779 2014-03-17  Tristan Gingold  <gingold@adacore.com>
2780
2781         * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
2782         (bfd_mach_o_read_command): Ditto.
2783
2784 2014-03-14  Meador Inge  <meadori@codesourcery.com>
2785
2786         * configure.in: Add strnlen to AC_CHECK_DECLS.
2787         * config.in: Regenerate.
2788         * configure: Regenerate.
2789         * sysdep.h (strnlen): Add prototype.
2790
2791 2014-03-14  Alan Modra  <amodra@gmail.com>
2792
2793         * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
2794         handling for VLE_SDA21 relocs.
2795
2796 2014-03-13  Tristan Gingold  <gingold@adacore.com>
2797
2798         * peicode.h (pe_ILF_object_p): Adjust, as the version number
2799         has been read.
2800         (pe_bfd_object_p): Also read version number to detect ILF.
2801         * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
2802         (x86_64pe_bigobj_vec): Define
2803         * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
2804         (bfd_coff_max_nscns): New macro.
2805         (coff_compute_section_file_positions): Use unsigned int for
2806         target_index.  Compare with bfd_coff_max_nscns.
2807         (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
2808         Set a value for _bfd_coff_max_nscns.
2809         (header_bigobj_classid): New constant.
2810         (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
2811         (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
2812         (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
2813         functions.
2814         (bigobj_swap_table): New table.
2815         * libcoff.h: Regenerate.
2816         * coff-sh.c (bfd_coff_small_swap_table): Likewise.
2817         * coff-alpha.c (alpha_ecoff_backend_data): Add value for
2818         _bfd_coff_max_nscns.
2819         * coff-mips.c (mips_ecoff_backend_data): Likewise.
2820         * coff-rs6000.c (bfd_xcoff_backend_data)
2821         (bfd_pmac_xcoff_backend_data): Likewise.
2822         * coff64-rs6000.c (bfd_xcoff_backend_data)
2823         (bfd_xcoff_aix5_backend_data): Likewise.
2824         * targets.c (x86_64pe_bigobj_vec): Declare.
2825         * configure.in (x86_64pe_bigobj_vec): New vector.
2826         * configure: Regenerate.
2827         * config.bfd: Add bigobj object format for Windows targets.
2828
2829 2014-03-12  Nick Clifton  <nickc@redhat.com>
2830
2831         PR ld/16671
2832         * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
2833         before testing for vxworks.
2834
2835 2014-03-12  Alan Modra  <amodra@gmail.com>
2836
2837         * Makefile.in: Regenerate.
2838
2839 2014-03-12  Alan Modra  <amodra@gmail.com>
2840
2841         PR 16690
2842         * elf.c (copy_elf_program_header): Ignore first section lma if
2843         non-alloc.
2844
2845 2014-03-11  Alan Modra  <amodra@gmail.com>
2846
2847         PR 16686
2848         * coff-rs6000.c: Include stdint.h.
2849         * coff64-rs6000.c: Likewise.
2850
2851 2014-03-10  Tristan Gingold  <gingold@adacore.com>
2852
2853         * ticoff.h: Removed.
2854
2855 2014-03-08  Alan Modra  <amodra@gmail.com>
2856
2857         * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
2858         many relocations.  Correct bitsize and rightshift too for a number
2859         of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
2860         Correct dst_mask on R_PPC_VLE_SDA21_LO.
2861         (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
2862         (ppc_elf_relocate_section): Modify overflow test for 16-bit
2863         fields in instructions to signed/unsigned according to whether
2864         the field takes a signed or unsigned value.  Tidy vle split16 code.
2865         Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
2866
2867 2014-03-08  Alan Modra  <amodra@gmail.com>
2868
2869         * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
2870         for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
2871         R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
2872         R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
2873         (ppc64_elf_relocate_section): Modify overflow test for 16-bit
2874         fields in instructions to signed/unsigned according to whether
2875         the field takes a signed or unsigned value.
2876
2877 2014-03-07  Pedro Alves  <palves@redhat.com>
2878
2879         PR gdb/16696
2880         * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
2881         through ptr_to_uint instead of through long.
2882
2883 2014-03-06  Nick Clifton  <nickc@redhat.com>
2884
2885         PR 16664
2886         * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
2887         attribute section names.
2888
2889 2014-03-05  Alan Modra  <amodra@gmail.com>
2890
2891         Update copyright years.
2892
2893 2014-03-05  Alan Modra  <amodra@gmail.com>
2894
2895         * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
2896         (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
2897         (ppc64_elf_check_relocs): Likewise.
2898         (ppc64_elf_relocate_section): Likewise.
2899         * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
2900         * bfd-in2.h: Regenerate.
2901         * libbfd.h: Regenerate.
2902
2903 2014-03-04  Heiher  <r@hev.cc>
2904
2905         * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
2906         Loongson-3A.
2907         (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
2908         extension of bfd_mach_mipsisa64r2.
2909
2910 2014-03-04  Nick Clifton  <nickc@redhat.com>
2911
2912         PR ld/16017
2913         * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
2914         (elf32_thumb2_plt_entry): New array.
2915         (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
2916         using thumb2 based PLT.
2917         (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
2918         entries.
2919         (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
2920         PLT entries.
2921         (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
2922         based PLT 0-entry.
2923         (elf32_arm_output_plt_map_1): Handle creation of local symbols for
2924         Thumb2 based PLT 0-entry.
2925         (elf32_arm_output_arch_local_syms): Handle creation of local
2926         symbols for Thumb2 based PLT entries.
2927
2928 2014-02-28  Alan Modra  <amodra@gmail.com>
2929
2930         PR ld/16643
2931         * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
2932         the same conditions we called check_relocs.
2933
2934 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
2935
2936         * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
2937         * bfd-in2.h: Regenerate.
2938         * elf32-arm.c (elf32_arm_plt_entry_long): New array.
2939         (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
2940         using long PLT entries.
2941         (bfd_elf32_arm_use_long_plt): New function.
2942         (elf32_arm_populate_plt_entry): Add support for long PLT entries.
2943
2944 2014-02-27  Alan Modra  <amodra@gmail.com>
2945
2946         * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
2947         params for targets that don't use ppc32elf.em.
2948
2949 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
2950
2951         * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
2952         of GOTOFF relocations.
2953
2954 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
2955             H.J. Lu  <hongjiu.lu@intel.com>
2956
2957         * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
2958         (elf_x86_64_legacy_plt_entry): Likewise.
2959         (elf_x86_64_bnd_plt_entry): Likewise.
2960         (elf_x86_64_legacy_plt2_entry): Likewise.
2961         (elf_x86_64_bnd_plt2_entry): Likewise.
2962         (elf_x86_64_bnd_arch_bed): Likewise.
2963         (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
2964         (elf_x86_64_link_hash_table): Add plt_bnd.
2965         (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
2966         plt_bnd.
2967         (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
2968         (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
2969         in 64-bit mode.
2970         (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
2971         symbols.  Resolve call to the second PLT if it is created.
2972         (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
2973         (elf_x86_64_relocate_section): Resolve PLT references to the
2974         second PLT if it is created.
2975         (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
2976         second PLT entry for BND relocation.
2977         (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
2978         the second PLT is created.
2979         (elf_x86_64_get_synthetic_symtab): New.
2980         (bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
2981
2982 2014-02-19  Alan Modra  <amodra@gmail.com>
2983
2984         * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
2985         * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
2986         provision of out-of-line register save/restore routines.
2987
2988 2014-02-18  Jack Carter  <jack.carter@imgtec.com>
2989
2990         * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
2991         PT_DYNAMIC segment flags.
2992
2993 2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
2994
2995         PR binutils/16595
2996         * simple.c (struct saved_offsets): New.
2997         (simple_save_output_info): Use it for ptr.
2998         (simple_restore_output_info): Use it for ptr.  Check section_count.
2999         (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
3000
3001 2014-02-17  Alan Modra  <amodra@gmail.com>
3002
3003         * elf64-ppc.h (struct ppc64_elf_params): Define.
3004         (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
3005         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
3006         ppc64_elf_build_stubs): Update prototype.
3007         * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
3008         fields now in params.  Adjust code throughout file.
3009         (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
3010         Save params pointer in htab.
3011         (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
3012         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
3013         ppc64_elf_build_stubs): Remove parameters now in "params".
3014
3015 2014-02-17  Alan Modra  <amodra@gmail.com>
3016
3017         * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
3018         patched for ppc476 workaround.  Reapply branch taken/not taken
3019         relocs.
3020
3021 2014-02-12  Alan Modra  <amodra@gmail.com>
3022
3023         * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
3024         stubs for calls to __tls_get_addr that we know will later be
3025         optimised away.
3026
3027 2014-02-12  Alan Modra  <amodra@gmail.com>
3028
3029         * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
3030         for ld -r, when code sections are sufficiently aligned.
3031         * elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
3032         pagesize_p2.
3033
3034 2014-02-12  Alan Modra  <amodra@gmail.com>
3035
3036         PR gold/15530
3037         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
3038         --export-dynamic and --dynamic-list marking of symbols.
3039         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
3040         cheap tests first.
3041
3042 2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
3043
3044         PR gold/16530
3045         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
3046         executables if it matches dynamic_list.
3047
3048 2014-02-10  Alan Modra  <amodra@gmail.com>
3049
3050         * po/SRC-POTFILES.in: Regenerate.
3051         * po/bfd.pot: Regenerate.
3052
3053 2014-02-09  Alan Modra  <amodra@gmail.com>
3054
3055         * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
3056         * elfxx-target.h (elf_backend_caches_rawsize): Define.
3057         (elfNN_bed): Init new field.
3058         * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
3059         * elf32-ppc.c (shared_stub_entry): Zero addi offset.
3060         (ppc_elf_relax_section): Don't reallocate section here, write
3061         stubs, or write out relocs for ld -r here..
3062         (ppc_elf_relocate_section): ..instead write stubs here, and use
3063         existing code to write out relocs for ld -r.  Fix offset
3064         adjustment on reloc for little-endian.
3065         (elf_backend_caches_rawsize): Define.
3066
3067 2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3068
3069         PR build/16550
3070         * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
3071
3072 2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
3073
3074         * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
3075         return paths.  Three times.
3076         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
3077         return paths.
3078         (ppc64_elf_tls_optimize): Free TOC_REF in return path.
3079         (ppc64_elf_edit_toc): Free USED in return path.
3080
3081 2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
3082
3083         * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
3084         (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
3085         * libbfd.h: Regenerated.
3086         * bfd-in2.h: Regenerated.
3087         * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
3088         (nios2_reloc_map): Likewise.
3089         (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
3090         Fixed all references.
3091         (nios2_elf32_relocate_section): Add new relocations.
3092         (nios2_elf32_check_relocs): Likewise.
3093         (nios2_elf32_gc_sweep_hook): Likewise.
3094
3095 2014-02-03  Alan Modra  <amodra@gmail.com>
3096
3097         * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
3098         Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
3099         (ppc_elf_link_params): New function.
3100         (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
3101         workaround.
3102         (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
3103         parameters.  Use htab->params instead.
3104         (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
3105         (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
3106         64 bytes for ppc476 workaround.
3107         (struct ppc_elf_relax_info): New.
3108         (ppc_elf_relax_section): Exclude linker created sections and
3109         those too small to hold one instruction.  Don't add another
3110         branch around trampolines on later relax passes.  Don't
3111         generate trampolines for undefined symbols when !relocatable,
3112         nor for plugin symbols.  Allocate space for ppc476 workaround
3113         patch area.  Free fixups on error return path.
3114         (ppc_elf_relocate_section): Handle ppc476 workaround patching.
3115         * elf32-ppc.h (struct ppc_elf_params): New.
3116         (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
3117         (ppc_elf_link_params): Declare.
3118         * section.c (SEC_INFO_TYPE_TARGET): Define.
3119         * bfd-in2.h: Regenerate.
3120
3121 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
3122
3123         * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
3124         h_gp_got field.
3125         (nios2_elf32_relocate_section): Use got_base to adjust
3126         GOT-pointer-relative relocations relative to _gp_got.
3127         (create_got_section): Create _gp_got symbol.
3128         (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
3129         (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
3130
3131 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
3132
3133         * bfd-in2.h: Update from reloc.c.
3134         * elf32-nios2.c: Include elf32-nios2.h.
3135         (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
3136         (nios2_reloc_map): Likewise.
3137         (enum elf32_nios2_stub_type): Declare.
3138         (struct elf32_nios2_stub_hash_entry): Declare.
3139         (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
3140         (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
3141         (struct elf32_nios2_link_hash_table): Add new fields bstab,
3142         stub_bfd, add_stub_section, layout_sections_again, stub_group,
3143         bfd_count, top_index, input_list, all_local_syms.
3144         (nios2_call26_stub_entry): New.
3145         (nios2_elf32_install_imm16): Move up in file.
3146         (nios2_elf32_install_data): Move up in file.
3147         (hiadj): Move up in file.
3148         (stub_hash_newfunc): New.
3149         (link_hash_newfunc): Initialize hsh_cache field.
3150         (STUB_SUFFIX): New.
3151         (nios2_stub_name): New.
3152         (nios2_get_stub_entry): New.
3153         (nios2_add_stub): New.
3154         (nios2_elf32_setup_section_lists): New.
3155         (nios2_elf32_next_input_section): New.
3156         (CALL26_SEGMENT): New.
3157         (MAX_STUB_SECTION_SIZE): New.
3158         (group_sections): New.
3159         (nios2_type_of_stub): New.
3160         (nios2_build_one_stub): New.
3161         (nios2_size_one_stub): New.
3162         (get_local_syms): New.
3163         (nios2_elf32_size_stubs): New.
3164         (nios2_elf32_build_stubs): New.
3165         (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
3166         (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
3167         trampolines for R_NIOS2_CALL26 stubs.
3168         (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
3169         (nios2_elf32_gc_sweep_hook): Likewise.
3170         (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
3171         (nios2_elf32_link_hash_table_free): New.
3172         (bfd_elf32_bfd_link_hash_table_free): Define.
3173         * elf32-nios2.h: New file.
3174         * libbfd.h: Update from reloc.c.
3175         * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
3176
3177 2014-01-29  Nick Clifton  <nickc@redhat.com>
3178
3179         PR binutils/16318
3180         * elf32-metag.c (elf_metag_post_process_headers): Call
3181         _bfd_elf_post_process_headers.
3182         * elf32-sh64.c (sh64_elf_copy_private_data): Call
3183         _bfd_elf_copy_private_data.
3184         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
3185
3186 2014-01-29  Nick Clifton  <nickc@redhat.com>
3187
3188         * bfd-in.h (bfd_set_section_vma): Delete.
3189         (bfd_set_section_alignment): Delete.
3190         (bfd_set_section_userdata): Delete.
3191         (bfd_set_cacheable): Delete.
3192         * bfd.c (bfd_set_cacheable): New static inline function.
3193         * section.c (bfd_set_section_userdata): Likewise.
3194         (bfd_set_section_vma): Likewise.
3195         (bfd_set_section_alignment): Likewise.
3196         * bfd-in2.h: Regenerate.
3197
3198 2014-01-28  Nick Clifton  <nickc@redhat.com>
3199
3200         * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
3201         attributes select the CU containing the abbreviation, which may not
3202         be the current CU.
3203
3204 2014-01-24  Alan Modra  <amodra@gmail.com>
3205
3206         * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
3207         to get_relocs for ELFv2.
3208
3209 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
3210
3211         PR ld/16498
3212         * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
3213         if TLS sections are not adjacent.
3214
3215 2014-01-22  Alan Modra  <amodra@gmail.com>
3216
3217         * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
3218
3219 2014-01-22  Alan Modra  <amodra@gmail.com>
3220
3221         * elf64-ppc.c (STK_LINKER): Comment typo fix.
3222
3223 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
3224
3225         PR ld/16467
3226         * elflink.c (_bfd_elf_merge_symbol): When types of the existing
3227         regular default symbol definition and the versioned dynamic
3228         symbol definition mismatch, skip the default symbol definition
3229         if one of them is IFUNC.
3230
3231 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
3232
3233         PR ld/2404
3234         * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
3235         info->export_dynamic nor h->ref_dynamic for type mismatch when
3236         adding the default version.
3237
3238 2014-01-16  Alan Modra  <amodra@gmail.com>
3239
3240         * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
3241         mips_elf_traverse_got_arg* rather than mips_got_info*.
3242         Adjust caller.  Alloc on output_bfd rather than symbol section
3243         owner.
3244
3245 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
3246
3247         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
3248         change.
3249         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3250
3251 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3252
3253         PR ld/16428
3254         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
3255         against __ehdr_start.
3256         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3257
3258 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3259
3260         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
3261         change.
3262         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3263
3264 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3265
3266         PR ld/16428
3267         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
3268         count if there are any non pc-relative relocs.
3269         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3270
3271 2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
3272             Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
3273
3274         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
3275         offset while calculating relocation address.
3276         (elfNN_aarch64_create_small_pltn_entry): Likewise.
3277         (elfNN_aarch64_init_small_plt0_entry): Likewise.
3278
3279 2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
3280
3281         PR ld/16202
3282         * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
3283         R_ARM_ABS8 and R_ARM_ABS16.
3284
3285 2014-01-13  Alan Modra  <amodra@gmail.com>
3286
3287         * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
3288         error when shared and force a plt call otherwise.
3289         (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
3290         plt_type == PLT_NEW.
3291         (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
3292         the appropriate call stub.
3293
3294 2014-01-10  Alan Modra  <amodra@gmail.com>
3295
3296         PR ld/14207
3297         PR ld/16322
3298         PR binutils/16323
3299         * elf.c (assign_file_positions_for_load_sections): Revert last change.
3300         (assign_file_positions_for_non_load_sections): When setting up
3301         PT_GNU_RELRO header, don't require a corresponding PT_LOAD
3302         header that completely covers the relro region.
3303
3304 2014-01-09  Tristan Gingold  <gingold@adacore.com>
3305
3306         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
3307         table macros and add macros to initializa the structure.
3308
3309 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
3310
3311         PR ld/14207
3312         PR ld/16322
3313         PR binutils/16323
3314         * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
3315         size for PT_GNU_RELRO segment.
3316         (assign_file_positions_for_load_sections): If PT_LOAD segment
3317         doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
3318
3319 2014-01-07  Tom Tromey  <tromey@redhat.com>
3320
3321         * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
3322         wrappers.
3323
3324 2014-01-03  Nick Clifton  <nickc@redhat.com>
3325
3326         PR binutils/16199
3327         * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
3328         zero.
3329
3330 2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
3331
3332         PR binutils/14289
3333         * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
3334
3335 2014-01-02  Nick Clifton  <nickc@redhat.com>
3336
3337         PR binutils/11983
3338         * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
3339         filename in the bfd's filename field.
3340         * elfcode.h (bfd_from_remote_memory): Likewise.
3341         * ieee.c (ieee_object_p): Likewise.
3342         * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
3343         * oasys.c (oasys_openr_next_archived_file): Likewise.
3344         * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
3345         * opncls.c (bfd_fopen): Likewise.
3346         (bfd_openstreamr): Likewise.
3347         (bfd_openr_iovec): Likewise.
3348         (bfd_openw): Likewise.
3349         (bfd_create): Likewise.
3350         (_bfd_delete_bfd): Free filename.
3351
3352 For older changes see ChangeLog-2013
3353 \f
3354 Copyright (C) 2014 Free Software Foundation, Inc.
3355
3356 Copying and distribution of this file, with or without modification,
3357 are permitted in any medium without royalty provided the copyright
3358 notice and this notice are preserved.
3359
3360 Local Variables:
3361 mode: change-log
3362 left-margin: 8
3363 fill-column: 74
3364 version-control: never
3365 End: