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