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