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