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