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