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