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