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