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