Fix grammar in error message.
[external/binutils.git] / bfd / ChangeLog
1 2016-07-12  Douglas B Rupp  <rupp@adacore.com>
2
3         * binary.c (binary_set_section_contents): Fix grammar in warning
4         message.
5
6 2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
7
8         * elf32-arc.c: made PR_DEBUG always defined.
9
10 2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
11
12         * arc-got.h: Moved got related structures from elf32-arc.c to
13         this file. More precisely, tls_type_e, tls_got_entries, got_entry.
14         * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
15         tls_type_for_reloc, symbol_has_entry_of_type,
16         get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
17         ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
18         relocate_fix_got_relocs_for_got_info,
19         create_got_dynrelocs_for_single_entry,
20         create_got_dynrelocs_for_got_info): Added to file.
21         * elf32-arc.c: Removed GOT & TLS related structs and functions to
22         arc-got.h.
23
24 2016-07-08  James Bowman  <james.bowman@ftdichip.com>
25
26         * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
27
28 2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
29
30         * elf32-arm.c (THUMB32_MOVT): New veneer macro.
31         (THUMB32_MOVW): Likewise.
32         (elf32_arm_stub_long_branch_thumb2_only_pure): New.
33         (DEF_STUBS): Define long_branch_thumb2_only_pure.
34         (arm_stub_is_thumb): Add new veneer stub.
35         (arm_type_of_stub): Use new veneer.
36         (arm_stub_required_alignment): Add new veneer.
37
38 2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
39
40         * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
41         (SEC_ELF_PURECODE): ... this.
42         * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
43         to SEC_ELF_NOREAD.
44         (elf32_arm_fake_sections): Likewise.
45         (elf_32_arm_section_flags): Likewise.
46         (elf_32_arm_lookup_section_flags): Likewise.
47         * section.c (SEC_ELF_NOREAD): Rename to ...
48         (SEC_ELF_PURECODE): ... this.
49
50 2016-07-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
51
52         * elf32-arm.c (using_thumb2_bl): New function.
53         (arm_type_of_stub): Declare thumb2 variable together and change type
54         to bfd_boolean.  Use using_thumb2_bl () to determine whether
55         THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
56         checked for BL range.
57         (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
58         the bit size of BL offset.
59
60 2016-06-29  Nick Clifton  <nickc@redhat.com>
61
62         * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
63         Returns TRUE for AArch64 mapping symbols.
64         (elfNN_aarch64_backend_symbol_processing): New function.  Marks
65         mapping symbols as precious in object files so that they will not
66         be stripped.
67         (elf_backend_symbol_processing): Define.
68
69         * elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
70         for ARM mapping symbols.
71         (elf32_arm_backend_symbol_processing): Make use of the new function.
72
73 2016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
74
75         PR ld/20306
76         * elflink.c (elf_link_check_versioned_symbol): Return false
77         for unreferenced undefined symbol.
78
79 2016-06-28  Nick Clifton  <nickc@redhat.com>
80
81         * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
82         is needed.
83
84         * elf32-arm.c (elf32_arm_backend_symbol_processing): New
85         function.  Marks mapping symbols in object files as precious, so
86         that strip will not remove them.
87         (elf_backend_symbol_processing): Define.
88
89 2016-06-28  James Clarke  <jrtc27@jrtc27.com>
90
91         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
92         R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
93
94 2016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
95
96         * elf32-mips.c (elf_mips16_howto_table_rel): Add
97         R_MIPS16_PC16_S1.
98         (mips16_reloc_map): Likewise.
99         * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
100         (mips16_elf64_howto_table_rela): Likewise.
101         (mips16_reloc_map): Likewise.
102         * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
103         (elf_mips16_howto_table_rela): Likewise.
104         (mips16_reloc_map): Likewise.
105         * elfxx-mips.c (mips16_branch_reloc_p): New function.
106         (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
107         (b_reloc_p): Likewise.
108         (mips_elf_calculate_relocation): Likewise.
109         (_bfd_mips_elf_check_relocs): Likewise.
110         * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
111         * bfd-in2.h: Regenerate.
112         * libbfd.h: Regenerate.
113
114 2016-06-27  Alan Modra  <amodra@gmail.com>
115
116         PR ld/19264
117         * elf64-ppc.c (STUB_SHRINK_ITER): Define.
118         (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
119         if shrinking stubs.
120         (ppc64_elf_size_stubs): Adjust to suit.
121
122 2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
123
124         * elf32-dlx.h: New file.
125         * elf32-dlx.c: Adjust.
126
127 2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
128
129         * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
130
131 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
132
133         * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
134         notes.
135
136 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
137
138         * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
139         FreeBSD.  Remove case for NT_FREEBSD_THRMISC.
140         (elfcore_grok_freebsd_psinfo): New function.
141         (elfcore_grok_freebsd_prstatus): New function.
142         (elfcore_grok_freebsd_note): New function.
143         (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
144         notes.
145
146 2016-06-24  Joel Brobecker  <brobecker@adacore.com>
147
148         * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
149         than its existance.
150
151 2016-06-24  Alan Modra  <amodra@gmail.com>
152
153         * config.bfd: Delete mips vxworks patterns matched earlier.
154         Combine mips*-*-none with mips*-*-elf*.
155
156 2016-06-21  Maciej W. Rozycki  <macro@imgtec.com>
157
158         * elfxx-mips.c (mips_elf_perform_relocation): Call
159         `info->callbacks->einfo' rather than `*_bfd_error_handler' and
160         use the `%X%H' format for the cross-mode jump conversion error
161         message.  Remove the full stop from the end of the message.
162         Continue processing rather than returning failure.
163
164 2016-06-21  Graham Markall  <graham.markall@embecosm.com>
165
166         * archures.c: Remove bfd_mach_arc_nps400.
167         * bfd-in2.h: Likewise.
168         * cpu-arc.c (arch_info_struct): Likewise.
169         * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
170         Likewise.
171
172 2016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
173
174         PR ld/18250
175         PR ld/20267
176         * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
177         defined.
178         (elf_link_is_defined_archive_symbol): Call
179         bfd_link_plugin_object_p on unknown plugin object and use the
180         IR symbol table if the input is an IR object.
181         * plugin.c (bfd_link_plugin_object_p): New function.
182         * plugin.h (bfd_link_plugin_object_p): New prototype.
183
184 2016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
185
186         PR ld/20276
187         * elflink.c (elf_link_add_object_symbols): Don't check alignment
188         on symbol from plugin dummy input.
189
190 2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
191
192         * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
193         bfd_plugin_unknown.
194         * bfd-in2.h: Regenerated.
195         * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
196         with bfd_plugin_unknown.
197
198 2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
199
200         PR ld/20253
201         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
202         bfd_boolean argument.
203         * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
204         "shared object" with "PIC object" in comments.
205         (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
206         "shared object" with "PIC object" in comments.  Avoid PLT if
207         requested.  Generate dynamic relocations for non-GOT references.
208         Make room for the special first entry in PLT and allocate PLT
209         entry only for PLT and PC-relative references.  Store dynamic
210         GOT relocations in .rel[a].iplt section for static executables.
211         If PLT isn't used, always use GOT for symbol value.  Don't
212         allocate GOT entry if it isn't used.
213         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
214         count only in the code section.  Allocate dynamic pointer
215         relocation against STT_GNU_IFUNC symbol in the non-code section.
216         (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
217         only for PC-relative references.
218         (elf_i386_allocate_dynrelocs): Pass TRUE to
219         _bfd_elf_allocate_ifunc_dyn_relocs.
220         (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
221         relocations against STT_GNU_IFUNC symbols without PLT.  Generate
222         dynamic pointer relocation against STT_GNU_IFUNC symbol in
223         the non-code section and store it in the proper REL section.
224         Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
225         without PLT.
226         (elf_i386_finish_dynamic_symbol): Generate dynamic
227         R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
228         STT_GNU_IFUNC symbols without PLT.
229         (elf_i386_finish_dynamic_sections): Don't handle local
230         STT_GNU_IFUNC symbols here.
231         (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
232         symbols here.
233         (elf_backend_output_arch_local_syms): New.
234         * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
235         count only in the code section.  Allocate dynamic pointer
236         relocation against STT_GNU_IFUNC symbol in the non-code section.
237         (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
238         count only for PC-relative references.
239         (elf_x86_64_allocate_dynrelocs): Pass TRUE to
240         _bfd_elf_allocate_ifunc_dyn_relocs.
241         (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
242         R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
243         R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
244         without PLT.  Generate dynamic pointer relocation against
245         STT_GNU_IFUNC symbol in the non-code section and store it in
246         the proper RELA section.  Don't allow non-pointer relocation
247         against STT_GNU_IFUNC symbol without PLT.
248         (elf_x86_64_finish_dynamic_symbol): Generate dynamic
249         R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
250         STT_GNU_IFUNC symbols without PLT.
251         (elf_x86_64_finish_dynamic_sections): Don't handle local
252         STT_GNU_IFUNC symbols here.
253         (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
254         symbols here.
255         (elf_backend_output_arch_local_syms): New.
256         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
257         Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
258
259 2016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
260             Tony Wang  <tony.wang@arm.com>
261
262         * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
263         sequence.
264         (stub_long_branch_thumb2_only): Define stub.
265         (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
266         (arm_stub_long_branch_thumb2_only): Likewise.
267         (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
268         capable targets.
269
270 2016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
271
272         * archures.c (bfd_mach_sparc_v8plusc): Define.
273         (bfd_mach_sparc_v9c): Likewise.
274         (bfd_mach_sparc_v8plusd): Likewise.
275         (bfd_mach_sparc_v9d): Likewise.
276         (bfd_mach_sparc_v8pluse): Likewise.
277         (bfd_mach_sparc_v9e): Likewise.
278         (bfd_mach_sparc_v8plusv): Likewise
279         (bfd_mach_sparc_v9v): Likewise.
280         (bfd_mach_sparc_v8plusm): Likewise.
281         (bfd_mach_sparc_v9m): Likewise.
282         (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
283         (bfd_mach_sparc_64bit_p): Likewise.
284         * bfd-in2.h: Regenerate.
285         * cpu-sparc.c (arch_info_struct): Add entries for
286         bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
287         * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
288         and bfd_mach_sparc_v9{c,d,e,v,m}.
289         * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
290         * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
291
292 2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
293
294         * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
295         symbols for relocations against IFUNC symbols.
296         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
297
298 2016-06-16  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
299
300         * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
301         .rela.iplt in DT_PLTRELSZ.
302         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
303         for DT_PLTRELSZ and DT_RELASZ as well.
304
305 2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
306
307         * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
308         non-loaded, non-alloced sections.
309         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
310
311 2016-06-15  H.J. Lu  <hongjiu.lu@intel.com>
312
313         * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
314         allocating dynamic relocation.
315         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
316
317 2016-06-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
318
319         PR ld/20254
320         * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
321         offsets until reloc_toaddr.
322
323 2016-06-14  H.J. Lu  <hongjiu.lu@intel.com>
324
325         * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
326         Don't check symbol type for STN_UNDEF symbol index.
327         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
328         R_X86_64_IRELATIVE.  Don't check symbol type for STN_UNDEF symbol
329         index.
330
331 2016-06-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
332
333         * elf32-arm.c (using_thumb_only): Force review of arch check logic for
334         new architecture.
335         (using_thumb2): Try Tag_THUMB_ISA_use first and check
336         for exact arch value then.  Force review of arch check logic for new
337         architecture.
338         (arch_has_arm_nop): Update and fix arch check logic.  Force review of
339         that logic for new architecture.
340         (arch_has_thumb2_nop): Remove.
341         (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
342         (elf32_arm_final_link_relocate): Likewise but using thumb2.
343
344 2016-06-14  Alan Modra  <amodra@gmail.com>
345
346         * bfd-in.h (bfd_my_archive): Delete.
347         * bfd-in2.h: Regenerate.
348
349 2016-06-14  Alan Modra  <amodra@gmail.com>
350
351         PR ld/20241
352         * archive.c (open_nested_file): Set my_archive.
353         * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
354         for thin archives.
355         * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
356         (bfd_seek): Likewise.
357         * bfdwin.c (bfd_get_file_window): Likewise.
358         * cache.c (cache_bmmap): Likewise.
359         (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
360         * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
361         thin archives.
362         * plugin.c (try_claim): Likewise.
363         * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
364         file within thin archive, not the archive.
365
366 2016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
367
368         PR ld/20244
369         * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
370         section address for R_386_GOT32/R_386_GOT32X relocations against
371         IFUNC symbols if there is no base register and return error for
372         PIC.
373
374 2016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
375
376         * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
377         GOT32 adjustment for static executables.
378
379 2016-06-13  Maciej W. Rozycki  <macro@imgtec.com>
380
381         * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
382
383 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
384
385         * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
386
387 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
388
389         * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
390
391 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
392
393         * elf32-arc.c (arc_local_data, arc_local_data): Removed.
394         (SECTSTART): Changed.
395         (elf_arc_relocate_section): Fixed mistake in PIE related
396         condition.
397         (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
398
399 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
400
401         * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
402         enable support for "-z combreloc" and DT_RELACOUNT.
403         (elf_backend_reloc_type_class): Likewise
404
405 2016-06-11  H.J. Lu  <hongjiu.lu@intel.com>
406
407         PR ld/20244
408         * elf32-i386.c (elf_i386_relocate_section): When relocating
409         R_386_GOT32, return error without a base register for PIC and
410         subtract the .got.plt section address only with a base register.
411
412 2016-06-10  Alan Modra  <amodra@gmail.com>
413
414         * elf-strtab.c (struct strtab_save): Use size_t for "size".
415         (struct elf_strtab_hash): Likewise for "size" and "alloced".
416         (_bfd_elf_strtab_init): Formatting.
417         (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
418         (_bfd_elf_strtab_addref): Take size_t idx param.
419         (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
420         (_bfd_elf_strtab_offset): Likewise.
421         (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
422         (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
423         (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
424         (_bfd_elf_strtab_finalize): Similarly.
425         * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
426         (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
427         (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
428         * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
429         using bfd_size_type.
430         (bfd_section_from_shdr): Delete amt.
431         (_bfd_elf_init_reloc_shdr): Likewise.
432         (_bfd_elf_link_assign_sym_version): Likewise.
433         (assign_section_numbers): Use size_t reloc_count.
434         * elflink.c (struct elf_symbuf_head): Use size_t "count".
435         (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
436         (elf_link_is_defined_archive_symbol): Likewise.
437         (elf_add_dt_needed_tag): Likewise.
438         (elf_finalize_dynstr): Likewise.
439         (elf_link_add_object_symbols): Likewise.
440         (bfd_elf_size_dynamic_sections): Likewise.
441         (elf_create_symbuf): Similarly.
442         (bfd_elf_match_symbols_in_sections): Likewise.
443         (elf_link_swap_symbols_out): Likewise.
444         (elf_link_check_versioned_symbol): Likewise.
445         (bfd_elf_gc_record_vtinherit): Likewise.
446         (bfd_elf_gc_common_finalize_got_offsets): Likewise.
447
448 2016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
449
450         PR ld/20221
451         * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
452         and relocs only if shrinking occurred.
453
454 2016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
455
456         * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
457         (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
458         (elf_i386_check_tls_transition): Check indirect call and direct
459         call with the addr32 prefix for general and local dynamic models.
460         Set the tls_get_addr feild.
461         (elf_i386_convert_load_reloc): Always use addr32 prefix for
462         indirect ___tls_get_addr call via GOT.
463         (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
464         transitions with indirect call and direct call with the addr32
465         prefix.
466
467 2016-06-07  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
468
469         * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
470         * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
471         (elf_s390_relocate_section): Fix comment.
472         (elf_s390_finish_dynamic_sections): Fix initialization of fixed
473         .got.plt entries.
474
475 2016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
476
477         * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
478         section offset when calculation the larl operand in the first PLT
479         entry.
480
481 2016-06-07  Alan Modra  <amodra@gmail.com>
482
483         * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
484         to match other 32-bit archs.
485         * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
486         (ppc_elf_object_p): Call it.
487         (ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
488         overlong line.
489         (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
490         * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
491         * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
492         _bfd_elf_ppc_at_tprel_transform): Move to..
493         * elf-bfd.h: ..here.
494         (_bfd_elf_ppc_set_arch): Declare.
495         * bfd-in2.h: Regenerate.
496
497 2016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
498
499         * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
500         (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
501         (elf_x86_64_check_tls_transition): Check indirect call and
502         direct call with the addr32 prefix for general and local dynamic
503         models.  Set the tls_get_addr feild.
504         (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
505         indirect __tls_get_addr call via GOT.
506         (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
507         transitions with indirect call and direct call with the addr32
508         prefix.
509
510 2016-06-04  Christian Groessler  <chris@groessler.org>
511
512         * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
513
514 2016-06-02  Nick Clifton  <nickc@redhat.com>
515
516         PR target/20088
517         * cpu-arm.c (processors): Add "arm_any" type to match any ARM
518         architecture.
519         (arch_info_struct): Likewise.
520         (architectures): Likewise.
521
522 2016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
523
524         * config.bfd: Replace -uclibc with *.
525
526 2016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
527
528         * elf64-x86-64.c: Replace data32 with data16 in comments.
529
530 2016-05-31  Alan Modra  <amodra@gmail.com>
531
532         PR ld/20159
533         PR ld/16467
534         * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
535         (_bfd_elf_add_default_symbol): Don't indirect to/from defined
536         symbol given a version by a script different to the version
537         of the symbol being added.
538         (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
539         _bfd_elf_strtab_restore.  Don't fudge dynstr references.
540         * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
541         (struct strtab_save): New.
542         (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
543         * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
544         (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
545
546 2016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
547
548         * elf32-hppa.h: Add extern "C".
549         * elf32-nds32.h: Likewise.
550         * elf32-tic6x.h: Likewise.
551
552 2016-06-01  Nick Clifton  <nickc@redhat.com>
553
554         * po/sr.po: New Serbian translation.
555         * configure.ac (ALL_LINGUAS): Add sr.
556         * configure: Regenerate.
557
558 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
559
560         * elfxx-mips.c (b_reloc_p): New function.
561         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
562         branch relocations.
563
564 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
565
566         * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
567         <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
568         reloc location from calculation, treat the addend as signed with
569         local non-section symbols and enable overflow detection.
570
571 2016-05-28  Alan Modra  <amodra@gmail.com>
572
573         * aoutx.h: Adjust linker callback calls throughout file,
574         removing dead code.
575         * bout.c: Likewise.
576         * coff-alpha.c: Likewise.
577         * coff-arm.c: Likewise.
578         * coff-h8300.c: Likewise.
579         * coff-h8500.c: Likewise.
580         * coff-i960.c: Likewise.
581         * coff-mcore.c: Likewise.
582         * coff-mips.c: Likewise.
583         * coff-ppc.c: Likewise.
584         * coff-rs6000.c: Likewise.
585         * coff-sh.c: Likewise.
586         * coff-tic80.c: Likewise.
587         * coff-w65.c: Likewise.
588         * coff-z80.c: Likewise.
589         * coff-z8k.c: Likewise.
590         * coff64-rs6000.c: Likewise.
591         * cofflink.c: Likewise.
592         * ecoff.c: Likewise.
593         * elf-bfd.h: Likewise.
594         * elf-m10200.c: Likewise.
595         * elf-m10300.c: Likewise.
596         * elf32-arc.c: Likewise.
597         * elf32-arm.c: Likewise.
598         * elf32-avr.c: Likewise.
599         * elf32-bfin.c: Likewise.
600         * elf32-cr16.c: Likewise.
601         * elf32-cr16c.c: Likewise.
602         * elf32-cris.c: Likewise.
603         * elf32-crx.c: Likewise.
604         * elf32-d10v.c: Likewise.
605         * elf32-epiphany.c: Likewise.
606         * elf32-fr30.c: Likewise.
607         * elf32-frv.c: Likewise.
608         * elf32-ft32.c: Likewise.
609         * elf32-h8300.c: Likewise.
610         * elf32-hppa.c: Likewise.
611         * elf32-i370.c: Likewise.
612         * elf32-i386.c: Likewise.
613         * elf32-i860.c: Likewise.
614         * elf32-ip2k.c: Likewise.
615         * elf32-iq2000.c: Likewise.
616         * elf32-lm32.c: Likewise.
617         * elf32-m32c.c: Likewise.
618         * elf32-m32r.c: Likewise.
619         * elf32-m68hc1x.c: Likewise.
620         * elf32-m68k.c: Likewise.
621         * elf32-mep.c: Likewise.
622         * elf32-metag.c: Likewise.
623         * elf32-microblaze.c: Likewise.
624         * elf32-moxie.c: Likewise.
625         * elf32-msp430.c: Likewise.
626         * elf32-mt.c: Likewise.
627         * elf32-nds32.c: Likewise.
628         * elf32-nios2.c: Likewise.
629         * elf32-or1k.c: Likewise.
630         * elf32-ppc.c: Likewise.
631         * elf32-s390.c: Likewise.
632         * elf32-score.c: Likewise.
633         * elf32-score7.c: Likewise.
634         * elf32-sh.c: Likewise.
635         * elf32-sh64.c: Likewise.
636         * elf32-spu.c: Likewise.
637         * elf32-tic6x.c: Likewise.
638         * elf32-tilepro.c: Likewise.
639         * elf32-v850.c: Likewise.
640         * elf32-vax.c: Likewise.
641         * elf32-visium.c: Likewise.
642         * elf32-xstormy16.c: Likewise.
643         * elf32-xtensa.c: Likewise.
644         * elf64-alpha.c: Likewise.
645         * elf64-hppa.c: Likewise.
646         * elf64-ia64-vms.c: Likewise.
647         * elf64-mmix.c: Likewise.
648         * elf64-ppc.c: Likewise.
649         * elf64-s390.c: Likewise.
650         * elf64-sh64.c: Likewise.
651         * elf64-x86-64.c: Likewise.
652         * elflink.c: Likewise.
653         * elfnn-aarch64.c: Likewise.
654         * elfnn-ia64.c: Likewise.
655         * elfxx-mips.c: Likewise.
656         * elfxx-sparc.c: Likewise.
657         * elfxx-tilegx.c: Likewise.
658         * linker.c: Likewise.
659         * pdp11.c: Likewise.
660         * pe-mips.c: Likewise.
661         * reloc.c: Likewise.
662         * reloc16.c: Likewise.
663         * simple.c: Likewise.
664         * vms-alpha.c: Likewise.
665         * xcofflink.c: Likewise.
666         * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
667         status param.  Adjust calls to these and linker callbacks throughout.
668         * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
669         get_ramstart): Delete status param.  Adjust calls to these and
670         linker callbacks throughout.
671
672 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
673
674         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
675         <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
676         target alignment verification.
677
678 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
679
680         * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
681         section name if `bfd_elf_string_from_elf_section' returns an
682         empty string.
683
684 2016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
685
686         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
687         <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
688         for message.  Continue processing rather than returning failure.
689
690 2016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
691
692         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
693         <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
694         Call `bfd_set_error'.
695
696 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
697
698         PR binutils/14625
699         * archive.c (bfd_slurp_armap): Replace
700         bfd_elf64_archive_slurp_armap with
701         _bfd_archive_64_bit_slurp_armap.
702         (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
703         BFD64 is defined and the archive is too big.
704         (coff_write_armap): Likewise.
705         * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
706         (_bfd_archive_64_bit_slurp_armap): This.
707         (bfd_elf64_archive_write_armap): Renamed to ...
708         (_bfd_archive_64_bit_write_armap): This.
709         * configure.ac: Add --enable-64-bit-archive.
710         (want_64_bit_archive): New.  Set to true by default for 64-bit
711         MIPS and s390 ELF targets.
712         (USE_64_BIT_ARCHIVE): New AC_DEFINE.
713         * config.in: Regenerated.
714         * configure: Likewise.
715         * elf64-mips.c (bfd_elf64_archive_functions): Removed.
716         (bfd_elf64_archive_slurp_armap): Likewise.
717         (bfd_elf64_archive_write_armap): Likewise.
718         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
719         (bfd_elf64_archive_construct_extended_name_table): Likewise.
720         (bfd_elf64_archive_truncate_arname): Likewise.
721         (bfd_elf64_archive_read_ar_hdr): Likewise.
722         (bfd_elf64_archive_write_ar_hdr): Likewise.
723         (bfd_elf64_archive_openr_next_archived_file): Likewise.
724         (bfd_elf64_archive_get_elt_at_index): Likewise.
725         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
726         (bfd_elf64_archive_update_armap_timestamp): Likewise.
727         * elf64-s390.c (bfd_elf64_archive_functions): Removed.
728         (bfd_elf64_archive_slurp_armap): Likewise.
729         (bfd_elf64_archive_write_armap): Likewise.
730         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
731         (bfd_elf64_archive_construct_extended_name_table): Likewise.
732         (bfd_elf64_archive_truncate_arname): Likewise.
733         (bfd_elf64_archive_read_ar_hdr): Likewise.
734         (bfd_elf64_archive_write_ar_hdr): Likewise.
735         (bfd_elf64_archive_openr_next_archived_file): Likewise.
736         (bfd_elf64_archive_get_elt_at_index): Likewise.
737         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
738         (bfd_elf64_archive_update_armap_timestamp): Likewise.
739         * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
740         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
741         bfd_elfNN_archive_functions isn't defined.
742         (TARGET_LITTLE_SYM): Likewise.
743         * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
744         (_bfd_archive_64_bit_write_armap): Likewise.
745         (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
746         (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
747         (_bfd_archive_64_bit_truncate_arname): Likewise.
748         (_bfd_archive_64_bit_read_ar_hdr): Likewise.
749         (_bfd_archive_64_bit_write_ar_hdr): Likewise.
750         (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
751         (_bfd_archive_64_bit_get_elt_at_index): Likewise.
752         (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
753         (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
754         * libbfd.h: Regenerated.
755         * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
756         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
757
758 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
759
760         PR ld/20103
761         * cofflink.c (coff_link_check_archive_element): Return TRUE if
762         linker add_archive_element callback returns FALSE.
763         * ecoff.c (ecoff_link_check_archive_element): Likewise.
764         * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
765         archive element if linker add_archive_element callback returns
766         FALSE.
767         * elflink.c (elf_link_add_archive_symbols): Likewise.
768         * pdp11.c (aout_link_check_ar_symbols): Likewise.
769         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
770         * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
771         (xcoff_link_check_ar_symbols): Likewise.
772
773 2016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
774
775         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
776         <bfd_reloc_outofrange>: Unify error reporting code.
777
778 2016-05-23  Jim Wilson  <jim.wilson@linaro.org>
779
780         * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
781         R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
782         * relocs.c: Add BFD_RELOC_AARCH64_NULL.
783         * bfd-in2.h: Regenerate.
784         * libbfd.h: Likewise.
785
786 2016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
787
788         * config.bfd: Add entry for arm-phoenix.
789
790 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
791
792         * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
793         (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
794         account for padding for stub section requiring one.
795         (elf32_arm_build_stubs): Add comment to stress the importance of
796         zeroing veneer section content.
797
798 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
799
800         * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
801         bfd hook.
802         * bfd-in2.h: Regenerate.
803         * elf32-arm.c (arm_dedicated_stub_output_section_required): New
804         function.
805         (arm_dedicated_stub_output_section_required_alignment): Likewise.
806         (arm_dedicated_stub_output_section_name): Likewise.
807         (arm_dedicated_stub_input_section_ptr): Likewise.
808         (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
809         function description comment. Add support for dedicated output stub
810         section to given stub types.
811         (elf32_arm_add_stub): Add a stub type parameter and pass it down to
812         elf32_arm_create_or_find_stub_sec.
813         (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
814         (elf32_arm_size_stubs): Pass stub type when calling
815         elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
816         (bfd_elf32_arm_keep_private_stub_output_sections): New function.
817
818 2016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
819
820         * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
821         when setting need_convert_load.
822
823 2016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
824
825         * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
826         microMIPS JALX.
827
828 2016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
829
830         PR ld/20117
831         * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
832         R_386_GOT32X.
833         (elf_i386_convert_load): Don't convert R_386_GOT32.
834
835 2016-05-20  Alan Modra  <amodra@gmail.com>
836
837         PR gas/20118
838         * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
839         SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
840
841 2016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
842
843         * elf32-arc.c (arc_elf_final_write_processing): Changed.
844         (debug_arc_reloc): Likewise.
845         (elf_arc_relocate_section): Likewise.
846         (elf_arc_check_relocs): Likewise.
847         (elf_arc_adjust_dynamic_symbol): Likewise.
848         (elf_arc_add_symbol_hook): Likewise.
849
850 2016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
851
852         * config.bfd: Remove `am34-*-linux*' support.
853
854 2016-05-19  Alan Modra  <amodra@gmail.com>
855
856         * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
857         relocs before plt relocs.
858
859 2016-05-19  Alan Modra  <amodra@gmail.com>
860
861         * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
862         before dereferencing.
863
864 2016-05-18  Nick Clifton  <nickc@redhat.com>
865
866         * po/sv.po: Updated Swedish translation.
867
868 2016-05-18  Alan Modra  <amodra@gmail.com>
869
870         * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
871         for each BFD.  Don't goto error_ret_free_local from outside loop.
872
873 2016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
874
875         * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
876         STB_GNU_UNIQUE handling.
877         * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
878         * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
879         * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
880         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
881         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
882         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
883         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
884         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
885         * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
886         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
887         * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
888         (elf_backend_add_symbol_hook): Remove macro.
889         * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
890         for STB_GNU_UNIQUE symbols.
891
892 2016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
893
894         * elf32-v850.c (v850_elf_copy_notes): New function, factored out
895         from...
896         (v850_elf_copy_private_bfd_data): ... here.  Call the new
897         function and `_bfd_elf_copy_private_bfd_data'.
898
899 2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
900
901         PR ld/20093
902         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
903         GOTPCREL relocation against large section.
904
905 2016-05-13  Alan Modra  <amodra@gmail.com>
906
907         * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
908         linker dynamic sections in calculating size and address of
909         dynamic tags rather than using output sections.  Remove asserts.
910         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
911         * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
912         * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
913         * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
914         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
915         * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
916         * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
917         * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
918         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
919         * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
920         * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
921         * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
922         * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
923         * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
924         * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
925         * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
926         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
927         * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
928         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
929         * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
930         * elflink.c (bfd_elf_final_link): Likewise.
931         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
932         * elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
933         * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
934         don't set doit.  Look up dynobj section.
935         (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
936         invocation and dynamic tag vma calculation.  Don't test
937         boolean var == TRUE.
938         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
939         DT_JMPREL calc.
940
941 2016-05-13  Alan Modra  <amodra@gmail.com>
942
943         * elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
944         octets_per_byte.  Put dynamic .rela.plt last in link orders.
945         Assign output_offset for reloc sections rather than writing
946         sorted relocs from block corresponding to output_offset.
947
948 2016-05-12  Alan Modra  <amodra@gmail.com>
949
950         * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
951
952 2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
953
954         * elfxx-mips.c (print_mips_ases): Add DSPR3.
955
956 2016-05-11  Alan Modra  <amodra@gmail.com>
957
958         * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
959         (elf32_hppa_check_relocs): Don't set dynobj.
960         (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
961         (elf32_hppa_build_stubs): Likewise.
962         * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
963
964 2016-05-11  Alan Modra  <amodra@gmail.com>
965
966         PR 20060
967         * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
968         * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
969
970 2016-05-10  Jiong Wang  <jiong.wang@arm.com>
971
972         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
973         aarch64_tls_transition check.
974
975 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
976
977         * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
978         enumerator.
979         (arm_stub_sym_claimed): New function.
980         (elf32_arm_create_stub): Use veneered symbol name and section if
981         veneer needs to claim its symbol, and keep logic unchanged otherwise.
982         (arm_stub_claim_sym): New function.
983         (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
984         veneered symbol, otherwise create local symbol as before.
985
986 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
987
988         * elf32-arm.c (elf32_arm_size_stubs): Use new macros
989         ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
990         and set branch type of a symbol.
991         (bfd_elf32_arm_process_before_allocation): Likewise.
992         (elf32_arm_relocate_section): Likewise and fix identation along the
993         way.
994         (allocate_dynrelocs_for_symbol): Likewise.
995         (elf32_arm_finish_dynamic_symbol): Likewise.
996         (elf32_arm_swap_symbol_in): Likewise.
997         (elf32_arm_swap_symbol_out): Likewise.
998
999 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1000
1001         * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1002         * bfd-in2.h: Regenerated.
1003         * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1004         parameter to add_stub_section callback.
1005         (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1006         and pass it down to add_stub_section.
1007         (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1008         for error message.
1009         (elf32_arm_size_stubs): Add output section parameter to
1010         add_stub_section function pointer parameter.
1011
1012 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1013
1014         * elf32-arm.c (elf32_arm_create_stub): New function.
1015         (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1016
1017 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1018
1019         * elf32-arm.c (enum elf32_arm_stub_type): Delete
1020         arm_stub_a8_veneer_lwm enumerator.
1021         (arm_stub_a8_veneer_lwm): New unsigned constant to replace
1022         aforementioned enumerator.
1023         (struct elf32_arm_stub_hash_entry): Delete target_addend
1024         field and add source_value.
1025         (struct a8_erratum_fix): Delete addend field and add target_offset.
1026         (stub_hash_newfunc): Initialize source_value field amd remove
1027         initialization for target_addend.
1028         (arm_build_one_stub): Stop special casing Thumb relocations: promote
1029         the else to being always executed, moving the
1030         arm_stub_a8_veneer_b_cond specific code in it.  Remove
1031         stub_entry->target_addend from points_to computation.
1032         (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1033         to target symbol from start of section rather than the offset from the
1034         stub address.
1035         (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1036         fields from struct a8_erratum_fix's offset and target_offset
1037         respectively.
1038         (make_branch_to_a8_stub): Rename target variable to loc.  Compute
1039         veneered_insn_loc and loc using stub_entry's source_value.
1040
1041 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1042
1043         (elf32_arm_merge_eabi_attributes): Add merging logic for
1044         Tag_DSP_extension.
1045
1046 2016-05-10  Pip Cet  <pipcet@gmail.com>
1047
1048         PR ld/20059
1049         * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1050         Define as _bfd_generic_copy_link_hash_symbol_type when using
1051         generic hash table.
1052
1053 2016-05-09  Nick Clifton  <nickc@redhat.com>
1054
1055         PR binutils/20063
1056         * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1057         field before accessing sections array.
1058
1059 2016-05-09  Christophe Monat  <christophe.monat@st.com>
1060
1061         PR ld/20030
1062         * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1063         (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1064         to nb_words.
1065         (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1066         encoding.
1067         (create_instruction_vldmdb): Likewise.
1068         (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1069         uses it to re-encode.
1070
1071 2016-05-09  Nick Clifton  <nickc@redhat.com>
1072
1073         PR 19938
1074         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1075         commit.
1076
1077 2016-05-09  Alan Modra  <amodra@gmail.com>
1078
1079         * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1080
1081 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1082
1083         PR ld/17550
1084         * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1085         documenting that indx == -3 if symbol is defined in a discarded
1086         section.
1087         * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1088         symbol is defined in a discarded section.
1089         (elf_link_output_extsym): Strip a global symbol defined in a
1090         discarded section.
1091
1092 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1093
1094         * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1095         MCU.
1096
1097 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1098
1099         * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1100         conversion to ...
1101         (elf_i386_convert_load_reloc): This.  New function.
1102         * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1103         conversion to ...
1104         (elf_x86_64_convert_load_reloc): This.  New function.
1105
1106 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1107
1108         * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1109         Don't check if contents == NULL.
1110         (elf_i386_tls_transition): Add from_relocate_section.  Check
1111         from_relocate_section instead of contents != NULL.  Update
1112         elf_i386_check_tls_transition call.
1113         (elf_i386_check_relocs): Cache the section contents if
1114         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1115         elf_i386_tls_transition.
1116         (elf_i386_relocate_section): Pass TRUE as from_relocate_section
1117         to elf_i386_tls_transition.
1118         (elf_backend_caches_rawsize): New.
1119         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1120         if contents == NULL.
1121         (elf_x86_64_tls_transition): Add from_relocate_section.  Check
1122         from_relocate_section instead of contents != NULL.
1123         (elf_x86_64_check_relocs): Cache the section contents if
1124         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1125         elf_x86_64_tls_transition.
1126         (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1127         to elf_x86_64_tls_transition.
1128         (elf_backend_caches_rawsize): New.
1129
1130 2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
1131
1132         PR 10549
1133         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1134         STB_GNU_UNIQUE.
1135
1136 2016-05-03  Jiong Wang  <jiong.wang@arm.com>
1137
1138         * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1139         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1140         * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1141         no_apply_dynamic_relocs.
1142         (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1143         dynamic relocations generated.
1144
1145 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1146
1147         * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1148         setting to ...
1149         (elf_i386_create_dynamic_sections): Here.
1150         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1151         interp setting to ...
1152         (elf_x86_64_create_dynamic_sections): Here.
1153
1154 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1155
1156         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1157         and replace (EH)->has_got_reloc with GOT_RELOC.
1158         (elf_i386_fixup_symbol): Pass has_got_reloc to
1159         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1160         (elf_i386_allocate_dynrelocs): Likewise.
1161         (elf_i386_relocate_section): Likewise.
1162         (elf_i386_finish_dynamic_symbol): Likewise.
1163         (elf_i386_convert_load): Pass TRUE to
1164         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1165         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1166         GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1167         (elf_x86_64_fixup_symbol): Pass has_got_reloc to
1168         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1169         (elf_x86_64_allocate_dynrelocs): Likewise.
1170         (elf_x86_64_relocate_section): Likewise.
1171         (elf_x86_64_finish_dynamic_symbol): Likewise.
1172         (elf_x86_64_convert_load): Pass TRUE to
1173         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1174
1175 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1176
1177         * elf32-i386.c (check_relocs_failed): New.
1178         (elf_i386_check_relocs): Set check_relocs_failed on error.
1179         (elf_i386_relocate_section): Skip if check_relocs failed.
1180
1181 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1182
1183         * elf64-x86-64.c (elf_x86_64_check_relocs): Set
1184         check_relocs_failed on error.
1185
1186 2016-04-29  Nick Clifton  <nickc@redhat.com>
1187
1188         PR 19938
1189         * elf-bfd.h (struct elf_backend_data): Rename
1190         elf_backend_set_special_section_info_and_link to
1191         elf_backend_copy_special_section_fields.
1192         * elfxx-target.h: Likewise.
1193         * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1194         comparing section flags.
1195         (copy_special_section_fields): New function.
1196         (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1197         Perform two scans over special sections.  The first one looks for
1198         a direct mapping between the output section and an input section.
1199         The second scan looks for a possible match based upon section
1200         characteristics.
1201         * elf32-arm.c (elf32_arm_copy_special_section_fields): New
1202         function.  Handle setting the sh_link field of SHT_ARM_EXIDX
1203         sections.
1204         * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1205         elf32_i386_copy_solaris_special_section_fields.
1206         * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1207         Rename to elf32_sparc_copy_solaris_special_section_fields.
1208         * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1209         elf64_x86_64_copy_solaris_special_section_fields.
1210
1211 2016-04-28  Nick Clifton  <nickc@redhat.com>
1212
1213         * po/zh_CN.po: Updated Chinese (simplified) translation.
1214
1215 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
1216
1217         PR ld/20006
1218         * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1219         when estimating distances between output sections.
1220
1221 2016-04-27  Alan Modra  <amodra@gmail.com>
1222
1223         * elflink.c (_bfd_elf_is_start_stop): New function.
1224         (_bfd_elf_gc_mark_rsec): Use it.
1225         * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1226
1227 2016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1228
1229         * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1230         * mmo.c (mmo_get_section_contents): Likewise.
1231         (mmo_set_section_contents): Likewise.
1232
1233 2016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
1234
1235         * elf-bfd.h (elf_link_hash_table): Update comments for
1236         dynsymcount.
1237         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1238         the unused NULL entry at the head of dynamic symbol table.
1239         (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1240         checks.
1241
1242 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1243
1244         * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1245         created file from dynobj.
1246
1247 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1248
1249         * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1250         normal input file if possible.
1251
1252 2016-04-21  Nick Clifton  <nickc@redhat.com>
1253
1254         * aout-adobe.c: Use _bfd_generic_link_check_relocs.
1255         * aout-target.h: Likewise.
1256         * aout-tic30.c: Likewise.
1257         * binary.c: Likewise.
1258         * bout.c: Likewise.
1259         * coff-alpha.c: Likewise.
1260         * coff-rs6000.c: Likewise.
1261         * coff64-rs6000.c: Likewise.
1262         * coffcode.h: Likewise.
1263         * i386msdos.c: Likewise.
1264         * i386os9k.c: Likewise.
1265         * ieee.c: Likewise.
1266         * ihex.c: Likewise.
1267         * libbfd-in.h: Likewise.
1268         * libecoff.h: Likewise.
1269         * mach-o-target.c: Likewise.
1270         * mmo.c: Likewise.
1271         * nlm-target.h: Likewise.
1272         * oasys.c: Likewise.
1273         * pef.c: Likewise.
1274         * plugin.c: Likewise.
1275         * ppcboot.c: Likewise.
1276         * som.c: Likewise.
1277         * srec.c: Likewise.
1278         * tekhex.c: Likewise.
1279         * versados.c: Likewise.
1280         * vms-alpha.c: Likewise.
1281         * xsym.c: Likewise.
1282         * elfxx-target.h: Use _bfd_elf_link_check_relocs.
1283         * linker.c (bfd_link_check_relocs): New function.
1284         (_bfd_generic_link_check_relocs): New function.
1285         * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1286         _bfd_link_check_relocs field.
1287         (struct bfd_target)L Add _bfd_link_check_relocs field.
1288         * bfd-in2.h: Regenerate.
1289         * libbfd.h: Regenerate.
1290
1291 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1292
1293         * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1294         (elf_backend_gc_sweep_hook): Likewise.
1295         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1296         (elf_backend_gc_sweep_hook): Likewise.
1297
1298 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1299
1300         * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1301         in excluded sections
1302
1303 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1304
1305         PR ld/19969
1306         * elf64-x86-64.c (check_relocs_failed): New.
1307         (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1308         Support relocation agaist local symbol.  Set check_relocs_failed.
1309         (elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
1310         R_X86_64_32 relocation overflow.
1311         (elf_x86_64_relocate_section): Skip if check_relocs failed.
1312         Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1313
1314 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1315
1316         * elf32-i386.c (elf_i386_check_relocs): Call
1317         _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1318         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1319
1320 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1321
1322         * elf-bfd.h (_bfd_elf_link_check_relocs): New.
1323         * elflink.c (_bfd_elf_link_check_relocs): New function.
1324         (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1325         if check_relocs_after_open_input is FALSE.
1326
1327 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1328
1329         * cache.c: Update old style function definitions.
1330         * elf32-m68k.c: Likewise.
1331         * elf64-mmix.c: Likewise.
1332         * stab-syms.c: Likewise.
1333
1334 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1335
1336         * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1337
1338 2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
1339
1340         * Makefile.in: Regenerated with automake 1.11.6.
1341         * aclocal.m4: Likewise.
1342         * doc/Makefile.in: Likewise.
1343
1344 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1345
1346         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1347         * bfd-in2.h: Regenerate.
1348         * libbfd.h: Regenerate.
1349         * elf32-arc.c: Add 'opcode/arc.h' include.
1350         (struct arc_relocation_data): Add symbol_name.
1351         (arc_special_overflow_checks): New function.
1352         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
1353         required, add an extra comment.
1354         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
1355
1356 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1357
1358         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1359         entries.
1360         (elf_arc_relocate_section): Update enum uses.
1361         (elf_arc_check_relocs): Likewise.
1362         (elf_arc_finish_dynamic_symbol): Likewise.
1363
1364 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
1365
1366         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1367         "sh_link".
1368
1369 2016-04-14  Nick Clifton  <nickc@redhat.com>
1370
1371         PR target/19938
1372         * elf-bbfd.h (struct elf_backend_data): New field:
1373         elf_strtab_flags.
1374         New field: elf_backend_set_special_section_info_and_link
1375         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
1376         defined.
1377         (elf_backend_set_special_section_info_and_link): Define if not
1378         already defined.
1379         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1380         elf_backend_strtab_flags macros to initialise fields in structure.
1381         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1382         being set even if SHF_MERGE is not set.
1383         (elf_fake_sections): Likewise.
1384         (section_match): New function.  Matches two ELF sections based
1385         upon fixed characteristics.
1386         (find_link): New function.  Locates a section in a BFD that
1387         matches a section in a different BFD.
1388         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1389         fields of reserved sections.
1390         (bfd_elf_compute_section_file_positions): Set the flags for the
1391         .shstrtab section based upon the elf_strtab_flags field in the
1392         elf_backend_data structure.
1393         (swap_out_syms): Likewise for the .strtab section.
1394         * elflink.c (bfd_elf_final_link): Set the flags for the
1395         .strtab section based upon the elf_strtab_flags field in the
1396         elf_backend_data structure.
1397         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
1398         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1399         targets.
1400         (elf_backend_set_special_section_info_and_link): Define for
1401         Solaris targets.
1402         * elf32-sparc.c: Likewise.
1403         * elf64-x86-64.c: Likewise.
1404
1405 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1406
1407         PR ld/19939
1408         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1409         to bfd_boolean.
1410         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1411         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1412         applies to read-only section.
1413         * elf32-i386.c (elf_i386_link_hash_table): Add
1414         readonly_dynrelocs_against_ifunc.
1415         (elf_i386_allocate_dynrelocs): Updated.
1416         (elf_i386_size_dynamic_sections): Issue an error for read-only
1417         segment with dynamic IFUNC relocations only if
1418         readonly_dynrelocs_against_ifunc is TRUE.
1419         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1420         readonly_dynrelocs_against_ifunc.
1421         (elf_x86_64_allocate_dynrelocs): Updated.
1422         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
1423         segment with dynamic IFUNC relocations only if
1424         readonly_dynrelocs_against_ifunc is TRUE.
1425         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1426         Updated.
1427
1428 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1429
1430         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1431         a fall through from error_ret_free_internal.  Free local_syms in
1432         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1433
1434 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1435
1436         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1437         (relocate_plt_for_entry): Likewise.
1438
1439 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1440
1441         * elf32-arc.c (elf_arc_check_relocs): Changed
1442
1443 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1444
1445         * elf32-arc.c (name_for_global_symbol): Changed assert.
1446         (get_replace_function): Created.:
1447         (struct arc_relocation_data): Changed to signed types.
1448         (defines S, L, P, PDATA): Casted to signed type.
1449         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1450         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1451         (arc_do_relocation): Changed.
1452
1453 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1454
1455         * elf32-arc.c (name_for_global_symbol): Added assert to check for
1456         symbol index.
1457         (elf_arc_relocate_section): Added and changed asserts, validating
1458         the synamic symbol index.
1459         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1460         relocation if symbol has dynindx set to -1.
1461
1462 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
1463
1464         * elflink.c (elf_link_add_object_symbols): Always turn hidden
1465         and internal symbols which have a dynamic index into local
1466         ones.
1467
1468 2016-04-04  Nick Clifton  <nickc@redhat.com>
1469
1470         PR 19872
1471         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1472         version number if the version is zero.
1473
1474 2016-04-01  Alan Modra  <amodra@gmail.com>
1475
1476         PR 19886
1477         * elflink.c (on_needed_list): Recursively check needed status.
1478         (elf_link_add_object_symbols): Adjust.
1479
1480 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1481
1482         * elf32-avr.c (avr_elf32_load_records_from_section): Free
1483         internal_relocs only if they aren't cached.
1484
1485 2016-03-29  Nick Clifton  <nickc@redhat.com>
1486
1487         PR 17334
1488         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1489         assertion on the size of the got section to allow it to be bigger
1490         than the number of relocs.
1491
1492 2016-03-29  Toni Spets  <toni.spets@iki.fi>
1493
1494         PR 19878
1495         * coffcode.h (coff_write_object_contents): Revert accidental
1496         2014-11-10 change.
1497
1498 2016-03-22  Alan Modra  <amodra@gmail.com>
1499
1500         PR 19850
1501         * dwarf2.c (read_attribute_value): Skip info_ptr check for
1502         DW_FORM_flag_present.
1503
1504 2016-03-22  Nick Clifton  <nickc@redhat.com>
1505
1506         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1507         architecture name for backwards compatibility.
1508
1509         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1510         unbounded stack use.
1511
1512         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1513         sufficiently recent version of GCC.
1514         * configure: Regenerate.
1515
1516 2016-03-22  Alan Modra  <amodra@gmail.com>
1517
1518         PR 19851
1519         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1520
1521 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1522
1523         * archures.c (bfd_mach_arc_nps400): Define.
1524         * bfd-in2.h: Regenerate.
1525         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1526         some existing entries to make space.
1527         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
1528         (arc_elf_final_write_processing): Likewise.
1529
1530 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1531
1532         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1533         EF_ARC_CPU_GENERIC.
1534         (arc_elf_final_write_processing): Don't bother setting cpu field
1535         in e_flags, this will have been set elsewhere.
1536
1537 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1538
1539         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
1540         EF_ARC_MACH_MSK.
1541
1542 2016-03-21  Nick Clifton  <nickc@redhat.com>
1543
1544         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1545         * configure: Regenerate.
1546         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1547         alloca with call to xmalloc.
1548         * elf32-nds32.c: Likewise.
1549         * elf64-hppa.c: Likewise.
1550         * elfxx-mips.c: Likewise.
1551         * pef.c: Likewise.
1552         * pei-x86_64.c: Likewise.
1553         * som.c: Likewise.
1554         * xsym.c: Likewise.
1555
1556 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1557
1558         PR ld/19827
1559         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1560         locally in PIE.
1561         (elf_i386_relocate_section): Likewise.
1562         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1563         (elf_x86_64_relocate_section): Likewise.
1564
1565 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1566
1567         PR ld/19807
1568         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1569         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1570         relocation overflow check.
1571
1572 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
1573
1574         * bfd-in2.h: Regenerated.
1575
1576 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
1577
1578         PR 19713
1579         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1580         uses bytes not octets.
1581         * elflink.c (resolve_section): Likewise.
1582         Add a bfd parameter.
1583         (eval_section): Pass the input_bfd to resolve_section.
1584         (bfd_elf_perform_complex_relocation): Convert byte offset to
1585         octets before read and writing values.
1586         (elf_link_input_bfd): Add byte to octet conversions.
1587         (elf_reloc_link_order): Likewise.
1588         (elf_fixup_link_order): Likewise.
1589         (bfd_elf_final_link): Likewise.
1590         * reloc.c (_bfd_final_link_relocate): Likewise.
1591         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1592
1593 2016-03-10  Nick Clifton  <nickc@redhat.com>
1594
1595         * config.bfd: Mark the i370 target as obsolete.
1596
1597 2016-03-09  Pedro Alves  <palves@redhat.com>
1598
1599         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1600         gcc ABI)" to printable name.
1601         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1602         of "v850-rh850" as printable name.
1603
1604 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
1605
1606         PR ld/19623
1607         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1608         relocations against absolute symbols.
1609
1610 2016-03-09  Alan Modra  <amodra@gmail.com>
1611
1612         PR binutils/19775
1613         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1614         length elements in the archive.
1615
1616 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1617
1618         PR ld/19789
1619         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
1620         for -E/--dynamic-list only when not relocatable.
1621
1622 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1623
1624         PR ld/19784
1625         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1626         count for locally defined local IFUNC symbols in shared object.
1627         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1628
1629 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1630
1631         PR ld/19579
1632         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1633         together.
1634
1635 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1636             Andrew Burgess  <andrew.burgess@embecosm.com>
1637
1638         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1639         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
1640         (arc_elf_howto_init): Added assert to validate relocations.
1641         (get_middle_endian_relocation): Delete.
1642         (middle_endian_convert): New function.
1643         (ME): Redefine, now does nothing.
1644         (IS_ME): New define.
1645         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1646         definition to call middle_endian_convert.  Add a new local
1647         variable and make use of this throughout. Added call to
1648         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1649
1650 2016-03-07  Nick Clifton  <nickc@redhat.com>
1651
1652         PR binutils/19775
1653         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
1654         length elements in the archive.
1655
1656 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
1657
1658         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1659         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1660
1661 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
1662
1663         PR ld/19579
1664         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1665         executable as definition if the new definition comes from a
1666         shared library.
1667
1668 2016-03-02  Alan Modra  <amodra@gmail.com>
1669
1670         * Makefile.in: Regenerate.
1671         * po/SRC-POTFILES.in: Regenerate.
1672
1673 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
1674
1675         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1676         relocation addend when sections get merged.
1677
1678 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1679
1680         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
1681         the flag change.
1682         (elf_arc_relocate_section): Fixes and conditions to support PIE.
1683         Assert for code sections dynamic relocs.
1684
1685 2016-02-26  Renlin Li  <renlin.li@arm.com>
1686
1687         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1688         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1689
1690 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1691
1692         PR ld/19609
1693         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1694         load with locally bound symbols if PIC is false or there is no
1695         base register.  Optimize branch to 0 if PIC is false.
1696         (elf_i386_relocate_section): Don't generate dynamic relocations
1697         against undefined weak symbols if PIC is false.
1698         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1699         if we can't estimate relocation overflow with --no-relax.
1700         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1701         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
1702         (elf_x86_64_relocate_section): Don't generate dynamic relocations
1703         against undefined weak symbols if PIC is false.
1704
1705 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1706
1707         PR ld/19645
1708         * bfd.c (bfd): Change flags to 20 bits.
1709         (BFD_CONVERT_ELF_COMMON): New.
1710         (BFD_USE_ELF_STT_COMMON): Likewise.
1711         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1712         BFD_USE_ELF_STT_COMMON.
1713         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1714         * configure.ac: Remove --enable-elf-stt-common.
1715         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1716         common symbol depending on BFD_CONVERT_ELF_COMMON and
1717         BFD_USE_ELF_STT_COMMON.
1718         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1719         STT_COMMON.
1720         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1721         STT_COMMON.
1722         (elf_link_convert_common_type): New function.
1723         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1724         common symbol depending on BFD_CONVERT_ELF_COMMON and
1725         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
1726         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1727         and BFD_USE_ELF_STT_COMMON to object_flags.
1728         (TARGET_LITTLE_SYM): Likewise.
1729         * syms.c (BSF_KEEP_G): Renamed to ...
1730         (BSF_ELF_COMMON): This.
1731         * bfd-in2.h: Regenerated.
1732         * config.in: Likewise.
1733         * configure: Likewise.
1734
1735 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1736
1737         PR ld/19636
1738         PR ld/19704
1739         PR ld/19719
1740         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1741         (elf_i386_link_hash_entry): Add has_got_reloc and
1742         has_non_got_reloc.
1743         (elf_i386_link_hash_table): Add interp.
1744         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1745         has_non_got_reloc.
1746         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1747         has_non_got_reloc.
1748         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1749         (elf_i386_fixup_symbol): New function.
1750         (elf_i386_pie_finish_undefweak_symbol): Likewise.
1751         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1752         relocations and discard relocations against resolved undefined
1753         weak symbols in executable.  Don't make resolved undefined weak
1754         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
1755         relocation against undefined weak symbols in PIE.
1756         (elf_i386_size_dynamic_sections): Set interp to .interp section.
1757         (elf_i386_relocate_section): Don't generate dynamic relocations
1758         against resolved undefined weak symbols in PIE, except for
1759         R_386_PC32.
1760         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1761         dynamic PLT/GOT relocations for resolved undefined weak symbols.
1762         Don't generate dynamic relocation against resolved undefined weak
1763         symbol in executable.
1764         (elf_i386_finish_dynamic_sections): Call
1765         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1766         (elf_backend_fixup_symbol): New.
1767         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1768         (elf_x86_64_link_hash_entry): Add has_got_reloc and
1769         has_non_got_reloc.
1770         (elf_x86_64_link_hash_table): Add interp.
1771         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1772         has_non_got_reloc.
1773         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1774         has_non_got_reloc.
1775         (elf_x86_64_check_relocs): Set has_got_reloc and
1776         has_non_got_reloc.
1777         (elf_x86_64_fixup_symbol): New function.
1778         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1779         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1780         relocations and discard relocations against resolved undefined
1781         weak symbols in executable.  Don't make resolved undefined weak
1782         symbols in executable dynamic.
1783         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1784         (elf_x86_64_relocate_section): Check relocation overflow for
1785         dynamic relocations against unresolved weak undefined symbols.
1786         Don't generate dynamic relocations against resolved weak
1787         undefined symbols in PIE.
1788         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1789         dynamic PLT/GOT relocations for resolved undefined weak symbols.
1790         Don't generate dynamic relocation against resolved undefined weak
1791         symbol in executable.
1792         (elf_x86_64_finish_dynamic_sections): Call
1793         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1794         (elf_backend_fixup_symbol): New.
1795
1796 2016-02-26  Alan Modra  <amodra@gmail.com>
1797
1798         * elf64-ppc.c (create_linkage_sections): Create sfpr when
1799         save_restore_funcs, rest of sections when not relocatable.
1800         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1801         (sfpr_define): Define all symbols on emitted code.
1802         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1803         when relocatable.  Move sfpr_define loop earlier.
1804
1805 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1806
1807         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
1808         (elf_x86_64_relocate_section): Use it.  Replace
1809         x86_64_elf_howto_table[r_type] with howto.
1810
1811 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1812
1813         PR ld/19698
1814         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
1815         symbol version is unknown.
1816
1817 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1818
1819         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1820         to (bfd_vma) -1 when setting needs_plt to 0.
1821         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1822
1823 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
1824
1825         * elflink.c (bfd_elf_record_link_assignment): Check for shared
1826         library, instead of PIC, and don't check PDE when making linker
1827         assigned symbol dynamic.
1828
1829 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
1830
1831         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1832         ABIVERSION for non-executable stack.
1833
1834 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
1835
1836         PR target/19516
1837         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1838         Always produce a RELATIVE reloc for a local symbol.
1839
1840 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
1841
1842         Fix test-case ld-elf/pr19617b
1843         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1844         discard unused non-function symbols when --dynamic-list-data.
1845
1846 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1847
1848         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1849         dynsym section, even if it is empty, with dynamic sections.
1850
1851 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1852
1853         * syms.c: Remove BSF_COMMON from comments.
1854         * bfd-in2.h: Regenerated.
1855
1856 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
1857
1858         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1859         for destination.  Remove useless function parameters.
1860         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1861
1862 2016-02-19  Nick Clifton  <nickc@redhat.com>
1863
1864         PR ld/19629
1865         * aoutx.h (aout_link_add_symbols): Check for out of range string
1866         table offsets.
1867
1868         PR ld/19628
1869         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
1870         processing if we encounter a reloc without an associated symbol.
1871
1872 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1873
1874         PR ld/19617
1875         * elflink.c (elf_link_add_object_symbols): Always create dynamic
1876         sections for -E/--dynamic-list.
1877
1878 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
1879
1880         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
1881         to bfd_true.
1882
1883 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
1884
1885         * plugin.c (plugin_vec): Set match priority to 255.
1886         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1887         matching against the plugin vector, take priority from there not
1888         from TEMP.
1889
1890 2016-02-15  Nick Clifton  <nickc@redhat.com>
1891
1892         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1893         for length and type fields.  Use a signed value for the
1894         suffix_length field.
1895
1896 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1897
1898         PR ld/19601
1899         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
1900         significant bit in GOT offset for R_386_GOT32X.
1901
1902 2016-02-10  Nick Clifton  <nickc@redhat.com>
1903
1904         PR 19405
1905         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1906         immediate values.
1907         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1908         number of messages about FDE encoding preventing .eh_frame_hdr
1909         generation.
1910
1911 2016-02-09  Nick Clifton  <nickc@redhat.com>
1912
1913         * oasys.c (oasys_archive_p): Fix indentation.
1914         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1915         constant for left shifting.
1916
1917         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1918         helpful warning message to explain why certain AArch64 relocs
1919         might overflow.
1920
1921 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
1922
1923         * pe-mips.c (coff_mips_reloc): Fix formatting.
1924
1925 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1926
1927         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1928         to bfd_mach_arc_arc600.
1929
1930 2016-02-04  Alan Modra  <amodra@gmail.com>
1931
1932         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1933         for big-endian.
1934
1935 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
1936
1937         PR ld/19542
1938         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
1939         distances in the compressed_size field of the output section.
1940
1941 2016-02-02  Alan Modra  <amodra@gmail.com>
1942
1943         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1944         ELFv2 entry optimization.
1945
1946 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
1947
1948         PR binutils/19547
1949         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
1950         no relocations in relocatable files.
1951
1952 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
1953
1954         PR ld/19553
1955         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1956         if a symbol from a library loaded via DT_NEEDED doesn't match
1957         the symbol referenced by regular object.
1958
1959 2016-02-01  Nathaniel Smith  <njs@pobox.com>
1960
1961         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
1962         CODE and DATA.
1963
1964 2016-02-01  Alan Modra  <amodra@gmail.com>
1965
1966         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
1967         an out of range reloc_index.
1968         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
1969
1970 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
1971
1972         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
1973         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
1974         * Makefile.in: Regenerated.
1975
1976 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1977
1978         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1979
1980 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
1981
1982         PR ld/19526
1983         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
1984         files.
1985         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
1986
1987 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
1988
1989         PR ld/19539
1990         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
1991         against STT_GNU_IFUNC symbol only with dynamic symbols.
1992         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1993
1994 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
1995
1996         PR binutils/19523
1997         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
1998         decompress debug sections.
1999
2000 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
2001
2002         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2003         `dynindx'.
2004
2005 2016-01-25  Nick Clifton  <nickc@redhat.com>
2006
2007         PR target/19435
2008         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2009         dsym filename buffer.
2010
2011 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
2012
2013         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2014
2015 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
2016
2017         * elfxx-mips.c (BZ16_REG): Correct calculation.
2018
2019 2016-01-21  Nick Clifton  <nickc@redhat.com>
2020
2021         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2022         changing the type of _loc to be bfd_byte *.
2023         (elf_arc_finish_dynamic_symbol): Likewise.
2024
2025 2016-01-21  Nick Clifton  <nickc@redhat.com>
2026
2027         PR ld/19455
2028         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2029         class of the linker stub bfd.
2030         (elf32_arm_check_relocs): Skip check for pic format after
2031         processing a vxWorks R_ARM_ABS12 reloc.
2032         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2033         reporting a class mismatch.
2034
2035 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
2036
2037         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2038         veneer for sym_sec != input_sec.
2039         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2040         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
2041         calculation destination.
2042
2043 2016-01-21  Alan Modra  <amodra@gmail.com>
2044
2045         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2046         (swap_linux_prpsinfo64_out): New function.
2047         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2048         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2049         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
2050         (elfcore_write_linux_prpsinfo64): Likewise.
2051         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2052         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2053         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
2054
2055 2016-01-21  Alan Modra  <amodra@gmail.com>
2056
2057         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
2058         * elf.c: Adjust #include.
2059         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
2060         * Makefile.am (SOURCE_HFILES): Update.
2061         * Makefile.in: Regenerate.
2062         * po/SRC-PORFILES.in: Regenerate.
2063
2064 2016-01-21  Alan Modra  <amodra@gmail.com>
2065
2066         * configure.ac: Move corefile selection later in file.  Move
2067         tdefaults code immediately after other target vector code.
2068         * configure: Regenerate.
2069
2070 2016-01-20  Mickael Guene  <mickael.guene@st.com>
2071
2072         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2073         section using '.text.noread' pattern.
2074
2075 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
2076
2077         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2078
2079 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
2080             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
2081
2082         * arc-plt.def: New file.
2083         * arc-plt.h: Likewise.
2084         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2085                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2086                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2087                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2088         (name_for_global_symbol): Added.
2089         (ADD_RELA): Helper to create dynamic relocs.
2090         (new_got_entry_to_list): Create a new got entry in linked list.
2091         (symbol_has_entry_of_type): Search for specific type of entry in
2092         list.
2093         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
2094         (is_reloc_for_TLS, arc_elf_set_private_flags)
2095         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2096         (arc_elf_merge_private_bfd_data): New functions.
2097         (debug_arc_reloc): Cleaned debug info printing.
2098         (PDATA reloc): Changed not to perform address alignment.
2099         (reverse_me): Added. Fix for ARC_32 relocs.
2100         (arc_do_relocation): Return bfd_reloc_of when no relocation should
2101         occur.
2102         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2103         Changed function to access an array of list of GOT entries instead
2104         of just an array of offsets.
2105         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2106         (elf_arc_check_relocs): Likewise.
2107         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2108         (elf_arc_finish_dynamic_sections): Likewise
2109         (arc_create_dynamic_sections): Modified conditions to create
2110         dynamic sections.
2111         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2112         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2113         (relocate_plt_for_entry): Changed to support new way to define PLT
2114         related code.
2115         (add_symbol_to_plt): Likewise.
2116         (arc_elf_link_hash_table_create): New function.
2117
2118 2016-01-18  Nick Clifton  <nickc@redhat.com>
2119
2120         PR ld/19440
2121         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2122         section number into internal section number.
2123         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2124         * coffswap.h (coff_swap_sym_in): Likewise.
2125         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2126         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2127         section number field is big enough to hold the external value.
2128
2129 2016-01-17  Alan Modra  <amodra@gmail.com>
2130
2131         * configure: Regenerate.
2132
2133 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
2134
2135         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2136         when address in first unwind entry does not match start of
2137         section.
2138
2139 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
2140             Jiong Wang  <jiong.wang@arm.com>
2141
2142         PR ld/19368
2143         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2144         reloc_class_ifunc.
2145
2146 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
2147
2148         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2149         place 'R_' before the reloc name returned.
2150         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2151         the relocation string.
2152
2153 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2154
2155         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2156         factored out from...
2157         (_bfd_mips_elf_merge_private_bfd_data): ... here.
2158
2159 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2160
2161         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2162         attribute check after ELF file header flag check.
2163
2164 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2165
2166         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2167         return status from `_bfd_elf_merge_object_attributes'.
2168
2169 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2170
2171         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2172         factored out from...
2173         (_bfd_mips_elf_merge_private_bfd_data): ... here.
2174
2175 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2176
2177         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2178         handling of input MIPS ABI flags together.
2179
2180 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2181
2182         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2183         attribute checks for null input.
2184
2185 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2186
2187         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2188         pointers to target data.
2189
2190 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2191
2192         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2193         an FP ABI warning.
2194
2195 2016-01-01  Alan Modra  <amodra@gmail.com>
2196
2197         Update year range in copyright notice of all files.
2198
2199 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2200 \f
2201 Copyright (C) 2016 Free Software Foundation, Inc.
2202
2203 Copying and distribution of this file, with or without modification,
2204 are permitted in any medium without royalty provided the copyright
2205 notice and this notice are preserved.
2206
2207 Local Variables:
2208 mode: change-log
2209 left-margin: 8
2210 fill-column: 74
2211 version-control: never
2212 End: