c3283ea7ebc9f55016e693b7db57789a25c1de36
[external/binutils.git] / bfd / ChangeLog
1 2016-11-22  Alan Modra  <amodra@gmail.com>
2
3         * elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
4         input_bfd.  Replace occurrences of output_bfd as bfd_get_32 and
5         bfd_put_32 param with input_bfd.
6         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.  Also
7         ppc_elf_vle_split16 param.
8         (ppc_elf_vle_split16): Rename output_bfd param to input_bfd.
9
10 2016-11-21  Maciej W. Rozycki  <macro@imgtec.com>
11
12         * dwarf2.c (build_line_info_table): Rename `index' local
13         variable to `line_index'.
14         (build_lookup_funcinfo_table): Rename `index' local variable to
15         `func_index'.
16
17 2016-11-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
18
19         * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not
20         apply the negative GOT offset optimization in 64-bit code.
21
22 2016-11-18  James Clarke  <jrtc27@jrtc27.com>
23
24         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
25         R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
26         R_SPARC_GOT* for non-local references. Instead, treat them like
27         R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
28         immediate with the calculated relocation.
29
30 2016-11-18  Nick Clifton  <nickc@redhat.com>
31
32         PR ld/20675
33         * elf32-metag.c (elf_metag_relocate_section): Replace abort with
34         an informative error message.
35
36 2016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
37
38         PR ld/20789
39         * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
40         manipulation of diff value, and don't assume sym2 is less than sym1.
41         (elf32_avr_adjust_reloc_if_spans_insn): New function.
42         (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
43         and remove redundant did_pad.
44
45
46 2016-11-14  H.J. Lu  <hongjiu.lu@intel.com>
47
48         PR ld/20800
49         * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
50         plt_got.offset for R_X86_64_PLTOFF64.
51
52 2016-11-14  Nick Clifton  <nickc@redhat.com>
53
54         * coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall.
55
56 2016-11-11  Luke Allardyce  <lukeallardyce@gmail.com>
57
58         PR ld/20722
59         * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
60         but treat them as debugging symbols.
61
62 2016-11-10  Jiong Wang  <jiong.wang@arm.com>
63
64         PR target/20737
65         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
66         symbol locally in PIE.
67
68 2016-11-10  Nick Clifton  <nickc@redhat.com>
69
70         PR binutils/20801
71         * compress.c (bfd_get_full_section_contents): Provide a more
72         helpful error message when a section is too large to load.
73
74 2016-11-08  Pedro Alves  <palves@redhat.com>
75
76         * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
77         not "bfd boolean".
78
79 2016-11-08  Igor Tsimbalist  <tigor.tools@gmail.com>
80
81         * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
82         'number_of_functions' to keep lookup table and number of entries in
83         the table.
84         (line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
85         to keep lookup table and number of entries in the table.
86         (lookup_funcinfo): New structure for lookup table for function
87         references.
88         (build_line_info_table): New function to create and build the lookup
89         table for line information.
90         (lookup_address_in_line_info_table): Use the lookup table instead of
91         traverse a linked list.
92         (compare_lookup_funcinfos): New compare fuction used in sorting of
93         lookup table for function references.
94         (build_lookup_funcinfo_table): New function to create, build and
95         sort the lookup table for functions references.
96         (lookup_address_in_function_table): Use the table instead of
97         traverse a linked list.
98         (_bfd_dwarf2_cleanup_debug_info): Free memory from function references
99         lookup table.
100
101 2016-11-04  Nick Clifton  <nickc@redhat.com>
102
103         * targets.c (bfd_target_vector): Only add riscv_elf32_vec target
104         when supporting 64-bit BFD targets.
105
106 2016-11-03  Tristan Gingold  <gingold@adacore.com>
107
108         * config.bfd: Deprecate many old triplets.
109
110 2016-11-03  Nick Clifton  <nickc@redhat.com>
111
112         * po/da.po: Updated Danish translation.
113
114 2016-11-01  Maciej W. Rozycki  <macro@imgtec.com>
115
116         * reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
117         not fall through to the default case.
118
119 2016-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
120             Andrew Waterman <andrew@sifive.com>
121
122         Add support for RISC-V architecture.
123         * Makefile.am: Add entries for riscv32-elf and riscv64-elf.
124         * config.bdf: Likewise.
125         * configure.ac: Likewise.
126         * Makefile.in: Regenerate.
127         * configure: Regenerate.
128         * archures.c: Add bfd_riscv_arch.
129         * reloc.c: Add riscv relocs.
130         * targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
131         * bfd-in2.h: Regenerate.
132         * libbfd.h: Regenerate.
133         * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
134         * elfnn-riscv.c: New file.
135         * elfxx-riscv.c: New file.
136         * elfxx-riscv.h: New file.
137
138 2016-10-31  Alan Modra  <amodra@gmail.com>
139
140         PR 20748
141         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
142         2016-05-13 change.
143
144 2016-10-27  Andrew Burgess  <andrew.burgess@embecosm.com>
145
146         * cpu-arc.c (arc_get_mach): Delete.
147
148 2016-10-25  Maciej W. Rozycki  <macro@imgtec.com>
149
150         * elfxx-mips.c (STUB_JALR): Correct description.
151
152 2016-10-20  Nick Clifton  <nickc@redhat.com>
153
154         * po/gas.pot: Regenerate.
155
156 2016-10-19  Nick Clifton  <nickc@redhat.com>
157
158         * aout-adobe.c: Add missing c-format tags for translatable strings.
159         * aout-cris.c: Likewise.
160         * aoutx.h: Likewise.
161         * bfd.c: Likewise.
162         * binary.c: Likewise.
163         * cache.c: Likewise.
164         * coff-alpha.c: Likewise.
165         * coff-arm.c: Likewise.
166         * coff-i860.c: Likewise.
167         * coff-mcore.c: Likewise.
168         * coff-ppc.c: Likewise.
169         * coff-rs6000.c: Likewise.
170         * coff-sh.c: Likewise.
171         * coff-tic4x.c: Likewise.
172         * coff-tic54x.c: Likewise.
173         * coff-tic80.c: Likewise.
174         * coff64-rs6000.c: Likewise.
175         * coffcode.h: Likewise.
176         * coffgen.c: Likewise.
177         * cofflink.c: Likewise.
178         * coffswap.h: Likewise.
179         * cpu-arm.c: Likewise.
180         * dwarf2.c: Likewise.
181         * ecoff.c: Likewise.
182         * elf-attrs.c: Likewise.
183         * elf-eh-frame.c: Likewise.
184         * elf-ifunc.c: Likewise.
185         * elf-m10300.c: Likewise.
186         * elf-s390-common.c: Likewise.
187         * elf.c: Likewise.
188         * elf32-arc.c: Likewise.
189         * elf32-arm.c: Likewise.
190         * elf32-avr.c: Likewise.
191         * elf32-bfin.c: Likewise.
192         * elf32-cr16.c: Likewise.
193         * elf32-cr16c.c: Likewise.
194         * elf32-cris.c: Likewise.
195         * elf32-crx.c: Likewise.
196         * elf32-d10v.c: Likewise.
197         * elf32-d30v.c: Likewise.
198         * elf32-epiphany.c: Likewise.
199         * elf32-fr30.c: Likewise.
200         * elf32-frv.c: Likewise.
201         * elf32-gen.c: Likewise.
202         * elf32-hppa.c: Likewise.
203         * elf32-i370.c: Likewise.
204         * elf32-i386.c: Likewise.
205         * elf32-i960.c: Likewise.
206         * elf32-ip2k.c: Likewise.
207         * elf32-iq2000.c: Likewise.
208         * elf32-lm32.c: Likewise.
209         * elf32-m32c.c: Likewise.
210         * elf32-m32r.c: Likewise.
211         * elf32-m68hc11.c: Likewise.
212         * elf32-m68hc12.c: Likewise.
213         * elf32-m68hc1x.c: Likewise.
214         * elf32-m68k.c: Likewise.
215         * elf32-mcore.c: Likewise.
216         * elf32-mep.c: Likewise.
217         * elf32-metag.c: Likewise.
218         * elf32-microblaze.c: Likewise.
219         * elf32-moxie.c: Likewise.
220         * elf32-msp430.c: Likewise.
221         * elf32-mt.c: Likewise.
222         * elf32-nds32.c: Likewise.
223         * elf32-nios2.c: Likewise.
224         * elf32-or1k.c: Likewise.
225         * elf32-pj.c: Likewise.
226         * elf32-ppc.c: Likewise.
227         * elf32-rl78.c: Likewise.
228         * elf32-rx.c: Likewise.
229         * elf32-s390.c: Likewise.
230         * elf32-score.c: Likewise.
231         * elf32-score7.c: Likewise.
232         * elf32-sh-symbian.c: Likewise.
233         * elf32-sh.c: Likewise.
234         * elf32-sh64.c: Likewise.
235         * elf32-spu.c: Likewise.
236         * elf32-tic6x.c: Likewise.
237         * elf32-tilepro.c: Likewise.
238         * elf32-v850.c: Likewise.
239         * elf32-vax.c: Likewise.
240         * elf32-visium.c: Likewise.
241         * elf32-xgate.c: Likewise.
242         * elf32-xtensa.c: Likewise.
243         * elf64-alpha.c: Likewise.
244         * elf64-gen.c: Likewise.
245         * elf64-hppa.c: Likewise.
246         * elf64-ia64-vms.c: Likewise.
247         * elf64-mmix.c: Likewise.
248         * elf64-ppc.c: Likewise.
249         * elf64-s390.c: Likewise.
250         * elf64-sh64.c: Likewise.
251         * elf64-sparc.c: Likewise.
252         * elf64-x86-64.c: Likewise.
253         * elfcode.h: Likewise.
254         * elfcore.h: Likewise.
255         * elflink.c: Likewise.
256         * elfnn-aarch64.c: Likewise.
257         * elfnn-ia64.c: Likewise.
258         * elfxx-mips.c: Likewise.
259         * elfxx-sparc.c: Likewise.
260         * elfxx-tilegx.c: Likewise.
261         * ieee.c: Likewise.
262         * ihex.c: Likewise.
263         * libbfd.c: Likewise.
264         * linker.c: Likewise.
265         * m68klinux.c: Likewise.
266         * mach-o.c: Likewise.
267         * merge.c: Likewise.
268         * mmo.c: Likewise.
269         * oasys.c: Likewise.
270         * pdp11.c: Likewise.
271         * pe-mips.c: Likewise.
272         * peXXigen.c: Likewise.
273         * pei-x86_64.c: Likewise.
274         * peicode.h: Likewise.
275         * ppcboot.c: Likewise.
276         * reloc.c: Likewise.
277         * sparclinux.c: Likewise.
278         * srec.c: Likewise.
279         * stabs.c: Likewise.
280         * vms-alpha.c: Likewise.
281         * vms-lib.c: Likewise.
282         * xcofflink.c: Likewise.
283
284 2016-10-18  Nick Clifton  <nickc@redhat.com>
285
286         * po/da.po: Updated Danish translation.
287
288 2016-10-18  Maciej W. Rozycki  <macro@imgtec.com>
289
290         * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
291         from GCC.
292
293 2016-10-18  Maciej W. Rozycki  <macro@imgtec.com>
294
295         * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
296         variable to `reloc_index'.
297
298 2016-10-12  Alan Modra  <amodra@gmail.com>
299
300         * section.c (BFD_FAKE_SECTION): Reorder parameters.  Formatting.
301         (STD_SECTION): Adjust to suit.
302         * elf.c (_bfd_elf_large_com_section): Likewise.
303         * bfd-in2.h: Regenerate.
304
305 2016-10-11  Alan Modra  <amodra@gmail.com>
306
307         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
308         defined temporarily with bfd_und_section.
309         * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
310         * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
311         symbols with bfd_und_section.
312
313 2016-10-07  Alan Modra  <amodra@gmail.com>
314
315         * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
316         obfd param with struct bfd_link_info param.  Update all callers.
317         * linker.c (bfd_merge_private_bfd_data): Likewise.
318         (_bfd_generic_verify_endian_match): Likewise.
319         * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
320         * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
321         * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
322         * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
323         (_bfd_elf_merge_object_attributes): Likewise.
324         * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
325         * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
326         * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
327         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
328         (elf32_arm_merge_private_bfd_data): Likewise.
329         * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
330         * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
331         * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
332         * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
333         * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
334         * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
335         * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
336         * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
337         * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
338         * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
339         * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
340         * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
341         * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
342         * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
343         * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
344         (elf32_msp430_merge_private_bfd_data): Likewise.
345         * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
346         * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
347         * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
348         * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
349         * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
350         (ppc_elf_merge_obj_attributes): Likewise.
351         (ppc_elf_merge_private_bfd_data): Likewise.
352         * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
353         * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
354         * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
355         * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
356         (elf32_score_merge_private_bfd_data): Likewise.
357         * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
358         * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
359         * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
360         * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
361         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
362         * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
363         (elf32_tic6x_merge_private_bfd_data): Likewise.
364         * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
365         * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
366         * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
367         * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
368         * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
369         * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
370         * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
371         * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
372         * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
373         * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
374         * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
375         * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
376         (mips_elf_merge_obj_attributes): Likewise.
377         (_bfd_mips_elf_merge_private_bfd_data): Likewise.
378         * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
379         * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
380         * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
381         * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
382         * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
383         * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
384         * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
385         * bfd-in2.h: Regenerate.
386         * libbfd.h: Regenerate.
387
388 2016-10-07  Alan Modra  <amodra@gmail.com>
389
390         * Makefile.am (LIBBFD_H_FILES): Update.
391         * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
392         * cpu-sh.c (sh_merge_bfd_arch): Move to..
393         * elf32-sh.c: ..here, and make static.
394         * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
395         error.
396         * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
397         _bfd_generic_verify_endian_match.
398         * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
399         (bfd_elf32_bfd_merge_private_bfd_data): Define as
400         _bfd_generic_verify_endian_match.
401         * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
402         boolean == FALSE.
403         * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
404         (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
405         * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
406         * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
407         * libbfd.c (_bfd_generic_verify_endian_match): Move to..
408         * linker.c: ..here, and make internal.
409         * bfd.c (bfd_merge_private_bfd_data): Move to..
410         * linker.c: ..here.
411         * Makefile.in: Regenerate.
412         * doc/Makefile.in: Regenerate.
413         * bfd-in2.h: Regenerate.
414         * libbfd.h: Regenerate.
415
416 2016-10-06  Alan Modra  <amodra@gmail.com>
417
418         * coff-h8300.c: Spell fall through comments consistently.
419         * coffgen.c: Likewise.
420         * elf32-hppa.c: Likewise.
421         * elf32-ppc.c: Likewise.
422         * elf32-score.c: Likewise.
423         * elf32-score7.c: Likewise.
424         * elf64-ppc.c: Likewise.
425         * elfxx-aarch64.c: Likewise.
426         * elfxx-mips.c: Likewise.
427         * cpu-ns32k.c: Add missing fall through comments.
428         * elf-m10300.c: Likewise.
429         * elf32-arm.c: Likewise.
430         * elf32-avr.c: Likewise.
431         * elf32-bfin.c: Likewise.
432         * elf32-frv.c: Likewise.
433         * elf32-i386.c: Likewise.
434         * elf32-microblaze.c: Likewise.
435         * elf32-nds32.c: Likewise.
436         * elf32-ppc.c: Likewise.
437         * elf32-rl78.c: Likewise.
438         * elf32-rx.c: Likewise.
439         * elf32-s390.c: Likewise.
440         * elf32-sh.c: Likewise.
441         * elf32-tic6x.c: Likewise.
442         * elf64-ia64-vms.c: Likewise.
443         * elf64-ppc.c: Likewise.
444         * elf64-s390.c: Likewise.
445         * elf64-x86-64.c: Likewise.
446         * elflink.c: Likewise.
447         * elfnn-aarch64.c: Likewise.
448         * elfnn-ia64.c: Likewise.
449         * ieee.c: Likewise.
450         * oasys.c: Likewise.
451         * pdp11.c: Likewise.
452         * srec.c: Likewise.
453         * versados.c: Likewise.
454
455 2016-10-06  Alan Modra  <amodra@gmail.com>
456
457         * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
458         made 2015-01-08.
459         * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
460         * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
461
462 2016-10-06  Alan Modra  <amodra@gmail.com>
463
464         * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
465         OR in arithmetic expression, not boolean OR.
466
467 2016-09-30  Alan Modra  <amodra@gmail.com>
468
469         * Makefile.am (BFD_H_FILES): Add linker.c and simple.c.  Sort
470         as per comment at head of bfd-in2.h.
471         * Makefile.in: Regenerate.
472
473 2016-09-30  Alan Modra  <amodra@gmail.com>
474
475         * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
476         _bfd_error_handler (...) throughout.
477         * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
478         * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
479         * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
480         * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
481         * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
482         * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
483         * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
484         * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
485         * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
486         * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
487         * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
488         * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
489         * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
490         * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
491         * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
492         * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
493         * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
494         * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
495         * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
496         * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
497         * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
498         * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
499         * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
500         * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
501         * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
502         * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
503         * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
504         * xcofflink.c: Likewise.
505
506 2016-09-30  Alan Modra  <amodra@gmail.com>
507
508         * bfd-in.h: Include stdarg.h.
509         * bfd.c (bfd_error_handler_type): Make like vprintf.
510         (_bfd_error_internal): Rename from _bfd_error_handler.  Make static.
511         (error_handler_internal): New function, split out from..
512         (_bfd_default_error_handler): ..here.  Rename to _bfd_error_handler.
513         (bfd_set_error_handler): Update.
514         (bfd_get_error_handler, bfd_get_assert_handler): Delete.
515         (_bfd_assert_handler): Make static.
516         * coffgen.c (null_error_handler): Update params.
517         * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
518         Don't use bfd_error_handler_type.
519         * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
520         * elfxx-target.h (elf_backend_link_order_error_handler): Default
521         to _bfd_error_handler.
522         * libbfd-in.h (_bfd_default_error_handler): Don't declare.
523         (bfd_assert_handler_type): Likewise.
524         (_bfd_error_handler): Update.
525         * bfd-in2.h: Regenerate.
526         * libbfd.h: Regenerate.
527
528 2016-09-28  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
529
530         PR ld/20636
531         * elf-bfd.h (struct elf_backend_data): Delete
532         elf_backend_count_output_relocs callback and add
533         elf_backend_update_relocs.
534         * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
535         (emit_relocs): Deleted.
536         (elf32_arm_emit_relocs): Deleted.
537         (elf_backend_emit_relocs): Updated not to use the old functions.
538         (elf32_arm_update_relocs): New function.
539         (elf_backend_update_relocs): New define.
540         * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
541         relocation count. Call elf_backend_emit_relocs.
542         (_bfd_elf_size_reloc_section): Do not call
543         elf_backend_count_output_relocs.
544         * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
545         (elf_backend_update_relocs): New define.
546
547 2016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
548
549         PR ld/20608
550         * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
551         Thumb-ARM stub is too far.
552
553 2016-09-27  Nick Clifton  <nickc@redhat.com>
554
555         PR ld/20634
556         * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
557         timestamp field if real time values are not being stored.
558
559 2016-09-26  Vlad Zakharov  <vzakhar@synopsys.com>
560
561         * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
562         to verify CC_FOR_BUILD compiler.
563         (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
564         and add CC_FOR_BUILD compiler checks.
565         * Makefile.in: Regenerate.
566         * configure: Likewise.
567         * doc/Makefile.in: Likewise.
568
569 2016-09-26  Awson  <kyrab@mail.ru>
570
571         PR ld/17955
572         * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
573         for R_AMD64_PCRQUAD relocations.
574
575 2016-09-26  Alan Modra  <amodra@gmail.com>
576
577         * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
578         * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
579         (ppc_elf_merge_obj_attributes): Use it.  Don't copy first file
580         attributes, merge them.  Don't warn about undefined tag bits,
581         or copy unknown values to output.
582         * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
583         _bfd_elf_ppc_merge_fp_attributes.
584
585 2016-09-23  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
586
587         PR ld/20595
588         * elf-bfd.h (struct elf_backend_data): Add
589         elf_backend_count_output_relocs callback to count relocations in
590         the final output.
591         * elf-arm.c (elf32_arm_add_relocation): Deleted.
592         (elf32_arm_write_section): Move additional relocation to emit_relocs.
593         (elf32_arm_count_output_relocs): New function.
594         (emit_relocs): New function.
595         (elf32_arm_emit_relocs): New function.
596         (elf32_arm_vxworks_emit_relocs): New function.
597         (elf_backend_emit_relocs): Updated to use the new functions.
598         (elf_backend_count_output_relocs): New define.
599         * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
600         to the relocation count.
601         (_bfd_elf_link_size_reloc_section): Use callback to count the
602         relocations which will be in output.
603         (_bfd_elf_default_count_output_relocs): New function.
604         * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
605
606 2016-09-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
607
608         * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
609         negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
610         bigger than 0x1000 bytes.
611
612 2016-09-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
613
614         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
615         not already marked.
616
617 2016-09-14  Nick Clifton  <nickc@redhat.com>
618
619         PR binutils/20605
620         * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
621         contains a valid size for the Debug directory.
622
623 2016-09-14  Bhushan Attarde  <bhushan.attarde@imgtec.com>
624
625         * format.c (struct bfd_preserve): New "build_id" field.
626         (bfd_preserve_save): Save "build_id".
627         (bfd_preserve_restore): Restore "build_id".
628
629 2016-09-06  H.J. Lu  <hongjiu.lu@intel.com>
630
631         PR ld/20550
632         * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
633         relocation with copy relocation when building executable.
634
635 2016-09-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
636
637         PR ld/20545
638         * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
639         delete_shrinks_insn. Modify computation of shrinked_insn_address.
640         Compute shrink_boundary and adjust addend only if
641         addend_within_shrink_boundary.
642         (elf32_avr_relax_section): Modify calls to
643         elf32_avr_relax_delete_bytes to pass extra parameter.
644
645 2016-09-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
646
647         * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
648         array of bytes and use bfd_get_16 to interpret its encoding according
649         to endianness of target.
650
651 2016-09-01  Alan Modra  <amodra@gmail.com>
652
653         * elf64-ppc.c (synthetic_opd): New static var.
654         (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
655         (ppc64_elf_get_synthetic_symtab): Likewise.  Comment.
656
657 2016-08-31  Alan Modra  <amodra@gmail.com>
658
659         * elf64-ppc.c (group_sections): Delete stub14_group_size.  Instead,
660         track max group size with a new "group_size" var that is reduced
661         by a factor of 1024 from the 24-bit branch size whenever a 14-bit
662         branch is seen.
663
664 2016-08-31  Alan Modra  <amodra@gmail.com>
665
666         * elf32-ppc.c (ppc_elf_section_processing): Delete.
667         (elf_backend_section_processing): Don't define.
668         (ppc_elf_modify_segment_map): Set p_flags and mark valid.  Don't
669         split on non-exec sections differing in SHF_PPC_VLE.  When
670         splitting segments, mark size invalid.
671
672 2016-08-30  Alan Modra  <amodra@gmail.com>
673
674         PR 20531
675         * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
676
677 2016-08-29  H.J. Lu  <hongjiu.lu@intel.com>
678
679         PR ld/14961
680         PR ld/20515
681         * elf32-i386.c (elf_i386_check_relocs): Issue an error when
682         R_386_PC32 relocation is used to call IFUNC function in PIC
683         object.
684
685 2016-08-27  Alan Modra  <amodra@gmail.com>
686
687         PR 20520
688         * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
689         have corresponding SHF_GROUP sections.
690         (bfd_elf_set_group_contents): Comment.
691
692 2016-08-27  Alan Modra  <amodra@gmail.com>
693
694         PR 20519
695         * elf64-ppc.c (pc_dynrelocs): New function.
696         (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
697         handle pic dynamic relocs.
698
699 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
700
701         * bfd-in.h (struct elf32_arm_params): Define.
702         (bfd_elf32_arm_set_target_relocs): Rename into ...
703         (bfd_elf32_arm_set_target_params): This.  Use a struct
704         elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
705         * bfd-in2.h: Regenerate.
706         * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
707         (bfd_elf32_arm_set_target_params): This.  Pass all values via a struct
708         elf32_arm_params rather than as individual parameters.
709
710 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
711
712         * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
713         passed the end of htab->stub_group array.
714         (elf32_arm_create_or_find_stub_sec): Likewise.
715         (elf32_arm_create_stub): Likewise.
716
717 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
718
719         * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
720         to TRUE for GOT and TLS relocs.
721
722 2016-08-26  Cupertino Miranda  <cmiranda@synospsys.com>
723
724         * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
725
726 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
727
728         * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
729         * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
730         (struct elf_arc_link_hash_table): Likewise.
731         (elf_arc_link_hash_newfunc): Likewise.
732         (elf_arc_link_hash_table_free): Likewise.
733         (arc_elf_link_hash_table_create): Likewise.
734         (elf_arc_relocate_section): Fixed conditions related to dynamic
735         (elf_arc_check_relocs): Likewise.
736         (arc_elf_create_dynamic_sections): Added
737         (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
738         through the hash table.
739
740 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
741
742         * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
743         debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
744         relocation.
745
746 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
747
748         * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
749         relocation.
750         * bfd-in2.h: Regenerated from the previous changes.
751         * libbfd.h: Regenerated from the previous changes.
752
753 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
754
755         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
756         the input import library bfd.
757         * bfd-in2.h: Regenerate.
758         * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
759         and new_cmse_stub_offset fields.
760         (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
761         -1.
762         (elf32_arm_add_stub): Likewise for stub_offset.
763         (arm_new_stubs_start_offset_ptr): New function.
764         (arm_build_one_stub): Only allocate a stub_offset if it is -1.  Allow
765         empty SG veneers to have zero relocations.
766         (arm_size_one_stub): Only initialize stub size and template
767         information for non empty veneers.  Do not update veneer section size
768         if veneer already has an offset.
769         (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
770         of a boolean indicating success or failure.
771         (cmse_scan): Change stub_changed parameter into an integer pointer
772         parameter cmse_stub_created to count the number of stub created and
773         adapt to change of return value in elf32_arm_create_stub.
774         (cmse_entry_fct_p): New function.
775         (arm_list_new_cmse_stub): Likewise.
776         (set_cmse_veneer_addr_from_implib): Likewise.
777         (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
778         cmse_scan instead of that of cmse_stub_changed to compute the number
779         of stub created and use it to initialize stub_changed.  Call
780         set_cmse_veneer_addr_from_implib after all cmse_scan.  Adapt to change
781         of return value in elf32_arm_create_stub.  Use
782         arm_stub_section_start_offset () if not NULL to initialize size of
783         secure gateway veneers section.  Initialize stub_offset of Cortex-A8
784         erratum fix to -1.  Use ret to hold return value.
785         (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
786         NULL to initialize size of secure gateway veneers section.  Adapt
787         comment to stress the importance of zeroing veneer section content.
788         (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
789         initialize eponymous field in struct elf32_arm_link_hash_table.
790
791 2016-08-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
792
793         * elf32-s390.c (stdarg.h): New include.
794         (elf_s390_grok_psinfo): New function.
795         (elf_s390_write_core_note): New function.
796         (elf_backend_grok_psinfo): Declare backend hook.
797         (elf_backend_write_core_note): Likewise.
798         * elf64-s390.c (stdarg.h): New include.
799         (elf_s390_grok_prstatus): New function.
800         (elf_s390_grok_psinfo): New function.
801         (elf_s390_write_core_note): New function.
802         (elf_backend_grok_prstatus): Declare backend hook.
803         (elf_backend_grok_psinfo): Likewise.
804         (elf_backend_write_core_note): Likewise.
805
806 2016-08-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
807
808         * elf32-s390.c (allocate_dynrelocs): Fix indentation.
809         (elf_s390_finish_ifunc_symbol): Likewise.
810         (elf_s390_finish_dynamic_symbol): Likewise.
811         (elf_s390_finish_dynamic_sections): Likewise.
812         (elf_s390_grok_prstatus): Likewise.
813         * elf64-s390.c (elf_s390_hash_table): Fix indentation.
814         (elf_s390_finish_dynamic_symbol): Likewise.
815
816 2016-08-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>
817
818         * elf32-arc.c (elf32_arc_grok_prstatus): New function.
819
820 2016-08-23  Nick Clifton  <nickc@redhat.com>
821
822         * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
823         there is no arm data associated with the section.
824
825 2016-08-23  Alan Modra  <amodra@gmail.com>
826
827         PR 20475
828         * elf32-or1k.c (or1k_elf_relocate_section): Offset from
829         _GLOBAL_OFFSET_TABLE_, not start of .got section.
830
831 2016-08-22  Nick Clifton  <nickc@redhat.com>
832
833         * doc/chew.c (main): Free the string buffer used to files as they
834         are parsed.
835
836 2016-08-22  Alan Modra  <amodra@gmail.com>
837
838         * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
839         (ppc_elf_relocate_section): ..to here.  Comment.  Error on
840         detecting -mbss-plt -fPIC local ifuncs too.
841         (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
842         branch table entries.
843
844 2016-08-19  Nick Clifton  <nickc@redhat.com>
845
846         * elf.c (assign_section_numbers): Assign number for the .shstrtab
847         section after the symbol table and string table sections.
848
849 2016-08-19  Alan Modra  <amodra@gmail.com>
850
851         * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
852         (ppc64_elf_copy_indirect_symbol): Set weakref.  Don't merge
853         dyn_relocs for weakdefs.
854         (alias_readonly_dynrelocs): New function.
855         (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
856         (ppc64_elf_relocate_section): Simplify condition under which
857         dyn_relocs are emitted.
858
859 2016-08-19  Alan Modra  <amodra@gmail.com>
860
861         PR 20472
862         * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
863         (readonly_dynrelocs): Comment fix.
864         (global_entry_stub): New function.
865         (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test.  Match
866         ELFv2 code deciding on dynamic relocs vs. global entry stubs to
867         that in size_global_entry_stubs, handling ifunc too.  Delete dead
868         weak sym code.
869         (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
870         dyn_relocs are needed.  Correct handling of ifunc dyn_relocs.
871         Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
872         undefweak syms.  Expand and correct comments.
873         (size_global_entry_stubs): Ensure symbol is defined.
874         (ppc64_elf_relocate_section): Match condition under which
875         dyn_relocs are emitted to that in allocate_dynrelocs.
876
877 2016-08-12  Alan Modra  <amodra@gmail.com>
878
879         * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
880         * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
881         (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
882
883 2016-08-11  Alan Modra  <amodra@gmail.com>
884
885         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
886         non_got_ref true in any case where we could have generated dynbss
887         copies but decide not to do so.
888
889 2016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
890
891         * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
892         the stub address retrieved if associated with a microMIPS
893         function.
894
895 2016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
896
897         * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
898         stub also add STO_MICROMIPS annotation.
899
900 2016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
901
902         * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
903         in microMIPS LA25 stub references.
904
905 2016-08-09  Jiaming Wei  <jmwei@hxgpt.com>
906
907         * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
908         adjusting the use_count of merged .got entries.
909
910 2016-08-08  Nick Clifton  <nickc@redhat.com>
911
912         * doc/chew.c (delete_string): Only free the string buffer if it is
913         there.  Mark the buffer as NULL after freeing.
914         (drop): Free the dropped string.
915         (free_words): New function: Frees the memory allocated to the
916         dictionary.
917         (add_instrinsic): Duplicate the name string, so that it can be
918         freed later on.
919         (compile): Free unused words.
920         (main): Free the dictionary and top level string buffers at the
921         end.
922
923 2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
924
925         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
926         * bfd-in2.h: Regenerate.
927         * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
928         cmse_implib field.
929         (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
930         cmse_implib field in struct elf32_arm_link_hash_table.
931         (elf32_arm_filter_cmse_symbols): New function.
932         (elf32_arm_filter_implib_symbols): Likewise.
933         (elf_backend_filter_implib_symbols): Define to
934         elf32_arm_filter_implib_symbols.
935
936 2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
937
938         * elf32-arm.c (CMSE_PREFIX): Define macro.
939         (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
940         (cmse_branch_thumb_only): Declare stub.
941         (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
942         (elf32_arm_get_plt_info): Add globals parameter.  Use it to return
943         FALSE if there is no PLT.
944         (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
945         (elf32_arm_final_link_relocate): Likewise.
946         (elf32_arm_gc_sweep_hook): Likewise.
947         (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
948         secure entry functions.
949         (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
950         (arm_dedicated_stub_output_section_required): Change to a switch case
951         and add a case for arm_stub_cmse_branch_thumb_only.
952         (arm_dedicated_stub_output_section_required_alignment): Likewise.
953         (arm_stub_dedicated_output_section_name): Likewise.
954         (arm_stub_dedicated_input_section_ptr): Likewise and remove
955         ATTRIBUTE_UNUSED for htab parameter.
956         (arm_stub_required_alignment): Likewise.
957         (arm_stub_sym_claimed): Likewise.
958         (arm_dedicated_stub_section_padding): Likewise.
959         (cmse_scan): New function.
960         (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
961         Set stub_changed to TRUE if such veneers were created.
962         (elf32_arm_swap_symbol_in): Add detection code for CMSE special
963         symbols.
964
965 2016-08-02  Alan Modra  <amodra@gmail.com>
966
967         PR ld/20428
968         * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
969
970 2016-08-02  Nick Clifton  <nickc@redhat.com>
971
972         PR ld/17739
973         * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
974         (elf_backend_sweep_hook): Delete.
975
976 2016-08-01  Andrew Jenner  <andrew@codesourcery.com>
977         Kwok Cheung Yeung  <kcy@codesourcery.com>
978
979         * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
980         (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
981         (ppc_elf_vle_split16): Clear field before inserting.
982
983 2016-08-01  Nick Clifton  <nickc@redhat.com>
984
985         * po/sv.po: Updated Swedish translation.
986
987 2016-07-27  Ozkan Sezer  <sezeroz@gmail.com>
988             Nick Clifton  <nickc@redhat.com>
989
990         PR ld/20401
991         * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
992         of the coff_section_data before using it.
993
994 2016-07-26  Maciej W. Rozycki  <macro@imgtec.com>
995
996         * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
997         in PLT compression selection.
998         (_bfd_mips_elf_check_relocs): Likewise.
999
1000 2016-07-22  Cupertino Miranda  <cmiranda@synopsys.com>
1001
1002         * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
1003         case where there's no elf_link_hash_entry while processing
1004         GOT_NORMAL got entries.
1005
1006 2016-07-21  H.J. Lu  <hongjiu.lu@intel.com>
1007
1008         * version.m4 (BFD_VERSION): Set to 2.27.51.
1009         * configure: Regenerated.
1010
1011 2016-07-21  Nick Clifton  <nickc@redhat.com>
1012
1013         * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
1014         (swap_out_syms): Return an error when not finding ELF output
1015         section rather than asserting.
1016
1017 2016-07-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1018
1019         * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
1020
1021 2016-07-20  John Baldwin  <jhb@FreeBSD.org>
1022
1023         * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
1024         and handle pr_pid if present.
1025
1026 2016-07-20  H.J. Lu  <hongjiu.lu@intel.com>
1027
1028         PR ld/20376
1029         * elf.c (assign_file_positions_for_load_sections): Also check
1030         p_paddr for program header space.
1031
1032 2016-07-20  Alan Modra  <amodra@gmail.com>
1033
1034         * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
1035         ppc64_elf_unhandled_reloc for special_function.
1036         * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
1037
1038 2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
1039
1040         * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
1041         BAL to JALX.
1042         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
1043         corresponding error message.
1044
1045 2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
1046
1047         * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
1048         R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
1049         (branch_reloc_p): New function.
1050         (mips_elf_calculate_relocation): Handle ISA mode determination
1051         for relocations against section symbols, against absolute
1052         symbols and absolute relocations.  Also set `*cross_mode_jump_p'
1053         for branches.
1054         <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
1055         checks for weak undefined symbols.  Also check target alignment
1056         within the same ISA mode.
1057         <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
1058         in the alignment check.
1059         <R_MICROMIPS_PC7_S1>: Add an alignment check.
1060         <R_MICROMIPS_PC10_S1>: Likewise.
1061         <R_MICROMIPS_PC16_S1>: Likewise.
1062         (mips_elf_perform_relocation): Report a failure for unsupported
1063         same-mode JALX instructions and cross-mode branches.
1064         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
1065         error messages for jumps to misaligned addresses.
1066
1067 2016-07-16  Alan Modra  <amodra@gmail.com>
1068
1069         * elflink.c: Include plugin-api.h.
1070         * plugin.c (bfd_plugin_open_input): New function, extracted from..
1071         (try_claim): ..here.
1072         * plugin.h: Don't include bfd.h.
1073         (bfd_plugin_open_input): Declare.
1074
1075 2016-07-16  Alan Modra  <amodra@gmail.com>
1076
1077         * targets.c (bfd_seach_for_target): Rename to..
1078         (bfd_iterate_over_targets): ..this.  Rewrite doc.
1079         * bfd-in2.h: Regenerate.
1080
1081 2016-07-16  Alan Modra  <amodra@gmail.com>
1082
1083         * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
1084         * libbfd.h: Regenerate.
1085         * bfd-in2.h: Regenerate.
1086
1087 2016-07-16  Alan Modra  <amodra@gmail.com>
1088
1089         * libbfd-in.h (BFD_ALIGN): Move to..
1090         * bfd-in.h: ..here.
1091         * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
1092         * elf32-ppc.c (default_params): Adjust init.
1093         (ppc_elf_link_params): Set pagesize_p2.
1094         * libbfd.h: Regenerate.
1095         * bfd-in2.h: Regenerate.
1096
1097 2016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1098
1099         * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
1100         (_bfd_elf_filter_global_symbols): Declare.
1101         * elf.c (_bfd_elf_filter_global_symbols): New function.
1102         * elflink.c (elf_filter_global_symbols): Likewise.
1103         (elf_output_implib): Likewise.
1104         (bfd_elf_final_link): Call above function, failing if it does.
1105         * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
1106         default it to NULL.
1107         (elf_backend_copy_indirect_symbol): Fix spacing.
1108         (elf_backend_hide_symbol): Likewise.
1109         (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
1110
1111 2016-07-15  Andrew Burgess  <andrew.burgess@embecosm.com>
1112             Nick Clifton  <nickc@redhat.com>
1113
1114         * elf32-arc.c (PR_DEBUG): Delete.
1115         Fix printing of debug information.  Fix formatting of debug
1116         statements.
1117         (debug_arc_reloc): Handle symbols that are not from an input file.
1118         (arc_do_relocation): Remove excessive exclamation points.
1119
1120         * arc-got.h: Fix formatting.  Fix printing of debug information.
1121         (new_got_entry_to_list): Use xmalloc.
1122         * config.bfd: use the big-endian arc vector as the default vector
1123         for big-endian arc targets.
1124
1125 2016-07-15  Alan Modra  <amodra@gmail.com>
1126
1127         * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
1128         from marking sym_indices.
1129
1130 2016-07-14  Maciej W. Rozycki  <macro@imgtec.com>
1131
1132         * reloc.c (bfd_perform_relocation): Try the `howto' handler
1133         first with relocations against absolute symbols.
1134         (bfd_install_relocation): Likewise.
1135
1136 2016-07-12  H.J. Lu  <hongjiu.lu@intel.com>
1137
1138         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1139         .got/.got.plt sections to 8 bytes.
1140
1141 2016-07-12  Nick Clifton  <nickc@redhat.com>
1142
1143         * binary.c (binary_set_section_contents): Second grammar fix.
1144
1145 2016-07-12  Douglas B Rupp  <rupp@adacore.com>
1146
1147         * binary.c (binary_set_section_contents): Fix grammar in warning
1148         message.
1149
1150 2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
1151
1152         * elf32-arc.c: made PR_DEBUG always defined.
1153
1154 2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
1155
1156         * arc-got.h: Moved got related structures from elf32-arc.c to
1157         this file. More precisely, tls_type_e, tls_got_entries, got_entry.
1158         * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
1159         tls_type_for_reloc, symbol_has_entry_of_type,
1160         get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
1161         ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
1162         relocate_fix_got_relocs_for_got_info,
1163         create_got_dynrelocs_for_single_entry,
1164         create_got_dynrelocs_for_got_info): Added to file.
1165         * elf32-arc.c: Removed GOT & TLS related structs and functions to
1166         arc-got.h.
1167
1168 2016-07-08  James Bowman  <james.bowman@ftdichip.com>
1169
1170         * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
1171
1172 2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
1173
1174         * elf32-arm.c (THUMB32_MOVT): New veneer macro.
1175         (THUMB32_MOVW): Likewise.
1176         (elf32_arm_stub_long_branch_thumb2_only_pure): New.
1177         (DEF_STUBS): Define long_branch_thumb2_only_pure.
1178         (arm_stub_is_thumb): Add new veneer stub.
1179         (arm_type_of_stub): Use new veneer.
1180         (arm_stub_required_alignment): Add new veneer.
1181
1182 2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
1183
1184         * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
1185         (SEC_ELF_PURECODE): ... this.
1186         * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
1187         to SEC_ELF_NOREAD.
1188         (elf32_arm_fake_sections): Likewise.
1189         (elf_32_arm_section_flags): Likewise.
1190         (elf_32_arm_lookup_section_flags): Likewise.
1191         * section.c (SEC_ELF_NOREAD): Rename to ...
1192         (SEC_ELF_PURECODE): ... this.
1193
1194 2016-07-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1195
1196         * elf32-arm.c (using_thumb2_bl): New function.
1197         (arm_type_of_stub): Declare thumb2 variable together and change type
1198         to bfd_boolean.  Use using_thumb2_bl () to determine whether
1199         THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
1200         checked for BL range.
1201         (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
1202         the bit size of BL offset.
1203
1204 2016-06-29  Nick Clifton  <nickc@redhat.com>
1205
1206         * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
1207         Returns TRUE for AArch64 mapping symbols.
1208         (elfNN_aarch64_backend_symbol_processing): New function.  Marks
1209         mapping symbols as precious in object files so that they will not
1210         be stripped.
1211         (elf_backend_symbol_processing): Define.
1212
1213         * elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
1214         for ARM mapping symbols.
1215         (elf32_arm_backend_symbol_processing): Make use of the new function.
1216
1217 2016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
1218
1219         PR ld/20306
1220         * elflink.c (elf_link_check_versioned_symbol): Return false
1221         for unreferenced undefined symbol.
1222
1223 2016-06-28  Nick Clifton  <nickc@redhat.com>
1224
1225         * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
1226         is needed.
1227
1228         * elf32-arm.c (elf32_arm_backend_symbol_processing): New
1229         function.  Marks mapping symbols in object files as precious, so
1230         that strip will not remove them.
1231         (elf_backend_symbol_processing): Define.
1232
1233 2016-06-28  James Clarke  <jrtc27@jrtc27.com>
1234
1235         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
1236         R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
1237
1238 2016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
1239
1240         * elf32-mips.c (elf_mips16_howto_table_rel): Add
1241         R_MIPS16_PC16_S1.
1242         (mips16_reloc_map): Likewise.
1243         * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
1244         (mips16_elf64_howto_table_rela): Likewise.
1245         (mips16_reloc_map): Likewise.
1246         * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
1247         (elf_mips16_howto_table_rela): Likewise.
1248         (mips16_reloc_map): Likewise.
1249         * elfxx-mips.c (mips16_branch_reloc_p): New function.
1250         (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
1251         (b_reloc_p): Likewise.
1252         (mips_elf_calculate_relocation): Likewise.
1253         (_bfd_mips_elf_check_relocs): Likewise.
1254         * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
1255         * bfd-in2.h: Regenerate.
1256         * libbfd.h: Regenerate.
1257
1258 2016-06-27  Alan Modra  <amodra@gmail.com>
1259
1260         PR ld/19264
1261         * elf64-ppc.c (STUB_SHRINK_ITER): Define.
1262         (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
1263         if shrinking stubs.
1264         (ppc64_elf_size_stubs): Adjust to suit.
1265
1266 2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1267
1268         * elf32-dlx.h: New file.
1269         * elf32-dlx.c: Adjust.
1270
1271 2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1272
1273         * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
1274
1275 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
1276
1277         * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
1278         notes.
1279
1280 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
1281
1282         * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
1283         FreeBSD.  Remove case for NT_FREEBSD_THRMISC.
1284         (elfcore_grok_freebsd_psinfo): New function.
1285         (elfcore_grok_freebsd_prstatus): New function.
1286         (elfcore_grok_freebsd_note): New function.
1287         (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
1288         notes.
1289
1290 2016-06-24  Joel Brobecker  <brobecker@adacore.com>
1291
1292         * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
1293         than its existance.
1294
1295 2016-06-24  Alan Modra  <amodra@gmail.com>
1296
1297         * config.bfd: Delete mips vxworks patterns matched earlier.
1298         Combine mips*-*-none with mips*-*-elf*.
1299
1300 2016-06-21  Maciej W. Rozycki  <macro@imgtec.com>
1301
1302         * elfxx-mips.c (mips_elf_perform_relocation): Call
1303         `info->callbacks->einfo' rather than `*_bfd_error_handler' and
1304         use the `%X%H' format for the cross-mode jump conversion error
1305         message.  Remove the full stop from the end of the message.
1306         Continue processing rather than returning failure.
1307
1308 2016-06-21  Graham Markall  <graham.markall@embecosm.com>
1309
1310         * archures.c: Remove bfd_mach_arc_nps400.
1311         * bfd-in2.h: Likewise.
1312         * cpu-arc.c (arch_info_struct): Likewise.
1313         * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
1314         Likewise.
1315
1316 2016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
1317
1318         PR ld/18250
1319         PR ld/20267
1320         * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
1321         defined.
1322         (elf_link_is_defined_archive_symbol): Call
1323         bfd_link_plugin_object_p on unknown plugin object and use the
1324         IR symbol table if the input is an IR object.
1325         * plugin.c (bfd_link_plugin_object_p): New function.
1326         * plugin.h (bfd_link_plugin_object_p): New prototype.
1327
1328 2016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
1329
1330         PR ld/20276
1331         * elflink.c (elf_link_add_object_symbols): Don't check alignment
1332         on symbol from plugin dummy input.
1333
1334 2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
1335
1336         * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
1337         bfd_plugin_unknown.
1338         * bfd-in2.h: Regenerated.
1339         * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
1340         with bfd_plugin_unknown.
1341
1342 2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
1343
1344         PR ld/20253
1345         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
1346         bfd_boolean argument.
1347         * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
1348         "shared object" with "PIC object" in comments.
1349         (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
1350         "shared object" with "PIC object" in comments.  Avoid PLT if
1351         requested.  Generate dynamic relocations for non-GOT references.
1352         Make room for the special first entry in PLT and allocate PLT
1353         entry only for PLT and PC-relative references.  Store dynamic
1354         GOT relocations in .rel[a].iplt section for static executables.
1355         If PLT isn't used, always use GOT for symbol value.  Don't
1356         allocate GOT entry if it isn't used.
1357         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1358         count only in the code section.  Allocate dynamic pointer
1359         relocation against STT_GNU_IFUNC symbol in the non-code section.
1360         (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
1361         only for PC-relative references.
1362         (elf_i386_allocate_dynrelocs): Pass TRUE to
1363         _bfd_elf_allocate_ifunc_dyn_relocs.
1364         (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
1365         relocations against STT_GNU_IFUNC symbols without PLT.  Generate
1366         dynamic pointer relocation against STT_GNU_IFUNC symbol in
1367         the non-code section and store it in the proper REL section.
1368         Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
1369         without PLT.
1370         (elf_i386_finish_dynamic_symbol): Generate dynamic
1371         R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
1372         STT_GNU_IFUNC symbols without PLT.
1373         (elf_i386_finish_dynamic_sections): Don't handle local
1374         STT_GNU_IFUNC symbols here.
1375         (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
1376         symbols here.
1377         (elf_backend_output_arch_local_syms): New.
1378         * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
1379         count only in the code section.  Allocate dynamic pointer
1380         relocation against STT_GNU_IFUNC symbol in the non-code section.
1381         (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
1382         count only for PC-relative references.
1383         (elf_x86_64_allocate_dynrelocs): Pass TRUE to
1384         _bfd_elf_allocate_ifunc_dyn_relocs.
1385         (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
1386         R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
1387         R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
1388         without PLT.  Generate dynamic pointer relocation against
1389         STT_GNU_IFUNC symbol in the non-code section and store it in
1390         the proper RELA section.  Don't allow non-pointer relocation
1391         against STT_GNU_IFUNC symbol without PLT.
1392         (elf_x86_64_finish_dynamic_symbol): Generate dynamic
1393         R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
1394         STT_GNU_IFUNC symbols without PLT.
1395         (elf_x86_64_finish_dynamic_sections): Don't handle local
1396         STT_GNU_IFUNC symbols here.
1397         (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
1398         symbols here.
1399         (elf_backend_output_arch_local_syms): New.
1400         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1401         Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
1402
1403 2016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1404             Tony Wang  <tony.wang@arm.com>
1405
1406         * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
1407         sequence.
1408         (stub_long_branch_thumb2_only): Define stub.
1409         (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
1410         (arm_stub_long_branch_thumb2_only): Likewise.
1411         (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
1412         capable targets.
1413
1414 2016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
1415
1416         * archures.c (bfd_mach_sparc_v8plusc): Define.
1417         (bfd_mach_sparc_v9c): Likewise.
1418         (bfd_mach_sparc_v8plusd): Likewise.
1419         (bfd_mach_sparc_v9d): Likewise.
1420         (bfd_mach_sparc_v8pluse): Likewise.
1421         (bfd_mach_sparc_v9e): Likewise.
1422         (bfd_mach_sparc_v8plusv): Likewise
1423         (bfd_mach_sparc_v9v): Likewise.
1424         (bfd_mach_sparc_v8plusm): Likewise.
1425         (bfd_mach_sparc_v9m): Likewise.
1426         (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
1427         (bfd_mach_sparc_64bit_p): Likewise.
1428         * bfd-in2.h: Regenerate.
1429         * cpu-sparc.c (arch_info_struct): Add entries for
1430         bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
1431         * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
1432         and bfd_mach_sparc_v9{c,d,e,v,m}.
1433         * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
1434         * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
1435
1436 2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
1437
1438         * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
1439         symbols for relocations against IFUNC symbols.
1440         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1441
1442 2016-06-16  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
1443
1444         * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
1445         .rela.iplt in DT_PLTRELSZ.
1446         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
1447         for DT_PLTRELSZ and DT_RELASZ as well.
1448
1449 2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
1450
1451         * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
1452         non-loaded, non-alloced sections.
1453         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1454
1455 2016-06-15  H.J. Lu  <hongjiu.lu@intel.com>
1456
1457         * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
1458         allocating dynamic relocation.
1459         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1460
1461 2016-06-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1462
1463         PR ld/20254
1464         * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
1465         offsets until reloc_toaddr.
1466
1467 2016-06-14  H.J. Lu  <hongjiu.lu@intel.com>
1468
1469         * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
1470         Don't check symbol type for STN_UNDEF symbol index.
1471         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
1472         R_X86_64_IRELATIVE.  Don't check symbol type for STN_UNDEF symbol
1473         index.
1474
1475 2016-06-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1476
1477         * elf32-arm.c (using_thumb_only): Force review of arch check logic for
1478         new architecture.
1479         (using_thumb2): Try Tag_THUMB_ISA_use first and check
1480         for exact arch value then.  Force review of arch check logic for new
1481         architecture.
1482         (arch_has_arm_nop): Update and fix arch check logic.  Force review of
1483         that logic for new architecture.
1484         (arch_has_thumb2_nop): Remove.
1485         (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
1486         (elf32_arm_final_link_relocate): Likewise but using thumb2.
1487
1488 2016-06-14  Alan Modra  <amodra@gmail.com>
1489
1490         * bfd-in.h (bfd_my_archive): Delete.
1491         * bfd-in2.h: Regenerate.
1492
1493 2016-06-14  Alan Modra  <amodra@gmail.com>
1494
1495         PR ld/20241
1496         * archive.c (open_nested_file): Set my_archive.
1497         * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
1498         for thin archives.
1499         * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
1500         (bfd_seek): Likewise.
1501         * bfdwin.c (bfd_get_file_window): Likewise.
1502         * cache.c (cache_bmmap): Likewise.
1503         (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
1504         * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
1505         thin archives.
1506         * plugin.c (try_claim): Likewise.
1507         * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
1508         file within thin archive, not the archive.
1509
1510 2016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
1511
1512         PR ld/20244
1513         * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
1514         section address for R_386_GOT32/R_386_GOT32X relocations against
1515         IFUNC symbols if there is no base register and return error for
1516         PIC.
1517
1518 2016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
1519
1520         * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
1521         GOT32 adjustment for static executables.
1522
1523 2016-06-13  Maciej W. Rozycki  <macro@imgtec.com>
1524
1525         * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
1526
1527 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
1528
1529         * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
1530
1531 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
1532
1533         * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
1534
1535 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
1536
1537         * elf32-arc.c (arc_local_data, arc_local_data): Removed.
1538         (SECTSTART): Changed.
1539         (elf_arc_relocate_section): Fixed mistake in PIE related
1540         condition.
1541         (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
1542
1543 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
1544
1545         * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
1546         enable support for "-z combreloc" and DT_RELACOUNT.
1547         (elf_backend_reloc_type_class): Likewise
1548
1549 2016-06-11  H.J. Lu  <hongjiu.lu@intel.com>
1550
1551         PR ld/20244
1552         * elf32-i386.c (elf_i386_relocate_section): When relocating
1553         R_386_GOT32, return error without a base register for PIC and
1554         subtract the .got.plt section address only with a base register.
1555
1556 2016-06-10  Alan Modra  <amodra@gmail.com>
1557
1558         * elf-strtab.c (struct strtab_save): Use size_t for "size".
1559         (struct elf_strtab_hash): Likewise for "size" and "alloced".
1560         (_bfd_elf_strtab_init): Formatting.
1561         (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
1562         (_bfd_elf_strtab_addref): Take size_t idx param.
1563         (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
1564         (_bfd_elf_strtab_offset): Likewise.
1565         (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
1566         (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
1567         (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
1568         (_bfd_elf_strtab_finalize): Similarly.
1569         * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
1570         (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
1571         (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
1572         * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
1573         using bfd_size_type.
1574         (bfd_section_from_shdr): Delete amt.
1575         (_bfd_elf_init_reloc_shdr): Likewise.
1576         (_bfd_elf_link_assign_sym_version): Likewise.
1577         (assign_section_numbers): Use size_t reloc_count.
1578         * elflink.c (struct elf_symbuf_head): Use size_t "count".
1579         (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
1580         (elf_link_is_defined_archive_symbol): Likewise.
1581         (elf_add_dt_needed_tag): Likewise.
1582         (elf_finalize_dynstr): Likewise.
1583         (elf_link_add_object_symbols): Likewise.
1584         (bfd_elf_size_dynamic_sections): Likewise.
1585         (elf_create_symbuf): Similarly.
1586         (bfd_elf_match_symbols_in_sections): Likewise.
1587         (elf_link_swap_symbols_out): Likewise.
1588         (elf_link_check_versioned_symbol): Likewise.
1589         (bfd_elf_gc_record_vtinherit): Likewise.
1590         (bfd_elf_gc_common_finalize_got_offsets): Likewise.
1591
1592 2016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1593
1594         PR ld/20221
1595         * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
1596         and relocs only if shrinking occurred.
1597
1598 2016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1599
1600         * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
1601         (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
1602         (elf_i386_check_tls_transition): Check indirect call and direct
1603         call with the addr32 prefix for general and local dynamic models.
1604         Set the tls_get_addr feild.
1605         (elf_i386_convert_load_reloc): Always use addr32 prefix for
1606         indirect ___tls_get_addr call via GOT.
1607         (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
1608         transitions with indirect call and direct call with the addr32
1609         prefix.
1610
1611 2016-06-07  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
1612
1613         * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
1614         * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
1615         (elf_s390_relocate_section): Fix comment.
1616         (elf_s390_finish_dynamic_sections): Fix initialization of fixed
1617         .got.plt entries.
1618
1619 2016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
1620
1621         * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
1622         section offset when calculation the larl operand in the first PLT
1623         entry.
1624
1625 2016-06-07  Alan Modra  <amodra@gmail.com>
1626
1627         * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
1628         to match other 32-bit archs.
1629         * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
1630         (ppc_elf_object_p): Call it.
1631         (ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
1632         overlong line.
1633         (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
1634         * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
1635         * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
1636         _bfd_elf_ppc_at_tprel_transform): Move to..
1637         * elf-bfd.h: ..here.
1638         (_bfd_elf_ppc_set_arch): Declare.
1639         * bfd-in2.h: Regenerate.
1640
1641 2016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
1642
1643         * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
1644         (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
1645         (elf_x86_64_check_tls_transition): Check indirect call and
1646         direct call with the addr32 prefix for general and local dynamic
1647         models.  Set the tls_get_addr feild.
1648         (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
1649         indirect __tls_get_addr call via GOT.
1650         (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
1651         transitions with indirect call and direct call with the addr32
1652         prefix.
1653
1654 2016-06-04  Christian Groessler  <chris@groessler.org>
1655
1656         * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
1657
1658 2016-06-02  Nick Clifton  <nickc@redhat.com>
1659
1660         PR target/20088
1661         * cpu-arm.c (processors): Add "arm_any" type to match any ARM
1662         architecture.
1663         (arch_info_struct): Likewise.
1664         (architectures): Likewise.
1665
1666 2016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
1667
1668         * config.bfd: Replace -uclibc with *.
1669
1670 2016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
1671
1672         * elf64-x86-64.c: Replace data32 with data16 in comments.
1673
1674 2016-05-31  Alan Modra  <amodra@gmail.com>
1675
1676         PR ld/20159
1677         PR ld/16467
1678         * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
1679         (_bfd_elf_add_default_symbol): Don't indirect to/from defined
1680         symbol given a version by a script different to the version
1681         of the symbol being added.
1682         (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
1683         _bfd_elf_strtab_restore.  Don't fudge dynstr references.
1684         * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
1685         (struct strtab_save): New.
1686         (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
1687         * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
1688         (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
1689
1690 2016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1691
1692         * elf32-hppa.h: Add extern "C".
1693         * elf32-nds32.h: Likewise.
1694         * elf32-tic6x.h: Likewise.
1695
1696 2016-06-01  Nick Clifton  <nickc@redhat.com>
1697
1698         * po/sr.po: New Serbian translation.
1699         * configure.ac (ALL_LINGUAS): Add sr.
1700         * configure: Regenerate.
1701
1702 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
1703
1704         * elfxx-mips.c (b_reloc_p): New function.
1705         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
1706         branch relocations.
1707
1708 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
1709
1710         * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
1711         <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
1712         reloc location from calculation, treat the addend as signed with
1713         local non-section symbols and enable overflow detection.
1714
1715 2016-05-28  Alan Modra  <amodra@gmail.com>
1716
1717         * aoutx.h: Adjust linker callback calls throughout file,
1718         removing dead code.
1719         * bout.c: Likewise.
1720         * coff-alpha.c: Likewise.
1721         * coff-arm.c: Likewise.
1722         * coff-h8300.c: Likewise.
1723         * coff-h8500.c: Likewise.
1724         * coff-i960.c: Likewise.
1725         * coff-mcore.c: Likewise.
1726         * coff-mips.c: Likewise.
1727         * coff-ppc.c: Likewise.
1728         * coff-rs6000.c: Likewise.
1729         * coff-sh.c: Likewise.
1730         * coff-tic80.c: Likewise.
1731         * coff-w65.c: Likewise.
1732         * coff-z80.c: Likewise.
1733         * coff-z8k.c: Likewise.
1734         * coff64-rs6000.c: Likewise.
1735         * cofflink.c: Likewise.
1736         * ecoff.c: Likewise.
1737         * elf-bfd.h: Likewise.
1738         * elf-m10200.c: Likewise.
1739         * elf-m10300.c: Likewise.
1740         * elf32-arc.c: Likewise.
1741         * elf32-arm.c: Likewise.
1742         * elf32-avr.c: Likewise.
1743         * elf32-bfin.c: Likewise.
1744         * elf32-cr16.c: Likewise.
1745         * elf32-cr16c.c: Likewise.
1746         * elf32-cris.c: Likewise.
1747         * elf32-crx.c: Likewise.
1748         * elf32-d10v.c: Likewise.
1749         * elf32-epiphany.c: Likewise.
1750         * elf32-fr30.c: Likewise.
1751         * elf32-frv.c: Likewise.
1752         * elf32-ft32.c: Likewise.
1753         * elf32-h8300.c: Likewise.
1754         * elf32-hppa.c: Likewise.
1755         * elf32-i370.c: Likewise.
1756         * elf32-i386.c: Likewise.
1757         * elf32-i860.c: Likewise.
1758         * elf32-ip2k.c: Likewise.
1759         * elf32-iq2000.c: Likewise.
1760         * elf32-lm32.c: Likewise.
1761         * elf32-m32c.c: Likewise.
1762         * elf32-m32r.c: Likewise.
1763         * elf32-m68hc1x.c: Likewise.
1764         * elf32-m68k.c: Likewise.
1765         * elf32-mep.c: Likewise.
1766         * elf32-metag.c: Likewise.
1767         * elf32-microblaze.c: Likewise.
1768         * elf32-moxie.c: Likewise.
1769         * elf32-msp430.c: Likewise.
1770         * elf32-mt.c: Likewise.
1771         * elf32-nds32.c: Likewise.
1772         * elf32-nios2.c: Likewise.
1773         * elf32-or1k.c: Likewise.
1774         * elf32-ppc.c: Likewise.
1775         * elf32-s390.c: Likewise.
1776         * elf32-score.c: Likewise.
1777         * elf32-score7.c: Likewise.
1778         * elf32-sh.c: Likewise.
1779         * elf32-sh64.c: Likewise.
1780         * elf32-spu.c: Likewise.
1781         * elf32-tic6x.c: Likewise.
1782         * elf32-tilepro.c: Likewise.
1783         * elf32-v850.c: Likewise.
1784         * elf32-vax.c: Likewise.
1785         * elf32-visium.c: Likewise.
1786         * elf32-xstormy16.c: Likewise.
1787         * elf32-xtensa.c: Likewise.
1788         * elf64-alpha.c: Likewise.
1789         * elf64-hppa.c: Likewise.
1790         * elf64-ia64-vms.c: Likewise.
1791         * elf64-mmix.c: Likewise.
1792         * elf64-ppc.c: Likewise.
1793         * elf64-s390.c: Likewise.
1794         * elf64-sh64.c: Likewise.
1795         * elf64-x86-64.c: Likewise.
1796         * elflink.c: Likewise.
1797         * elfnn-aarch64.c: Likewise.
1798         * elfnn-ia64.c: Likewise.
1799         * elfxx-mips.c: Likewise.
1800         * elfxx-sparc.c: Likewise.
1801         * elfxx-tilegx.c: Likewise.
1802         * linker.c: Likewise.
1803         * pdp11.c: Likewise.
1804         * pe-mips.c: Likewise.
1805         * reloc.c: Likewise.
1806         * reloc16.c: Likewise.
1807         * simple.c: Likewise.
1808         * vms-alpha.c: Likewise.
1809         * xcofflink.c: Likewise.
1810         * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
1811         status param.  Adjust calls to these and linker callbacks throughout.
1812         * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
1813         get_ramstart): Delete status param.  Adjust calls to these and
1814         linker callbacks throughout.
1815
1816 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
1817
1818         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
1819         <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
1820         target alignment verification.
1821
1822 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
1823
1824         * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
1825         section name if `bfd_elf_string_from_elf_section' returns an
1826         empty string.
1827
1828 2016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
1829
1830         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1831         <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
1832         for message.  Continue processing rather than returning failure.
1833
1834 2016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
1835
1836         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1837         <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
1838         Call `bfd_set_error'.
1839
1840 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1841
1842         PR binutils/14625
1843         * archive.c (bfd_slurp_armap): Replace
1844         bfd_elf64_archive_slurp_armap with
1845         _bfd_archive_64_bit_slurp_armap.
1846         (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
1847         BFD64 is defined and the archive is too big.
1848         (coff_write_armap): Likewise.
1849         * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
1850         (_bfd_archive_64_bit_slurp_armap): This.
1851         (bfd_elf64_archive_write_armap): Renamed to ...
1852         (_bfd_archive_64_bit_write_armap): This.
1853         * configure.ac: Add --enable-64-bit-archive.
1854         (want_64_bit_archive): New.  Set to true by default for 64-bit
1855         MIPS and s390 ELF targets.
1856         (USE_64_BIT_ARCHIVE): New AC_DEFINE.
1857         * config.in: Regenerated.
1858         * configure: Likewise.
1859         * elf64-mips.c (bfd_elf64_archive_functions): Removed.
1860         (bfd_elf64_archive_slurp_armap): Likewise.
1861         (bfd_elf64_archive_write_armap): Likewise.
1862         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1863         (bfd_elf64_archive_construct_extended_name_table): Likewise.
1864         (bfd_elf64_archive_truncate_arname): Likewise.
1865         (bfd_elf64_archive_read_ar_hdr): Likewise.
1866         (bfd_elf64_archive_write_ar_hdr): Likewise.
1867         (bfd_elf64_archive_openr_next_archived_file): Likewise.
1868         (bfd_elf64_archive_get_elt_at_index): Likewise.
1869         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1870         (bfd_elf64_archive_update_armap_timestamp): Likewise.
1871         * elf64-s390.c (bfd_elf64_archive_functions): Removed.
1872         (bfd_elf64_archive_slurp_armap): Likewise.
1873         (bfd_elf64_archive_write_armap): Likewise.
1874         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1875         (bfd_elf64_archive_construct_extended_name_table): Likewise.
1876         (bfd_elf64_archive_truncate_arname): Likewise.
1877         (bfd_elf64_archive_read_ar_hdr): Likewise.
1878         (bfd_elf64_archive_write_ar_hdr): Likewise.
1879         (bfd_elf64_archive_openr_next_archived_file): Likewise.
1880         (bfd_elf64_archive_get_elt_at_index): Likewise.
1881         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1882         (bfd_elf64_archive_update_armap_timestamp): Likewise.
1883         * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
1884         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
1885         bfd_elfNN_archive_functions isn't defined.
1886         (TARGET_LITTLE_SYM): Likewise.
1887         * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
1888         (_bfd_archive_64_bit_write_armap): Likewise.
1889         (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
1890         (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
1891         (_bfd_archive_64_bit_truncate_arname): Likewise.
1892         (_bfd_archive_64_bit_read_ar_hdr): Likewise.
1893         (_bfd_archive_64_bit_write_ar_hdr): Likewise.
1894         (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
1895         (_bfd_archive_64_bit_get_elt_at_index): Likewise.
1896         (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
1897         (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
1898         * libbfd.h: Regenerated.
1899         * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
1900         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
1901
1902 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1903
1904         PR ld/20103
1905         * cofflink.c (coff_link_check_archive_element): Return TRUE if
1906         linker add_archive_element callback returns FALSE.
1907         * ecoff.c (ecoff_link_check_archive_element): Likewise.
1908         * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
1909         archive element if linker add_archive_element callback returns
1910         FALSE.
1911         * elflink.c (elf_link_add_archive_symbols): Likewise.
1912         * pdp11.c (aout_link_check_ar_symbols): Likewise.
1913         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
1914         * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
1915         (xcoff_link_check_ar_symbols): Likewise.
1916
1917 2016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
1918
1919         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1920         <bfd_reloc_outofrange>: Unify error reporting code.
1921
1922 2016-05-23  Jim Wilson  <jim.wilson@linaro.org>
1923
1924         * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
1925         R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
1926         * relocs.c: Add BFD_RELOC_AARCH64_NULL.
1927         * bfd-in2.h: Regenerate.
1928         * libbfd.h: Likewise.
1929
1930 2016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
1931
1932         * config.bfd: Add entry for arm-phoenix.
1933
1934 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1935
1936         * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
1937         (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
1938         account for padding for stub section requiring one.
1939         (elf32_arm_build_stubs): Add comment to stress the importance of
1940         zeroing veneer section content.
1941
1942 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1943
1944         * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
1945         bfd hook.
1946         * bfd-in2.h: Regenerate.
1947         * elf32-arm.c (arm_dedicated_stub_output_section_required): New
1948         function.
1949         (arm_dedicated_stub_output_section_required_alignment): Likewise.
1950         (arm_dedicated_stub_output_section_name): Likewise.
1951         (arm_dedicated_stub_input_section_ptr): Likewise.
1952         (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
1953         function description comment. Add support for dedicated output stub
1954         section to given stub types.
1955         (elf32_arm_add_stub): Add a stub type parameter and pass it down to
1956         elf32_arm_create_or_find_stub_sec.
1957         (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
1958         (elf32_arm_size_stubs): Pass stub type when calling
1959         elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
1960         (bfd_elf32_arm_keep_private_stub_output_sections): New function.
1961
1962 2016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
1963
1964         * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
1965         when setting need_convert_load.
1966
1967 2016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
1968
1969         * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
1970         microMIPS JALX.
1971
1972 2016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
1973
1974         PR ld/20117
1975         * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
1976         R_386_GOT32X.
1977         (elf_i386_convert_load): Don't convert R_386_GOT32.
1978
1979 2016-05-20  Alan Modra  <amodra@gmail.com>
1980
1981         PR gas/20118
1982         * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
1983         SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
1984
1985 2016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
1986
1987         * elf32-arc.c (arc_elf_final_write_processing): Changed.
1988         (debug_arc_reloc): Likewise.
1989         (elf_arc_relocate_section): Likewise.
1990         (elf_arc_check_relocs): Likewise.
1991         (elf_arc_adjust_dynamic_symbol): Likewise.
1992         (elf_arc_add_symbol_hook): Likewise.
1993
1994 2016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
1995
1996         * config.bfd: Remove `am34-*-linux*' support.
1997
1998 2016-05-19  Alan Modra  <amodra@gmail.com>
1999
2000         * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
2001         relocs before plt relocs.
2002
2003 2016-05-19  Alan Modra  <amodra@gmail.com>
2004
2005         * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
2006         before dereferencing.
2007
2008 2016-05-18  Nick Clifton  <nickc@redhat.com>
2009
2010         * po/sv.po: Updated Swedish translation.
2011
2012 2016-05-18  Alan Modra  <amodra@gmail.com>
2013
2014         * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
2015         for each BFD.  Don't goto error_ret_free_local from outside loop.
2016
2017 2016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
2018
2019         * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
2020         STB_GNU_UNIQUE handling.
2021         * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
2022         * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
2023         * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
2024         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2025         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2026         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2027         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2028         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2029         * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
2030         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
2031         * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
2032         (elf_backend_add_symbol_hook): Remove macro.
2033         * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
2034         for STB_GNU_UNIQUE symbols.
2035
2036 2016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
2037
2038         * elf32-v850.c (v850_elf_copy_notes): New function, factored out
2039         from...
2040         (v850_elf_copy_private_bfd_data): ... here.  Call the new
2041         function and `_bfd_elf_copy_private_bfd_data'.
2042
2043 2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
2044
2045         PR ld/20093
2046         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
2047         GOTPCREL relocation against large section.
2048
2049 2016-05-13  Alan Modra  <amodra@gmail.com>
2050
2051         * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
2052         linker dynamic sections in calculating size and address of
2053         dynamic tags rather than using output sections.  Remove asserts.
2054         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
2055         * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
2056         * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
2057         * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2058         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
2059         * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
2060         * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
2061         * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
2062         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
2063         * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
2064         * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
2065         * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
2066         * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2067         * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
2068         * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
2069         * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
2070         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
2071         * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
2072         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2073         * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2074         * elflink.c (bfd_elf_final_link): Likewise.
2075         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
2076         * elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
2077         * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
2078         don't set doit.  Look up dynobj section.
2079         (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
2080         invocation and dynamic tag vma calculation.  Don't test
2081         boolean var == TRUE.
2082         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
2083         DT_JMPREL calc.
2084
2085 2016-05-13  Alan Modra  <amodra@gmail.com>
2086
2087         * elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
2088         octets_per_byte.  Put dynamic .rela.plt last in link orders.
2089         Assign output_offset for reloc sections rather than writing
2090         sorted relocs from block corresponding to output_offset.
2091
2092 2016-05-12  Alan Modra  <amodra@gmail.com>
2093
2094         * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
2095
2096 2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
2097
2098         * elfxx-mips.c (print_mips_ases): Add DSPR3.
2099
2100 2016-05-11  Alan Modra  <amodra@gmail.com>
2101
2102         * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
2103         (elf32_hppa_check_relocs): Don't set dynobj.
2104         (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
2105         (elf32_hppa_build_stubs): Likewise.
2106         * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
2107
2108 2016-05-11  Alan Modra  <amodra@gmail.com>
2109
2110         PR 20060
2111         * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
2112         * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
2113
2114 2016-05-10  Jiong Wang  <jiong.wang@arm.com>
2115
2116         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
2117         aarch64_tls_transition check.
2118
2119 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2120
2121         * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
2122         enumerator.
2123         (arm_stub_sym_claimed): New function.
2124         (elf32_arm_create_stub): Use veneered symbol name and section if
2125         veneer needs to claim its symbol, and keep logic unchanged otherwise.
2126         (arm_stub_claim_sym): New function.
2127         (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
2128         veneered symbol, otherwise create local symbol as before.
2129
2130 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2131
2132         * elf32-arm.c (elf32_arm_size_stubs): Use new macros
2133         ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
2134         and set branch type of a symbol.
2135         (bfd_elf32_arm_process_before_allocation): Likewise.
2136         (elf32_arm_relocate_section): Likewise and fix identation along the
2137         way.
2138         (allocate_dynrelocs_for_symbol): Likewise.
2139         (elf32_arm_finish_dynamic_symbol): Likewise.
2140         (elf32_arm_swap_symbol_in): Likewise.
2141         (elf32_arm_swap_symbol_out): Likewise.
2142
2143 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2144
2145         * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
2146         * bfd-in2.h: Regenerated.
2147         * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
2148         parameter to add_stub_section callback.
2149         (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
2150         and pass it down to add_stub_section.
2151         (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
2152         for error message.
2153         (elf32_arm_size_stubs): Add output section parameter to
2154         add_stub_section function pointer parameter.
2155
2156 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2157
2158         * elf32-arm.c (elf32_arm_create_stub): New function.
2159         (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
2160
2161 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2162
2163         * elf32-arm.c (enum elf32_arm_stub_type): Delete
2164         arm_stub_a8_veneer_lwm enumerator.
2165         (arm_stub_a8_veneer_lwm): New unsigned constant to replace
2166         aforementioned enumerator.
2167         (struct elf32_arm_stub_hash_entry): Delete target_addend
2168         field and add source_value.
2169         (struct a8_erratum_fix): Delete addend field and add target_offset.
2170         (stub_hash_newfunc): Initialize source_value field amd remove
2171         initialization for target_addend.
2172         (arm_build_one_stub): Stop special casing Thumb relocations: promote
2173         the else to being always executed, moving the
2174         arm_stub_a8_veneer_b_cond specific code in it.  Remove
2175         stub_entry->target_addend from points_to computation.
2176         (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
2177         to target symbol from start of section rather than the offset from the
2178         stub address.
2179         (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
2180         fields from struct a8_erratum_fix's offset and target_offset
2181         respectively.
2182         (make_branch_to_a8_stub): Rename target variable to loc.  Compute
2183         veneered_insn_loc and loc using stub_entry's source_value.
2184
2185 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2186
2187         (elf32_arm_merge_eabi_attributes): Add merging logic for
2188         Tag_DSP_extension.
2189
2190 2016-05-10  Pip Cet  <pipcet@gmail.com>
2191
2192         PR ld/20059
2193         * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
2194         Define as _bfd_generic_copy_link_hash_symbol_type when using
2195         generic hash table.
2196
2197 2016-05-09  Nick Clifton  <nickc@redhat.com>
2198
2199         PR binutils/20063
2200         * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
2201         field before accessing sections array.
2202
2203 2016-05-09  Christophe Monat  <christophe.monat@st.com>
2204
2205         PR ld/20030
2206         * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
2207         (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
2208         to nb_words.
2209         (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
2210         encoding.
2211         (create_instruction_vldmdb): Likewise.
2212         (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
2213         uses it to re-encode.
2214
2215 2016-05-09  Nick Clifton  <nickc@redhat.com>
2216
2217         PR 19938
2218         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
2219         commit.
2220
2221 2016-05-09  Alan Modra  <amodra@gmail.com>
2222
2223         * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
2224
2225 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
2226
2227         PR ld/17550
2228         * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
2229         documenting that indx == -3 if symbol is defined in a discarded
2230         section.
2231         * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
2232         symbol is defined in a discarded section.
2233         (elf_link_output_extsym): Strip a global symbol defined in a
2234         discarded section.
2235
2236 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
2237
2238         * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
2239         MCU.
2240
2241 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
2242
2243         * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
2244         conversion to ...
2245         (elf_i386_convert_load_reloc): This.  New function.
2246         * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
2247         conversion to ...
2248         (elf_x86_64_convert_load_reloc): This.  New function.
2249
2250 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
2251
2252         * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
2253         Don't check if contents == NULL.
2254         (elf_i386_tls_transition): Add from_relocate_section.  Check
2255         from_relocate_section instead of contents != NULL.  Update
2256         elf_i386_check_tls_transition call.
2257         (elf_i386_check_relocs): Cache the section contents if
2258         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
2259         elf_i386_tls_transition.
2260         (elf_i386_relocate_section): Pass TRUE as from_relocate_section
2261         to elf_i386_tls_transition.
2262         (elf_backend_caches_rawsize): New.
2263         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
2264         if contents == NULL.
2265         (elf_x86_64_tls_transition): Add from_relocate_section.  Check
2266         from_relocate_section instead of contents != NULL.
2267         (elf_x86_64_check_relocs): Cache the section contents if
2268         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
2269         elf_x86_64_tls_transition.
2270         (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
2271         to elf_x86_64_tls_transition.
2272         (elf_backend_caches_rawsize): New.
2273
2274 2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
2275
2276         PR 10549
2277         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
2278         STB_GNU_UNIQUE.
2279
2280 2016-05-03  Jiong Wang  <jiong.wang@arm.com>
2281
2282         * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
2283         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
2284         * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
2285         no_apply_dynamic_relocs.
2286         (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
2287         dynamic relocations generated.
2288
2289 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
2290
2291         * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
2292         setting to ...
2293         (elf_i386_create_dynamic_sections): Here.
2294         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
2295         interp setting to ...
2296         (elf_x86_64_create_dynamic_sections): Here.
2297
2298 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
2299
2300         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
2301         and replace (EH)->has_got_reloc with GOT_RELOC.
2302         (elf_i386_fixup_symbol): Pass has_got_reloc to
2303         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2304         (elf_i386_allocate_dynrelocs): Likewise.
2305         (elf_i386_relocate_section): Likewise.
2306         (elf_i386_finish_dynamic_symbol): Likewise.
2307         (elf_i386_convert_load): Pass TRUE to
2308         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2309         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
2310         GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
2311         (elf_x86_64_fixup_symbol): Pass has_got_reloc to
2312         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2313         (elf_x86_64_allocate_dynrelocs): Likewise.
2314         (elf_x86_64_relocate_section): Likewise.
2315         (elf_x86_64_finish_dynamic_symbol): Likewise.
2316         (elf_x86_64_convert_load): Pass TRUE to
2317         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2318
2319 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
2320
2321         * elf32-i386.c (check_relocs_failed): New.
2322         (elf_i386_check_relocs): Set check_relocs_failed on error.
2323         (elf_i386_relocate_section): Skip if check_relocs failed.
2324
2325 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
2326
2327         * elf64-x86-64.c (elf_x86_64_check_relocs): Set
2328         check_relocs_failed on error.
2329
2330 2016-04-29  Nick Clifton  <nickc@redhat.com>
2331
2332         PR 19938
2333         * elf-bfd.h (struct elf_backend_data): Rename
2334         elf_backend_set_special_section_info_and_link to
2335         elf_backend_copy_special_section_fields.
2336         * elfxx-target.h: Likewise.
2337         * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
2338         comparing section flags.
2339         (copy_special_section_fields): New function.
2340         (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
2341         Perform two scans over special sections.  The first one looks for
2342         a direct mapping between the output section and an input section.
2343         The second scan looks for a possible match based upon section
2344         characteristics.
2345         * elf32-arm.c (elf32_arm_copy_special_section_fields): New
2346         function.  Handle setting the sh_link field of SHT_ARM_EXIDX
2347         sections.
2348         * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
2349         elf32_i386_copy_solaris_special_section_fields.
2350         * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
2351         Rename to elf32_sparc_copy_solaris_special_section_fields.
2352         * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
2353         elf64_x86_64_copy_solaris_special_section_fields.
2354
2355 2016-04-28  Nick Clifton  <nickc@redhat.com>
2356
2357         * po/zh_CN.po: Updated Chinese (simplified) translation.
2358
2359 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
2360
2361         PR ld/20006
2362         * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
2363         when estimating distances between output sections.
2364
2365 2016-04-27  Alan Modra  <amodra@gmail.com>
2366
2367         * elflink.c (_bfd_elf_is_start_stop): New function.
2368         (_bfd_elf_gc_mark_rsec): Use it.
2369         * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
2370
2371 2016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
2372
2373         * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
2374         * mmo.c (mmo_get_section_contents): Likewise.
2375         (mmo_set_section_contents): Likewise.
2376
2377 2016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
2378
2379         * elf-bfd.h (elf_link_hash_table): Update comments for
2380         dynsymcount.
2381         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
2382         the unused NULL entry at the head of dynamic symbol table.
2383         (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
2384         checks.
2385
2386 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
2387
2388         * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
2389         created file from dynobj.
2390
2391 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
2392
2393         * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
2394         normal input file if possible.
2395
2396 2016-04-21  Nick Clifton  <nickc@redhat.com>
2397
2398         * aout-adobe.c: Use _bfd_generic_link_check_relocs.
2399         * aout-target.h: Likewise.
2400         * aout-tic30.c: Likewise.
2401         * binary.c: Likewise.
2402         * bout.c: Likewise.
2403         * coff-alpha.c: Likewise.
2404         * coff-rs6000.c: Likewise.
2405         * coff64-rs6000.c: Likewise.
2406         * coffcode.h: Likewise.
2407         * i386msdos.c: Likewise.
2408         * i386os9k.c: Likewise.
2409         * ieee.c: Likewise.
2410         * ihex.c: Likewise.
2411         * libbfd-in.h: Likewise.
2412         * libecoff.h: Likewise.
2413         * mach-o-target.c: Likewise.
2414         * mmo.c: Likewise.
2415         * nlm-target.h: Likewise.
2416         * oasys.c: Likewise.
2417         * pef.c: Likewise.
2418         * plugin.c: Likewise.
2419         * ppcboot.c: Likewise.
2420         * som.c: Likewise.
2421         * srec.c: Likewise.
2422         * tekhex.c: Likewise.
2423         * versados.c: Likewise.
2424         * vms-alpha.c: Likewise.
2425         * xsym.c: Likewise.
2426         * elfxx-target.h: Use _bfd_elf_link_check_relocs.
2427         * linker.c (bfd_link_check_relocs): New function.
2428         (_bfd_generic_link_check_relocs): New function.
2429         * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
2430         _bfd_link_check_relocs field.
2431         (struct bfd_target)L Add _bfd_link_check_relocs field.
2432         * bfd-in2.h: Regenerate.
2433         * libbfd.h: Regenerate.
2434
2435 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2436
2437         * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
2438         (elf_backend_gc_sweep_hook): Likewise.
2439         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
2440         (elf_backend_gc_sweep_hook): Likewise.
2441
2442 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2443
2444         * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
2445         in excluded sections
2446
2447 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2448
2449         PR ld/19969
2450         * elf64-x86-64.c (check_relocs_failed): New.
2451         (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
2452         Support relocation agaist local symbol.  Set check_relocs_failed.
2453         (elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
2454         R_X86_64_32 relocation overflow.
2455         (elf_x86_64_relocate_section): Skip if check_relocs failed.
2456         Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
2457
2458 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2459
2460         * elf32-i386.c (elf_i386_check_relocs): Call
2461         _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
2462         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2463
2464 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
2465
2466         * elf-bfd.h (_bfd_elf_link_check_relocs): New.
2467         * elflink.c (_bfd_elf_link_check_relocs): New function.
2468         (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
2469         if check_relocs_after_open_input is FALSE.
2470
2471 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
2472
2473         * cache.c: Update old style function definitions.
2474         * elf32-m68k.c: Likewise.
2475         * elf64-mmix.c: Likewise.
2476         * stab-syms.c: Likewise.
2477
2478 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
2479
2480         * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
2481
2482 2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
2483
2484         * Makefile.in: Regenerated with automake 1.11.6.
2485         * aclocal.m4: Likewise.
2486         * doc/Makefile.in: Likewise.
2487
2488 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
2489
2490         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
2491         * bfd-in2.h: Regenerate.
2492         * libbfd.h: Regenerate.
2493         * elf32-arc.c: Add 'opcode/arc.h' include.
2494         (struct arc_relocation_data): Add symbol_name.
2495         (arc_special_overflow_checks): New function.
2496         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
2497         required, add an extra comment.
2498         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
2499
2500 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
2501
2502         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
2503         entries.
2504         (elf_arc_relocate_section): Update enum uses.
2505         (elf_arc_check_relocs): Likewise.
2506         (elf_arc_finish_dynamic_symbol): Likewise.
2507
2508 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
2509
2510         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
2511         "sh_link".
2512
2513 2016-04-14  Nick Clifton  <nickc@redhat.com>
2514
2515         PR target/19938
2516         * elf-bbfd.h (struct elf_backend_data): New field:
2517         elf_strtab_flags.
2518         New field: elf_backend_set_special_section_info_and_link
2519         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
2520         defined.
2521         (elf_backend_set_special_section_info_and_link): Define if not
2522         already defined.
2523         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
2524         elf_backend_strtab_flags macros to initialise fields in structure.
2525         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
2526         being set even if SHF_MERGE is not set.
2527         (elf_fake_sections): Likewise.
2528         (section_match): New function.  Matches two ELF sections based
2529         upon fixed characteristics.
2530         (find_link): New function.  Locates a section in a BFD that
2531         matches a section in a different BFD.
2532         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
2533         fields of reserved sections.
2534         (bfd_elf_compute_section_file_positions): Set the flags for the
2535         .shstrtab section based upon the elf_strtab_flags field in the
2536         elf_backend_data structure.
2537         (swap_out_syms): Likewise for the .strtab section.
2538         * elflink.c (bfd_elf_final_link): Set the flags for the
2539         .strtab section based upon the elf_strtab_flags field in the
2540         elf_backend_data structure.
2541         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
2542         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
2543         targets.
2544         (elf_backend_set_special_section_info_and_link): Define for
2545         Solaris targets.
2546         * elf32-sparc.c: Likewise.
2547         * elf64-x86-64.c: Likewise.
2548
2549 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
2550
2551         PR ld/19939
2552         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
2553         to bfd_boolean.
2554         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
2555         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
2556         applies to read-only section.
2557         * elf32-i386.c (elf_i386_link_hash_table): Add
2558         readonly_dynrelocs_against_ifunc.
2559         (elf_i386_allocate_dynrelocs): Updated.
2560         (elf_i386_size_dynamic_sections): Issue an error for read-only
2561         segment with dynamic IFUNC relocations only if
2562         readonly_dynrelocs_against_ifunc is TRUE.
2563         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
2564         readonly_dynrelocs_against_ifunc.
2565         (elf_x86_64_allocate_dynrelocs): Updated.
2566         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
2567         segment with dynamic IFUNC relocations only if
2568         readonly_dynrelocs_against_ifunc is TRUE.
2569         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
2570         Updated.
2571
2572 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2573
2574         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
2575         a fall through from error_ret_free_internal.  Free local_syms in
2576         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
2577
2578 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
2579
2580         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
2581         (relocate_plt_for_entry): Likewise.
2582
2583 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
2584
2585         * elf32-arc.c (elf_arc_check_relocs): Changed
2586
2587 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
2588
2589         * elf32-arc.c (name_for_global_symbol): Changed assert.
2590         (get_replace_function): Created.:
2591         (struct arc_relocation_data): Changed to signed types.
2592         (defines S, L, P, PDATA): Casted to signed type.
2593         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
2594         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
2595         (arc_do_relocation): Changed.
2596
2597 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
2598
2599         * elf32-arc.c (name_for_global_symbol): Added assert to check for
2600         symbol index.
2601         (elf_arc_relocate_section): Added and changed asserts, validating
2602         the synamic symbol index.
2603         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
2604         relocation if symbol has dynindx set to -1.
2605
2606 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
2607
2608         PR ld/19908
2609         * elflink.c (elf_link_add_object_symbols): Always turn hidden
2610         and internal symbols which have a dynamic index into local
2611         ones.
2612
2613 2016-04-04  Nick Clifton  <nickc@redhat.com>
2614
2615         PR 19872
2616         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
2617         version number if the version is zero.
2618
2619 2016-04-01  Alan Modra  <amodra@gmail.com>
2620
2621         PR 19886
2622         * elflink.c (on_needed_list): Recursively check needed status.
2623         (elf_link_add_object_symbols): Adjust.
2624
2625 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2626
2627         * elf32-avr.c (avr_elf32_load_records_from_section): Free
2628         internal_relocs only if they aren't cached.
2629
2630 2016-03-29  Nick Clifton  <nickc@redhat.com>
2631
2632         PR 17334
2633         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
2634         assertion on the size of the got section to allow it to be bigger
2635         than the number of relocs.
2636
2637 2016-03-29  Toni Spets  <toni.spets@iki.fi>
2638
2639         PR 19878
2640         * coffcode.h (coff_write_object_contents): Revert accidental
2641         2014-11-10 change.
2642
2643 2016-03-22  Alan Modra  <amodra@gmail.com>
2644
2645         PR 19850
2646         * dwarf2.c (read_attribute_value): Skip info_ptr check for
2647         DW_FORM_flag_present.
2648
2649 2016-03-22  Nick Clifton  <nickc@redhat.com>
2650
2651         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
2652         architecture name for backwards compatibility.
2653
2654         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
2655         unbounded stack use.
2656
2657         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
2658         sufficiently recent version of GCC.
2659         * configure: Regenerate.
2660
2661 2016-03-22  Alan Modra  <amodra@gmail.com>
2662
2663         PR 19851
2664         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
2665
2666 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
2667
2668         * archures.c (bfd_mach_arc_nps400): Define.
2669         * bfd-in2.h: Regenerate.
2670         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
2671         some existing entries to make space.
2672         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
2673         (arc_elf_final_write_processing): Likewise.
2674
2675 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
2676
2677         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
2678         EF_ARC_CPU_GENERIC.
2679         (arc_elf_final_write_processing): Don't bother setting cpu field
2680         in e_flags, this will have been set elsewhere.
2681
2682 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
2683
2684         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
2685         EF_ARC_MACH_MSK.
2686
2687 2016-03-21  Nick Clifton  <nickc@redhat.com>
2688
2689         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
2690         * configure: Regenerate.
2691         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
2692         alloca with call to xmalloc.
2693         * elf32-nds32.c: Likewise.
2694         * elf64-hppa.c: Likewise.
2695         * elfxx-mips.c: Likewise.
2696         * pef.c: Likewise.
2697         * pei-x86_64.c: Likewise.
2698         * som.c: Likewise.
2699         * xsym.c: Likewise.
2700
2701 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2702
2703         PR ld/19827
2704         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
2705         locally in PIE.
2706         (elf_i386_relocate_section): Likewise.
2707         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2708         (elf_x86_64_relocate_section): Likewise.
2709
2710 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2711
2712         PR ld/19807
2713         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2714         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
2715         relocation overflow check.
2716
2717 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
2718
2719         * bfd-in2.h: Regenerated.
2720
2721 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
2722
2723         PR 19713
2724         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
2725         uses bytes not octets.
2726         * elflink.c (resolve_section): Likewise.
2727         Add a bfd parameter.
2728         (eval_section): Pass the input_bfd to resolve_section.
2729         (bfd_elf_perform_complex_relocation): Convert byte offset to
2730         octets before read and writing values.
2731         (elf_link_input_bfd): Add byte to octet conversions.
2732         (elf_reloc_link_order): Likewise.
2733         (elf_fixup_link_order): Likewise.
2734         (bfd_elf_final_link): Likewise.
2735         * reloc.c (_bfd_final_link_relocate): Likewise.
2736         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
2737
2738 2016-03-10  Nick Clifton  <nickc@redhat.com>
2739
2740         * config.bfd: Mark the i370 target as obsolete.
2741
2742 2016-03-09  Pedro Alves  <palves@redhat.com>
2743
2744         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
2745         gcc ABI)" to printable name.
2746         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
2747         of "v850-rh850" as printable name.
2748
2749 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
2750
2751         PR ld/19623
2752         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
2753         relocations against absolute symbols.
2754
2755 2016-03-09  Alan Modra  <amodra@gmail.com>
2756
2757         PR binutils/19775
2758         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
2759         length elements in the archive.
2760
2761 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2762
2763         PR ld/19789
2764         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
2765         for -E/--dynamic-list only when not relocatable.
2766
2767 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2768
2769         PR ld/19784
2770         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
2771         count for locally defined local IFUNC symbols in shared object.
2772         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2773
2774 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2775
2776         PR ld/19579
2777         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
2778         together.
2779
2780 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
2781             Andrew Burgess  <andrew.burgess@embecosm.com>
2782
2783         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
2784         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
2785         (arc_elf_howto_init): Added assert to validate relocations.
2786         (get_middle_endian_relocation): Delete.
2787         (middle_endian_convert): New function.
2788         (ME): Redefine, now does nothing.
2789         (IS_ME): New define.
2790         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
2791         definition to call middle_endian_convert.  Add a new local
2792         variable and make use of this throughout. Added call to
2793         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
2794
2795 2016-03-07  Nick Clifton  <nickc@redhat.com>
2796
2797         PR binutils/19775
2798         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
2799         length elements in the archive.
2800
2801 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
2802
2803         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
2804         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
2805
2806 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
2807
2808         PR ld/19579
2809         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
2810         executable as definition if the new definition comes from a
2811         shared library.
2812
2813 2016-03-02  Alan Modra  <amodra@gmail.com>
2814
2815         * Makefile.in: Regenerate.
2816         * po/SRC-POTFILES.in: Regenerate.
2817
2818 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
2819
2820         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
2821         relocation addend when sections get merged.
2822
2823 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2824
2825         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
2826         the flag change.
2827         (elf_arc_relocate_section): Fixes and conditions to support PIE.
2828         Assert for code sections dynamic relocs.
2829
2830 2016-02-26  Renlin Li  <renlin.li@arm.com>
2831
2832         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
2833         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
2834
2835 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2836
2837         PR ld/19609
2838         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
2839         load with locally bound symbols if PIC is false or there is no
2840         base register.  Optimize branch to 0 if PIC is false.
2841         (elf_i386_relocate_section): Don't generate dynamic relocations
2842         against undefined weak symbols if PIC is false.
2843         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
2844         if we can't estimate relocation overflow with --no-relax.
2845         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
2846         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
2847         (elf_x86_64_relocate_section): Don't generate dynamic relocations
2848         against undefined weak symbols if PIC is false.
2849
2850 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2851
2852         PR ld/19645
2853         * bfd.c (bfd): Change flags to 20 bits.
2854         (BFD_CONVERT_ELF_COMMON): New.
2855         (BFD_USE_ELF_STT_COMMON): Likewise.
2856         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
2857         BFD_USE_ELF_STT_COMMON.
2858         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2859         * configure.ac: Remove --enable-elf-stt-common.
2860         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
2861         common symbol depending on BFD_CONVERT_ELF_COMMON and
2862         BFD_USE_ELF_STT_COMMON.
2863         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
2864         STT_COMMON.
2865         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
2866         STT_COMMON.
2867         (elf_link_convert_common_type): New function.
2868         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
2869         common symbol depending on BFD_CONVERT_ELF_COMMON and
2870         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
2871         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
2872         and BFD_USE_ELF_STT_COMMON to object_flags.
2873         (TARGET_LITTLE_SYM): Likewise.
2874         * syms.c (BSF_KEEP_G): Renamed to ...
2875         (BSF_ELF_COMMON): This.
2876         * bfd-in2.h: Regenerated.
2877         * config.in: Likewise.
2878         * configure: Likewise.
2879
2880 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2881
2882         PR ld/19636
2883         PR ld/19704
2884         PR ld/19719
2885         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2886         (elf_i386_link_hash_entry): Add has_got_reloc and
2887         has_non_got_reloc.
2888         (elf_i386_link_hash_table): Add interp.
2889         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
2890         has_non_got_reloc.
2891         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
2892         has_non_got_reloc.
2893         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
2894         (elf_i386_fixup_symbol): New function.
2895         (elf_i386_pie_finish_undefweak_symbol): Likewise.
2896         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
2897         relocations and discard relocations against resolved undefined
2898         weak symbols in executable.  Don't make resolved undefined weak
2899         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
2900         relocation against undefined weak symbols in PIE.
2901         (elf_i386_size_dynamic_sections): Set interp to .interp section.
2902         (elf_i386_relocate_section): Don't generate dynamic relocations
2903         against resolved undefined weak symbols in PIE, except for
2904         R_386_PC32.
2905         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
2906         dynamic PLT/GOT relocations for resolved undefined weak symbols.
2907         Don't generate dynamic relocation against resolved undefined weak
2908         symbol in executable.
2909         (elf_i386_finish_dynamic_sections): Call
2910         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
2911         (elf_backend_fixup_symbol): New.
2912         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2913         (elf_x86_64_link_hash_entry): Add has_got_reloc and
2914         has_non_got_reloc.
2915         (elf_x86_64_link_hash_table): Add interp.
2916         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
2917         has_non_got_reloc.
2918         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
2919         has_non_got_reloc.
2920         (elf_x86_64_check_relocs): Set has_got_reloc and
2921         has_non_got_reloc.
2922         (elf_x86_64_fixup_symbol): New function.
2923         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
2924         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
2925         relocations and discard relocations against resolved undefined
2926         weak symbols in executable.  Don't make resolved undefined weak
2927         symbols in executable dynamic.
2928         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
2929         (elf_x86_64_relocate_section): Check relocation overflow for
2930         dynamic relocations against unresolved weak undefined symbols.
2931         Don't generate dynamic relocations against resolved weak
2932         undefined symbols in PIE.
2933         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
2934         dynamic PLT/GOT relocations for resolved undefined weak symbols.
2935         Don't generate dynamic relocation against resolved undefined weak
2936         symbol in executable.
2937         (elf_x86_64_finish_dynamic_sections): Call
2938         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
2939         (elf_backend_fixup_symbol): New.
2940
2941 2016-02-26  Alan Modra  <amodra@gmail.com>
2942
2943         * elf64-ppc.c (create_linkage_sections): Create sfpr when
2944         save_restore_funcs, rest of sections when not relocatable.
2945         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
2946         (sfpr_define): Define all symbols on emitted code.
2947         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
2948         when relocatable.  Move sfpr_define loop earlier.
2949
2950 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
2951
2952         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
2953         (elf_x86_64_relocate_section): Use it.  Replace
2954         x86_64_elf_howto_table[r_type] with howto.
2955
2956 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
2957
2958         PR ld/19698
2959         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
2960         symbol version is unknown.
2961
2962 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
2963
2964         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
2965         to (bfd_vma) -1 when setting needs_plt to 0.
2966         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2967
2968 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
2969
2970         * elflink.c (bfd_elf_record_link_assignment): Check for shared
2971         library, instead of PIC, and don't check PDE when making linker
2972         assigned symbol dynamic.
2973
2974 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
2975
2976         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
2977         ABIVERSION for non-executable stack.
2978
2979 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
2980
2981         PR target/19516
2982         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
2983         Always produce a RELATIVE reloc for a local symbol.
2984
2985 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
2986
2987         Fix test-case ld-elf/pr19617b
2988         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
2989         discard unused non-function symbols when --dynamic-list-data.
2990
2991 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2992
2993         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
2994         dynsym section, even if it is empty, with dynamic sections.
2995
2996 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2997
2998         * syms.c: Remove BSF_COMMON from comments.
2999         * bfd-in2.h: Regenerated.
3000
3001 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
3002
3003         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
3004         for destination.  Remove useless function parameters.
3005         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
3006
3007 2016-02-19  Nick Clifton  <nickc@redhat.com>
3008
3009         PR ld/19629
3010         * aoutx.h (aout_link_add_symbols): Check for out of range string
3011         table offsets.
3012
3013         PR ld/19628
3014         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
3015         processing if we encounter a reloc without an associated symbol.
3016
3017 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
3018
3019         PR ld/19617
3020         * elflink.c (elf_link_add_object_symbols): Always create dynamic
3021         sections for -E/--dynamic-list.
3022
3023 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
3024
3025         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
3026         to bfd_true.
3027
3028 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
3029
3030         * plugin.c (plugin_vec): Set match priority to 255.
3031         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
3032         matching against the plugin vector, take priority from there not
3033         from TEMP.
3034
3035 2016-02-15  Nick Clifton  <nickc@redhat.com>
3036
3037         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
3038         for length and type fields.  Use a signed value for the
3039         suffix_length field.
3040
3041 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
3042
3043         PR ld/19601
3044         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
3045         significant bit in GOT offset for R_386_GOT32X.
3046
3047 2016-02-10  Nick Clifton  <nickc@redhat.com>
3048
3049         PR 19405
3050         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
3051         immediate values.
3052         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
3053         number of messages about FDE encoding preventing .eh_frame_hdr
3054         generation.
3055
3056 2016-02-09  Nick Clifton  <nickc@redhat.com>
3057
3058         * oasys.c (oasys_archive_p): Fix indentation.
3059         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
3060         constant for left shifting.
3061
3062         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
3063         helpful warning message to explain why certain AArch64 relocs
3064         might overflow.
3065
3066 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
3067
3068         * pe-mips.c (coff_mips_reloc): Fix formatting.
3069
3070 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
3071
3072         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
3073         to bfd_mach_arc_arc600.
3074
3075 2016-02-04  Alan Modra  <amodra@gmail.com>
3076
3077         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
3078         for big-endian.
3079
3080 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
3081
3082         PR ld/19542
3083         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
3084         distances in the compressed_size field of the output section.
3085
3086 2016-02-02  Alan Modra  <amodra@gmail.com>
3087
3088         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
3089         ELFv2 entry optimization.
3090
3091 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
3092
3093         PR binutils/19547
3094         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
3095         no relocations in relocatable files.
3096
3097 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
3098
3099         PR ld/19553
3100         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
3101         if a symbol from a library loaded via DT_NEEDED doesn't match
3102         the symbol referenced by regular object.
3103
3104 2016-02-01  Nathaniel Smith  <njs@pobox.com>
3105
3106         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
3107         CODE and DATA.
3108
3109 2016-02-01  Alan Modra  <amodra@gmail.com>
3110
3111         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
3112         an out of range reloc_index.
3113         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
3114
3115 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
3116
3117         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
3118         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
3119         * Makefile.in: Regenerated.
3120
3121 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
3122
3123         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
3124
3125 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
3126
3127         PR ld/19526
3128         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
3129         files.
3130         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
3131
3132 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
3133
3134         PR ld/19539
3135         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
3136         against STT_GNU_IFUNC symbol only with dynamic symbols.
3137         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
3138
3139 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
3140
3141         PR binutils/19523
3142         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
3143         decompress debug sections.
3144
3145 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
3146
3147         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
3148         `dynindx'.
3149
3150 2016-01-25  Nick Clifton  <nickc@redhat.com>
3151
3152         PR target/19435
3153         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
3154         dsym filename buffer.
3155
3156 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
3157
3158         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
3159
3160 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
3161
3162         * elfxx-mips.c (BZ16_REG): Correct calculation.
3163
3164 2016-01-21  Nick Clifton  <nickc@redhat.com>
3165
3166         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
3167         changing the type of _loc to be bfd_byte *.
3168         (elf_arc_finish_dynamic_symbol): Likewise.
3169
3170 2016-01-21  Nick Clifton  <nickc@redhat.com>
3171
3172         PR ld/19455
3173         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
3174         class of the linker stub bfd.
3175         (elf32_arm_check_relocs): Skip check for pic format after
3176         processing a vxWorks R_ARM_ABS12 reloc.
3177         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
3178         reporting a class mismatch.
3179
3180 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
3181
3182         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
3183         veneer for sym_sec != input_sec.
3184         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
3185         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
3186         calculation destination.
3187
3188 2016-01-21  Alan Modra  <amodra@gmail.com>
3189
3190         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
3191         (swap_linux_prpsinfo64_out): New function.
3192         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3193         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
3194         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
3195         (elfcore_write_linux_prpsinfo64): Likewise.
3196         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
3197         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3198         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
3199
3200 2016-01-21  Alan Modra  <amodra@gmail.com>
3201
3202         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
3203         * elf.c: Adjust #include.
3204         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
3205         * Makefile.am (SOURCE_HFILES): Update.
3206         * Makefile.in: Regenerate.
3207         * po/SRC-PORFILES.in: Regenerate.
3208
3209 2016-01-21  Alan Modra  <amodra@gmail.com>
3210
3211         * configure.ac: Move corefile selection later in file.  Move
3212         tdefaults code immediately after other target vector code.
3213         * configure: Regenerate.
3214
3215 2016-01-20  Mickael Guene  <mickael.guene@st.com>
3216
3217         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
3218         section using '.text.noread' pattern.
3219
3220 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
3221
3222         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
3223
3224 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
3225             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
3226
3227         * arc-plt.def: New file.
3228         * arc-plt.h: Likewise.
3229         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
3230                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
3231                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
3232                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
3233         (name_for_global_symbol): Added.
3234         (ADD_RELA): Helper to create dynamic relocs.
3235         (new_got_entry_to_list): Create a new got entry in linked list.
3236         (symbol_has_entry_of_type): Search for specific type of entry in
3237         list.
3238         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
3239         (is_reloc_for_TLS, arc_elf_set_private_flags)
3240         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
3241         (arc_elf_merge_private_bfd_data): New functions.
3242         (debug_arc_reloc): Cleaned debug info printing.
3243         (PDATA reloc): Changed not to perform address alignment.
3244         (reverse_me): Added. Fix for ARC_32 relocs.
3245         (arc_do_relocation): Return bfd_reloc_of when no relocation should
3246         occur.
3247         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
3248         Changed function to access an array of list of GOT entries instead
3249         of just an array of offsets.
3250         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
3251         (elf_arc_check_relocs): Likewise.
3252         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
3253         (elf_arc_finish_dynamic_sections): Likewise
3254         (arc_create_dynamic_sections): Modified conditions to create
3255         dynamic sections.
3256         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
3257         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
3258         (relocate_plt_for_entry): Changed to support new way to define PLT
3259         related code.
3260         (add_symbol_to_plt): Likewise.
3261         (arc_elf_link_hash_table_create): New function.
3262
3263 2016-01-18  Nick Clifton  <nickc@redhat.com>
3264
3265         PR ld/19440
3266         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
3267         section number into internal section number.
3268         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
3269         * coffswap.h (coff_swap_sym_in): Likewise.
3270         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
3271         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
3272         section number field is big enough to hold the external value.
3273
3274 2016-01-17  Alan Modra  <amodra@gmail.com>
3275
3276         * configure: Regenerate.
3277
3278 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
3279
3280         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
3281         when address in first unwind entry does not match start of
3282         section.
3283
3284 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
3285             Jiong Wang  <jiong.wang@arm.com>
3286
3287         PR ld/19368
3288         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
3289         reloc_class_ifunc.
3290
3291 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
3292
3293         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
3294         place 'R_' before the reloc name returned.
3295         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
3296         the relocation string.
3297
3298 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3299
3300         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
3301         factored out from...
3302         (_bfd_mips_elf_merge_private_bfd_data): ... here.
3303
3304 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3305
3306         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
3307         attribute check after ELF file header flag check.
3308
3309 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3310
3311         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
3312         return status from `_bfd_elf_merge_object_attributes'.
3313
3314 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3315
3316         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
3317         factored out from...
3318         (_bfd_mips_elf_merge_private_bfd_data): ... here.
3319
3320 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3321
3322         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
3323         handling of input MIPS ABI flags together.
3324
3325 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3326
3327         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
3328         attribute checks for null input.
3329
3330 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3331
3332         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
3333         pointers to target data.
3334
3335 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
3336
3337         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
3338         an FP ABI warning.
3339
3340 2016-01-01  Alan Modra  <amodra@gmail.com>
3341
3342         Update year range in copyright notice of all files.
3343
3344 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
3345 \f
3346 Copyright (C) 2016 Free Software Foundation, Inc.
3347
3348 Copying and distribution of this file, with or without modification,
3349 are permitted in any medium without royalty provided the copyright
3350 notice and this notice are preserved.
3351
3352 Local Variables:
3353 mode: change-log
3354 left-margin: 8
3355 fill-column: 74
3356 version-control: never
3357 End: