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