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