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