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