2016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
[external/binutils.git] / bfd / ChangeLog
1 2016-09-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2
3         * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
4         array of bytes and use bfd_get_16 to interpret its encoding according
5         to endianness of target.
6
7 2016-09-01  Alan Modra  <amodra@gmail.com>
8
9         * elf64-ppc.c (synthetic_opd): New static var.
10         (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
11         (ppc64_elf_get_synthetic_symtab): Likewise.  Comment.
12
13 2016-08-31  Alan Modra  <amodra@gmail.com>
14
15         * elf64-ppc.c (group_sections): Delete stub14_group_size.  Instead,
16         track max group size with a new "group_size" var that is reduced
17         by a factor of 1024 from the 24-bit branch size whenever a 14-bit
18         branch is seen.
19
20 2016-08-31  Alan Modra  <amodra@gmail.com>
21
22         * elf32-ppc.c (ppc_elf_section_processing): Delete.
23         (elf_backend_section_processing): Don't define.
24         (ppc_elf_modify_segment_map): Set p_flags and mark valid.  Don't
25         split on non-exec sections differing in SHF_PPC_VLE.  When
26         splitting segments, mark size invalid.
27
28 2016-08-30  Alan Modra  <amodra@gmail.com>
29
30         PR 20531
31         * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
32
33 2016-08-29  H.J. Lu  <hongjiu.lu@intel.com>
34
35         PR ld/14961
36         PR ld/20515
37         * elf32-i386.c (elf_i386_check_relocs): Issue an error when
38         R_386_PC32 relocation is used to call IFUNC function in PIC
39         object.
40
41 2016-08-27  Alan Modra  <amodra@gmail.com>
42
43         PR 20520
44         * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
45         have corresponding SHF_GROUP sections.
46         (bfd_elf_set_group_contents): Comment.
47
48 2016-08-27  Alan Modra  <amodra@gmail.com>
49
50         PR 20519
51         * elf64-ppc.c (pc_dynrelocs): New function.
52         (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
53         handle pic dynamic relocs.
54
55 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
56
57         * bfd-in.h (struct elf32_arm_params): Define.
58         (bfd_elf32_arm_set_target_relocs): Rename into ...
59         (bfd_elf32_arm_set_target_params): This.  Use a struct
60         elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
61         * bfd-in2.h: Regenerate.
62         * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
63         (bfd_elf32_arm_set_target_params): This.  Pass all values via a struct
64         elf32_arm_params rather than as individual parameters.
65
66 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
67
68         * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
69         passed the end of htab->stub_group array.
70         (elf32_arm_create_or_find_stub_sec): Likewise.
71         (elf32_arm_create_stub): Likewise.
72
73 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
74
75         * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
76         to TRUE for GOT and TLS relocs.
77
78 2016-08-26  Cupertino Miranda  <cmiranda@synospsys.com>
79
80         * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
81
82 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
83
84         * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
85         * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
86         (struct elf_arc_link_hash_table): Likewise.
87         (elf_arc_link_hash_newfunc): Likewise.
88         (elf_arc_link_hash_table_free): Likewise.
89         (arc_elf_link_hash_table_create): Likewise.
90         (elf_arc_relocate_section): Fixed conditions related to dynamic
91         (elf_arc_check_relocs): Likewise.
92         (arc_elf_create_dynamic_sections): Added
93         (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
94         through the hash table.
95
96 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
97
98         * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
99         debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
100         relocation.
101
102 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
103
104         * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
105         relocation.
106         * bfd-in2.h: Regenerated from the previous changes.
107         * libbfd.h: Regenerated from the previous changes.
108
109 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
110
111         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
112         the input import library bfd.
113         * bfd-in2.h: Regenerate.
114         * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
115         and new_cmse_stub_offset fields.
116         (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
117         -1.
118         (elf32_arm_add_stub): Likewise for stub_offset.
119         (arm_new_stubs_start_offset_ptr): New function.
120         (arm_build_one_stub): Only allocate a stub_offset if it is -1.  Allow
121         empty SG veneers to have zero relocations.
122         (arm_size_one_stub): Only initialize stub size and template
123         information for non empty veneers.  Do not update veneer section size
124         if veneer already has an offset.
125         (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
126         of a boolean indicating success or failure.
127         (cmse_scan): Change stub_changed parameter into an integer pointer
128         parameter cmse_stub_created to count the number of stub created and
129         adapt to change of return value in elf32_arm_create_stub.
130         (cmse_entry_fct_p): New function.
131         (arm_list_new_cmse_stub): Likewise.
132         (set_cmse_veneer_addr_from_implib): Likewise.
133         (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
134         cmse_scan instead of that of cmse_stub_changed to compute the number
135         of stub created and use it to initialize stub_changed.  Call
136         set_cmse_veneer_addr_from_implib after all cmse_scan.  Adapt to change
137         of return value in elf32_arm_create_stub.  Use
138         arm_stub_section_start_offset () if not NULL to initialize size of
139         secure gateway veneers section.  Initialize stub_offset of Cortex-A8
140         erratum fix to -1.  Use ret to hold return value.
141         (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
142         NULL to initialize size of secure gateway veneers section.  Adapt
143         comment to stress the importance of zeroing veneer section content.
144         (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
145         initialize eponymous field in struct elf32_arm_link_hash_table.
146
147 2016-08-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
148
149         * elf32-s390.c (stdarg.h): New include.
150         (elf_s390_grok_psinfo): New function.
151         (elf_s390_write_core_note): New function.
152         (elf_backend_grok_psinfo): Declare backend hook.
153         (elf_backend_write_core_note): Likewise.
154         * elf64-s390.c (stdarg.h): New include.
155         (elf_s390_grok_prstatus): New function.
156         (elf_s390_grok_psinfo): New function.
157         (elf_s390_write_core_note): New function.
158         (elf_backend_grok_prstatus): Declare backend hook.
159         (elf_backend_grok_psinfo): Likewise.
160         (elf_backend_write_core_note): Likewise.
161
162 2016-08-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
163
164         * elf32-s390.c (allocate_dynrelocs): Fix indentation.
165         (elf_s390_finish_ifunc_symbol): Likewise.
166         (elf_s390_finish_dynamic_symbol): Likewise.
167         (elf_s390_finish_dynamic_sections): Likewise.
168         (elf_s390_grok_prstatus): Likewise.
169         * elf64-s390.c (elf_s390_hash_table): Fix indentation.
170         (elf_s390_finish_dynamic_symbol): Likewise.
171
172 2016-08-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>
173
174         * elf32-arc.c (elf32_arc_grok_prstatus): New function.
175
176 2016-08-23  Nick Clifton  <nickc@redhat.com>
177
178         * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
179         there is no arm data associated with the section.
180
181 2016-08-23  Alan Modra  <amodra@gmail.com>
182
183         PR 20475
184         * elf32-or1k.c (or1k_elf_relocate_section): Offset from
185         _GLOBAL_OFFSET_TABLE_, not start of .got section.
186
187 2016-08-22  Nick Clifton  <nickc@redhat.com>
188
189         * doc/chew.c (main): Free the string buffer used to files as they
190         are parsed.
191
192 2016-08-22  Alan Modra  <amodra@gmail.com>
193
194         * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
195         (ppc_elf_relocate_section): ..to here.  Comment.  Error on
196         detecting -mbss-plt -fPIC local ifuncs too.
197         (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
198         branch table entries.
199
200 2016-08-19  Nick Clifton  <nickc@redhat.com>
201
202         * elf.c (assign_section_numbers): Assign number for the .shstrtab
203         section after the symbol table and string table sections.
204
205 2016-08-19  Alan Modra  <amodra@gmail.com>
206
207         * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
208         (ppc64_elf_copy_indirect_symbol): Set weakref.  Don't merge
209         dyn_relocs for weakdefs.
210         (alias_readonly_dynrelocs): New function.
211         (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
212         (ppc64_elf_relocate_section): Simplify condition under which
213         dyn_relocs are emitted.
214
215 2016-08-19  Alan Modra  <amodra@gmail.com>
216
217         PR 20472
218         * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
219         (readonly_dynrelocs): Comment fix.
220         (global_entry_stub): New function.
221         (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test.  Match
222         ELFv2 code deciding on dynamic relocs vs. global entry stubs to
223         that in size_global_entry_stubs, handling ifunc too.  Delete dead
224         weak sym code.
225         (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
226         dyn_relocs are needed.  Correct handling of ifunc dyn_relocs.
227         Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
228         undefweak syms.  Expand and correct comments.
229         (size_global_entry_stubs): Ensure symbol is defined.
230         (ppc64_elf_relocate_section): Match condition under which
231         dyn_relocs are emitted to that in allocate_dynrelocs.
232
233 2016-08-12  Alan Modra  <amodra@gmail.com>
234
235         * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
236         * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
237         (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
238
239 2016-08-11  Alan Modra  <amodra@gmail.com>
240
241         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
242         non_got_ref true in any case where we could have generated dynbss
243         copies but decide not to do so.
244
245 2016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
246
247         * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
248         the stub address retrieved if associated with a microMIPS
249         function.
250
251 2016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
252
253         * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
254         stub also add STO_MICROMIPS annotation.
255
256 2016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
257
258         * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
259         in microMIPS LA25 stub references.
260
261 2016-08-09  Jiaming Wei  <jmwei@hxgpt.com>
262
263         * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
264         adjusting the use_count of merged .got entries.
265
266 2016-08-08  Nick Clifton  <nickc@redhat.com>
267
268         * doc/chew.c (delete_string): Only free the string buffer if it is
269         there.  Mark the buffer as NULL after freeing.
270         (drop): Free the dropped string.
271         (free_words): New function: Frees the memory allocated to the
272         dictionary.
273         (add_instrinsic): Duplicate the name string, so that it can be
274         freed later on.
275         (compile): Free unused words.
276         (main): Free the dictionary and top level string buffers at the
277         end.
278
279 2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
280
281         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
282         * bfd-in2.h: Regenerate.
283         * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
284         cmse_implib field.
285         (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
286         cmse_implib field in struct elf32_arm_link_hash_table.
287         (elf32_arm_filter_cmse_symbols): New function.
288         (elf32_arm_filter_implib_symbols): Likewise.
289         (elf_backend_filter_implib_symbols): Define to
290         elf32_arm_filter_implib_symbols.
291
292 2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
293
294         * elf32-arm.c (CMSE_PREFIX): Define macro.
295         (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
296         (cmse_branch_thumb_only): Declare stub.
297         (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
298         (elf32_arm_get_plt_info): Add globals parameter.  Use it to return
299         FALSE if there is no PLT.
300         (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
301         (elf32_arm_final_link_relocate): Likewise.
302         (elf32_arm_gc_sweep_hook): Likewise.
303         (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
304         secure entry functions.
305         (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
306         (arm_dedicated_stub_output_section_required): Change to a switch case
307         and add a case for arm_stub_cmse_branch_thumb_only.
308         (arm_dedicated_stub_output_section_required_alignment): Likewise.
309         (arm_stub_dedicated_output_section_name): Likewise.
310         (arm_stub_dedicated_input_section_ptr): Likewise and remove
311         ATTRIBUTE_UNUSED for htab parameter.
312         (arm_stub_required_alignment): Likewise.
313         (arm_stub_sym_claimed): Likewise.
314         (arm_dedicated_stub_section_padding): Likewise.
315         (cmse_scan): New function.
316         (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
317         Set stub_changed to TRUE if such veneers were created.
318         (elf32_arm_swap_symbol_in): Add detection code for CMSE special
319         symbols.
320
321 2016-08-02  Alan Modra  <amodra@gmail.com>
322
323         PR ld/20428
324         * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
325
326 2016-08-02  Nick Clifton  <nickc@redhat.com>
327
328         PR ld/17739
329         * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
330         (elf_backend_sweep_hook): Delete.
331
332 2016-08-01  Andrew Jenner  <andrew@codesourcery.com>
333         Kwok Cheung Yeung  <kcy@codesourcery.com>
334
335         * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
336         (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
337         (ppc_elf_vle_split16): Clear field before inserting.
338
339 2016-08-01  Nick Clifton  <nickc@redhat.com>
340
341         * po/sv.po: Updated Swedish translation.
342
343 2016-07-27  Ozkan Sezer  <sezeroz@gmail.com>
344             Nick Clifton  <nickc@redhat.com>
345
346         PR ld/20401
347         * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
348         of the coff_section_data before using it.
349
350 2016-07-26  Maciej W. Rozycki  <macro@imgtec.com>
351
352         * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
353         in PLT compression selection.
354         (_bfd_mips_elf_check_relocs): Likewise.
355
356 2016-07-22  Cupertino Miranda  <cmiranda@synopsys.com>
357
358         * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
359         case where there's no elf_link_hash_entry while processing
360         GOT_NORMAL got entries.
361
362 2016-07-21  H.J. Lu  <hongjiu.lu@intel.com>
363
364         * version.m4 (BFD_VERSION): Set to 2.27.51.
365         * configure: Regenerated.
366
367 2016-07-21  Nick Clifton  <nickc@redhat.com>
368
369         * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
370         (swap_out_syms): Return an error when not finding ELF output
371         section rather than asserting.
372
373 2016-07-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
374
375         * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
376
377 2016-07-20  John Baldwin  <jhb@FreeBSD.org>
378
379         * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
380         and handle pr_pid if present.
381
382 2016-07-20  H.J. Lu  <hongjiu.lu@intel.com>
383
384         PR ld/20376
385         * elf.c (assign_file_positions_for_load_sections): Also check
386         p_paddr for program header space.
387
388 2016-07-20  Alan Modra  <amodra@gmail.com>
389
390         * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
391         ppc64_elf_unhandled_reloc for special_function.
392         * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
393
394 2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
395
396         * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
397         BAL to JALX.
398         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
399         corresponding error message.
400
401 2016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
402
403         * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
404         R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
405         (branch_reloc_p): New function.
406         (mips_elf_calculate_relocation): Handle ISA mode determination
407         for relocations against section symbols, against absolute
408         symbols and absolute relocations.  Also set `*cross_mode_jump_p'
409         for branches.
410         <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
411         checks for weak undefined symbols.  Also check target alignment
412         within the same ISA mode.
413         <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
414         in the alignment check.
415         <R_MICROMIPS_PC7_S1>: Add an alignment check.
416         <R_MICROMIPS_PC10_S1>: Likewise.
417         <R_MICROMIPS_PC16_S1>: Likewise.
418         (mips_elf_perform_relocation): Report a failure for unsupported
419         same-mode JALX instructions and cross-mode branches.
420         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
421         error messages for jumps to misaligned addresses.
422
423 2016-07-16  Alan Modra  <amodra@gmail.com>
424
425         * elflink.c: Include plugin-api.h.
426         * plugin.c (bfd_plugin_open_input): New function, extracted from..
427         (try_claim): ..here.
428         * plugin.h: Don't include bfd.h.
429         (bfd_plugin_open_input): Declare.
430
431 2016-07-16  Alan Modra  <amodra@gmail.com>
432
433         * targets.c (bfd_seach_for_target): Rename to..
434         (bfd_iterate_over_targets): ..this.  Rewrite doc.
435         * bfd-in2.h: Regenerate.
436
437 2016-07-16  Alan Modra  <amodra@gmail.com>
438
439         * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
440         * libbfd.h: Regenerate.
441         * bfd-in2.h: Regenerate.
442
443 2016-07-16  Alan Modra  <amodra@gmail.com>
444
445         * libbfd-in.h (BFD_ALIGN): Move to..
446         * bfd-in.h: ..here.
447         * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
448         * elf32-ppc.c (default_params): Adjust init.
449         (ppc_elf_link_params): Set pagesize_p2.
450         * libbfd.h: Regenerate.
451         * bfd-in2.h: Regenerate.
452
453 2016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
454
455         * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
456         (_bfd_elf_filter_global_symbols): Declare.
457         * elf.c (_bfd_elf_filter_global_symbols): New function.
458         * elflink.c (elf_filter_global_symbols): Likewise.
459         (elf_output_implib): Likewise.
460         (bfd_elf_final_link): Call above function, failing if it does.
461         * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
462         default it to NULL.
463         (elf_backend_copy_indirect_symbol): Fix spacing.
464         (elf_backend_hide_symbol): Likewise.
465         (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
466
467 2016-07-15  Andrew Burgess  <andrew.burgess@embecosm.com>
468             Nick Clifton  <nickc@redhat.com>
469
470         * elf32-arc.c (PR_DEBUG): Delete.
471         Fix printing of debug information.  Fix formatting of debug
472         statements.
473         (debug_arc_reloc): Handle symbols that are not from an input file.
474         (arc_do_relocation): Remove excessive exclamation points.
475
476         * arc-got.h: Fix formatting.  Fix printing of debug information.
477         (new_got_entry_to_list): Use xmalloc.
478         * config.bfd: use the big-endian arc vector as the default vector
479         for big-endian arc targets.
480
481 2016-07-15  Alan Modra  <amodra@gmail.com>
482
483         * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
484         from marking sym_indices.
485
486 2016-07-14  Maciej W. Rozycki  <macro@imgtec.com>
487
488         * reloc.c (bfd_perform_relocation): Try the `howto' handler
489         first with relocations against absolute symbols.
490         (bfd_install_relocation): Likewise.
491
492 2016-07-12  H.J. Lu  <hongjiu.lu@intel.com>
493
494         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
495         .got/.got.plt sections to 8 bytes.
496
497 2016-07-12  Nick Clifton  <nickc@redhat.com>
498
499         * binary.c (binary_set_section_contents): Second grammar fix.
500
501 2016-07-12  Douglas B Rupp  <rupp@adacore.com>
502
503         * binary.c (binary_set_section_contents): Fix grammar in warning
504         message.
505
506 2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
507
508         * elf32-arc.c: made PR_DEBUG always defined.
509
510 2016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
511
512         * arc-got.h: Moved got related structures from elf32-arc.c to
513         this file. More precisely, tls_type_e, tls_got_entries, got_entry.
514         * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
515         tls_type_for_reloc, symbol_has_entry_of_type,
516         get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
517         ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
518         relocate_fix_got_relocs_for_got_info,
519         create_got_dynrelocs_for_single_entry,
520         create_got_dynrelocs_for_got_info): Added to file.
521         * elf32-arc.c: Removed GOT & TLS related structs and functions to
522         arc-got.h.
523
524 2016-07-08  James Bowman  <james.bowman@ftdichip.com>
525
526         * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
527
528 2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
529
530         * elf32-arm.c (THUMB32_MOVT): New veneer macro.
531         (THUMB32_MOVW): Likewise.
532         (elf32_arm_stub_long_branch_thumb2_only_pure): New.
533         (DEF_STUBS): Define long_branch_thumb2_only_pure.
534         (arm_stub_is_thumb): Add new veneer stub.
535         (arm_type_of_stub): Use new veneer.
536         (arm_stub_required_alignment): Add new veneer.
537
538 2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
539
540         * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
541         (SEC_ELF_PURECODE): ... this.
542         * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
543         to SEC_ELF_NOREAD.
544         (elf32_arm_fake_sections): Likewise.
545         (elf_32_arm_section_flags): Likewise.
546         (elf_32_arm_lookup_section_flags): Likewise.
547         * section.c (SEC_ELF_NOREAD): Rename to ...
548         (SEC_ELF_PURECODE): ... this.
549
550 2016-07-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
551
552         * elf32-arm.c (using_thumb2_bl): New function.
553         (arm_type_of_stub): Declare thumb2 variable together and change type
554         to bfd_boolean.  Use using_thumb2_bl () to determine whether
555         THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
556         checked for BL range.
557         (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
558         the bit size of BL offset.
559
560 2016-06-29  Nick Clifton  <nickc@redhat.com>
561
562         * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
563         Returns TRUE for AArch64 mapping symbols.
564         (elfNN_aarch64_backend_symbol_processing): New function.  Marks
565         mapping symbols as precious in object files so that they will not
566         be stripped.
567         (elf_backend_symbol_processing): Define.
568
569         * elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
570         for ARM mapping symbols.
571         (elf32_arm_backend_symbol_processing): Make use of the new function.
572
573 2016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
574
575         PR ld/20306
576         * elflink.c (elf_link_check_versioned_symbol): Return false
577         for unreferenced undefined symbol.
578
579 2016-06-28  Nick Clifton  <nickc@redhat.com>
580
581         * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
582         is needed.
583
584         * elf32-arm.c (elf32_arm_backend_symbol_processing): New
585         function.  Marks mapping symbols in object files as precious, so
586         that strip will not remove them.
587         (elf_backend_symbol_processing): Define.
588
589 2016-06-28  James Clarke  <jrtc27@jrtc27.com>
590
591         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
592         R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
593
594 2016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
595
596         * elf32-mips.c (elf_mips16_howto_table_rel): Add
597         R_MIPS16_PC16_S1.
598         (mips16_reloc_map): Likewise.
599         * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
600         (mips16_elf64_howto_table_rela): Likewise.
601         (mips16_reloc_map): Likewise.
602         * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
603         (elf_mips16_howto_table_rela): Likewise.
604         (mips16_reloc_map): Likewise.
605         * elfxx-mips.c (mips16_branch_reloc_p): New function.
606         (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
607         (b_reloc_p): Likewise.
608         (mips_elf_calculate_relocation): Likewise.
609         (_bfd_mips_elf_check_relocs): Likewise.
610         * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
611         * bfd-in2.h: Regenerate.
612         * libbfd.h: Regenerate.
613
614 2016-06-27  Alan Modra  <amodra@gmail.com>
615
616         PR ld/19264
617         * elf64-ppc.c (STUB_SHRINK_ITER): Define.
618         (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
619         if shrinking stubs.
620         (ppc64_elf_size_stubs): Adjust to suit.
621
622 2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
623
624         * elf32-dlx.h: New file.
625         * elf32-dlx.c: Adjust.
626
627 2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
628
629         * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
630
631 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
632
633         * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
634         notes.
635
636 2016-06-24  John Baldwin  <jhb@FreeBSD.org>
637
638         * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
639         FreeBSD.  Remove case for NT_FREEBSD_THRMISC.
640         (elfcore_grok_freebsd_psinfo): New function.
641         (elfcore_grok_freebsd_prstatus): New function.
642         (elfcore_grok_freebsd_note): New function.
643         (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
644         notes.
645
646 2016-06-24  Joel Brobecker  <brobecker@adacore.com>
647
648         * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
649         than its existance.
650
651 2016-06-24  Alan Modra  <amodra@gmail.com>
652
653         * config.bfd: Delete mips vxworks patterns matched earlier.
654         Combine mips*-*-none with mips*-*-elf*.
655
656 2016-06-21  Maciej W. Rozycki  <macro@imgtec.com>
657
658         * elfxx-mips.c (mips_elf_perform_relocation): Call
659         `info->callbacks->einfo' rather than `*_bfd_error_handler' and
660         use the `%X%H' format for the cross-mode jump conversion error
661         message.  Remove the full stop from the end of the message.
662         Continue processing rather than returning failure.
663
664 2016-06-21  Graham Markall  <graham.markall@embecosm.com>
665
666         * archures.c: Remove bfd_mach_arc_nps400.
667         * bfd-in2.h: Likewise.
668         * cpu-arc.c (arch_info_struct): Likewise.
669         * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
670         Likewise.
671
672 2016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
673
674         PR ld/18250
675         PR ld/20267
676         * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
677         defined.
678         (elf_link_is_defined_archive_symbol): Call
679         bfd_link_plugin_object_p on unknown plugin object and use the
680         IR symbol table if the input is an IR object.
681         * plugin.c (bfd_link_plugin_object_p): New function.
682         * plugin.h (bfd_link_plugin_object_p): New prototype.
683
684 2016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
685
686         PR ld/20276
687         * elflink.c (elf_link_add_object_symbols): Don't check alignment
688         on symbol from plugin dummy input.
689
690 2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
691
692         * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
693         bfd_plugin_unknown.
694         * bfd-in2.h: Regenerated.
695         * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
696         with bfd_plugin_unknown.
697
698 2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
699
700         PR ld/20253
701         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
702         bfd_boolean argument.
703         * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
704         "shared object" with "PIC object" in comments.
705         (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
706         "shared object" with "PIC object" in comments.  Avoid PLT if
707         requested.  Generate dynamic relocations for non-GOT references.
708         Make room for the special first entry in PLT and allocate PLT
709         entry only for PLT and PC-relative references.  Store dynamic
710         GOT relocations in .rel[a].iplt section for static executables.
711         If PLT isn't used, always use GOT for symbol value.  Don't
712         allocate GOT entry if it isn't used.
713         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
714         count only in the code section.  Allocate dynamic pointer
715         relocation against STT_GNU_IFUNC symbol in the non-code section.
716         (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
717         only for PC-relative references.
718         (elf_i386_allocate_dynrelocs): Pass TRUE to
719         _bfd_elf_allocate_ifunc_dyn_relocs.
720         (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
721         relocations against STT_GNU_IFUNC symbols without PLT.  Generate
722         dynamic pointer relocation against STT_GNU_IFUNC symbol in
723         the non-code section and store it in the proper REL section.
724         Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
725         without PLT.
726         (elf_i386_finish_dynamic_symbol): Generate dynamic
727         R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
728         STT_GNU_IFUNC symbols without PLT.
729         (elf_i386_finish_dynamic_sections): Don't handle local
730         STT_GNU_IFUNC symbols here.
731         (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
732         symbols here.
733         (elf_backend_output_arch_local_syms): New.
734         * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
735         count only in the code section.  Allocate dynamic pointer
736         relocation against STT_GNU_IFUNC symbol in the non-code section.
737         (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
738         count only for PC-relative references.
739         (elf_x86_64_allocate_dynrelocs): Pass TRUE to
740         _bfd_elf_allocate_ifunc_dyn_relocs.
741         (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
742         R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
743         R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
744         without PLT.  Generate dynamic pointer relocation against
745         STT_GNU_IFUNC symbol in the non-code section and store it in
746         the proper RELA section.  Don't allow non-pointer relocation
747         against STT_GNU_IFUNC symbol without PLT.
748         (elf_x86_64_finish_dynamic_symbol): Generate dynamic
749         R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
750         STT_GNU_IFUNC symbols without PLT.
751         (elf_x86_64_finish_dynamic_sections): Don't handle local
752         STT_GNU_IFUNC symbols here.
753         (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
754         symbols here.
755         (elf_backend_output_arch_local_syms): New.
756         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
757         Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
758
759 2016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
760             Tony Wang  <tony.wang@arm.com>
761
762         * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
763         sequence.
764         (stub_long_branch_thumb2_only): Define stub.
765         (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
766         (arm_stub_long_branch_thumb2_only): Likewise.
767         (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
768         capable targets.
769
770 2016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
771
772         * archures.c (bfd_mach_sparc_v8plusc): Define.
773         (bfd_mach_sparc_v9c): Likewise.
774         (bfd_mach_sparc_v8plusd): Likewise.
775         (bfd_mach_sparc_v9d): Likewise.
776         (bfd_mach_sparc_v8pluse): Likewise.
777         (bfd_mach_sparc_v9e): Likewise.
778         (bfd_mach_sparc_v8plusv): Likewise
779         (bfd_mach_sparc_v9v): Likewise.
780         (bfd_mach_sparc_v8plusm): Likewise.
781         (bfd_mach_sparc_v9m): Likewise.
782         (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
783         (bfd_mach_sparc_64bit_p): Likewise.
784         * bfd-in2.h: Regenerate.
785         * cpu-sparc.c (arch_info_struct): Add entries for
786         bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
787         * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
788         and bfd_mach_sparc_v9{c,d,e,v,m}.
789         * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
790         * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
791
792 2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
793
794         * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
795         symbols for relocations against IFUNC symbols.
796         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
797
798 2016-06-16  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
799
800         * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
801         .rela.iplt in DT_PLTRELSZ.
802         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
803         for DT_PLTRELSZ and DT_RELASZ as well.
804
805 2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
806
807         * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
808         non-loaded, non-alloced sections.
809         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
810
811 2016-06-15  H.J. Lu  <hongjiu.lu@intel.com>
812
813         * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
814         allocating dynamic relocation.
815         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
816
817 2016-06-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
818
819         PR ld/20254
820         * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
821         offsets until reloc_toaddr.
822
823 2016-06-14  H.J. Lu  <hongjiu.lu@intel.com>
824
825         * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
826         Don't check symbol type for STN_UNDEF symbol index.
827         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
828         R_X86_64_IRELATIVE.  Don't check symbol type for STN_UNDEF symbol
829         index.
830
831 2016-06-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
832
833         * elf32-arm.c (using_thumb_only): Force review of arch check logic for
834         new architecture.
835         (using_thumb2): Try Tag_THUMB_ISA_use first and check
836         for exact arch value then.  Force review of arch check logic for new
837         architecture.
838         (arch_has_arm_nop): Update and fix arch check logic.  Force review of
839         that logic for new architecture.
840         (arch_has_thumb2_nop): Remove.
841         (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
842         (elf32_arm_final_link_relocate): Likewise but using thumb2.
843
844 2016-06-14  Alan Modra  <amodra@gmail.com>
845
846         * bfd-in.h (bfd_my_archive): Delete.
847         * bfd-in2.h: Regenerate.
848
849 2016-06-14  Alan Modra  <amodra@gmail.com>
850
851         PR ld/20241
852         * archive.c (open_nested_file): Set my_archive.
853         * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
854         for thin archives.
855         * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
856         (bfd_seek): Likewise.
857         * bfdwin.c (bfd_get_file_window): Likewise.
858         * cache.c (cache_bmmap): Likewise.
859         (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
860         * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
861         thin archives.
862         * plugin.c (try_claim): Likewise.
863         * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
864         file within thin archive, not the archive.
865
866 2016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
867
868         PR ld/20244
869         * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
870         section address for R_386_GOT32/R_386_GOT32X relocations against
871         IFUNC symbols if there is no base register and return error for
872         PIC.
873
874 2016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
875
876         * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
877         GOT32 adjustment for static executables.
878
879 2016-06-13  Maciej W. Rozycki  <macro@imgtec.com>
880
881         * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
882
883 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
884
885         * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
886
887 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
888
889         * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
890
891 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
892
893         * elf32-arc.c (arc_local_data, arc_local_data): Removed.
894         (SECTSTART): Changed.
895         (elf_arc_relocate_section): Fixed mistake in PIE related
896         condition.
897         (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
898
899 2016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
900
901         * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
902         enable support for "-z combreloc" and DT_RELACOUNT.
903         (elf_backend_reloc_type_class): Likewise
904
905 2016-06-11  H.J. Lu  <hongjiu.lu@intel.com>
906
907         PR ld/20244
908         * elf32-i386.c (elf_i386_relocate_section): When relocating
909         R_386_GOT32, return error without a base register for PIC and
910         subtract the .got.plt section address only with a base register.
911
912 2016-06-10  Alan Modra  <amodra@gmail.com>
913
914         * elf-strtab.c (struct strtab_save): Use size_t for "size".
915         (struct elf_strtab_hash): Likewise for "size" and "alloced".
916         (_bfd_elf_strtab_init): Formatting.
917         (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
918         (_bfd_elf_strtab_addref): Take size_t idx param.
919         (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
920         (_bfd_elf_strtab_offset): Likewise.
921         (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
922         (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
923         (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
924         (_bfd_elf_strtab_finalize): Similarly.
925         * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
926         (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
927         (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
928         * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
929         using bfd_size_type.
930         (bfd_section_from_shdr): Delete amt.
931         (_bfd_elf_init_reloc_shdr): Likewise.
932         (_bfd_elf_link_assign_sym_version): Likewise.
933         (assign_section_numbers): Use size_t reloc_count.
934         * elflink.c (struct elf_symbuf_head): Use size_t "count".
935         (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
936         (elf_link_is_defined_archive_symbol): Likewise.
937         (elf_add_dt_needed_tag): Likewise.
938         (elf_finalize_dynstr): Likewise.
939         (elf_link_add_object_symbols): Likewise.
940         (bfd_elf_size_dynamic_sections): Likewise.
941         (elf_create_symbuf): Similarly.
942         (bfd_elf_match_symbols_in_sections): Likewise.
943         (elf_link_swap_symbols_out): Likewise.
944         (elf_link_check_versioned_symbol): Likewise.
945         (bfd_elf_gc_record_vtinherit): Likewise.
946         (bfd_elf_gc_common_finalize_got_offsets): Likewise.
947
948 2016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
949
950         PR ld/20221
951         * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
952         and relocs only if shrinking occurred.
953
954 2016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
955
956         * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
957         (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
958         (elf_i386_check_tls_transition): Check indirect call and direct
959         call with the addr32 prefix for general and local dynamic models.
960         Set the tls_get_addr feild.
961         (elf_i386_convert_load_reloc): Always use addr32 prefix for
962         indirect ___tls_get_addr call via GOT.
963         (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
964         transitions with indirect call and direct call with the addr32
965         prefix.
966
967 2016-06-07  Marcin KoÅ›cielnicki  <koriakin@0x04.net>
968
969         * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
970         * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
971         (elf_s390_relocate_section): Fix comment.
972         (elf_s390_finish_dynamic_sections): Fix initialization of fixed
973         .got.plt entries.
974
975 2016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
976
977         * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
978         section offset when calculation the larl operand in the first PLT
979         entry.
980
981 2016-06-07  Alan Modra  <amodra@gmail.com>
982
983         * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
984         to match other 32-bit archs.
985         * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
986         (ppc_elf_object_p): Call it.
987         (ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
988         overlong line.
989         (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
990         * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
991         * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
992         _bfd_elf_ppc_at_tprel_transform): Move to..
993         * elf-bfd.h: ..here.
994         (_bfd_elf_ppc_set_arch): Declare.
995         * bfd-in2.h: Regenerate.
996
997 2016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
998
999         * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
1000         (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
1001         (elf_x86_64_check_tls_transition): Check indirect call and
1002         direct call with the addr32 prefix for general and local dynamic
1003         models.  Set the tls_get_addr feild.
1004         (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
1005         indirect __tls_get_addr call via GOT.
1006         (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
1007         transitions with indirect call and direct call with the addr32
1008         prefix.
1009
1010 2016-06-04  Christian Groessler  <chris@groessler.org>
1011
1012         * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
1013
1014 2016-06-02  Nick Clifton  <nickc@redhat.com>
1015
1016         PR target/20088
1017         * cpu-arm.c (processors): Add "arm_any" type to match any ARM
1018         architecture.
1019         (arch_info_struct): Likewise.
1020         (architectures): Likewise.
1021
1022 2016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
1023
1024         * config.bfd: Replace -uclibc with *.
1025
1026 2016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
1027
1028         * elf64-x86-64.c: Replace data32 with data16 in comments.
1029
1030 2016-05-31  Alan Modra  <amodra@gmail.com>
1031
1032         PR ld/20159
1033         PR ld/16467
1034         * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
1035         (_bfd_elf_add_default_symbol): Don't indirect to/from defined
1036         symbol given a version by a script different to the version
1037         of the symbol being added.
1038         (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
1039         _bfd_elf_strtab_restore.  Don't fudge dynstr references.
1040         * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
1041         (struct strtab_save): New.
1042         (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
1043         * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
1044         (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
1045
1046 2016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1047
1048         * elf32-hppa.h: Add extern "C".
1049         * elf32-nds32.h: Likewise.
1050         * elf32-tic6x.h: Likewise.
1051
1052 2016-06-01  Nick Clifton  <nickc@redhat.com>
1053
1054         * po/sr.po: New Serbian translation.
1055         * configure.ac (ALL_LINGUAS): Add sr.
1056         * configure: Regenerate.
1057
1058 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
1059
1060         * elfxx-mips.c (b_reloc_p): New function.
1061         (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
1062         branch relocations.
1063
1064 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
1065
1066         * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
1067         <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
1068         reloc location from calculation, treat the addend as signed with
1069         local non-section symbols and enable overflow detection.
1070
1071 2016-05-28  Alan Modra  <amodra@gmail.com>
1072
1073         * aoutx.h: Adjust linker callback calls throughout file,
1074         removing dead code.
1075         * bout.c: Likewise.
1076         * coff-alpha.c: Likewise.
1077         * coff-arm.c: Likewise.
1078         * coff-h8300.c: Likewise.
1079         * coff-h8500.c: Likewise.
1080         * coff-i960.c: Likewise.
1081         * coff-mcore.c: Likewise.
1082         * coff-mips.c: Likewise.
1083         * coff-ppc.c: Likewise.
1084         * coff-rs6000.c: Likewise.
1085         * coff-sh.c: Likewise.
1086         * coff-tic80.c: Likewise.
1087         * coff-w65.c: Likewise.
1088         * coff-z80.c: Likewise.
1089         * coff-z8k.c: Likewise.
1090         * coff64-rs6000.c: Likewise.
1091         * cofflink.c: Likewise.
1092         * ecoff.c: Likewise.
1093         * elf-bfd.h: Likewise.
1094         * elf-m10200.c: Likewise.
1095         * elf-m10300.c: Likewise.
1096         * elf32-arc.c: Likewise.
1097         * elf32-arm.c: Likewise.
1098         * elf32-avr.c: Likewise.
1099         * elf32-bfin.c: Likewise.
1100         * elf32-cr16.c: Likewise.
1101         * elf32-cr16c.c: Likewise.
1102         * elf32-cris.c: Likewise.
1103         * elf32-crx.c: Likewise.
1104         * elf32-d10v.c: Likewise.
1105         * elf32-epiphany.c: Likewise.
1106         * elf32-fr30.c: Likewise.
1107         * elf32-frv.c: Likewise.
1108         * elf32-ft32.c: Likewise.
1109         * elf32-h8300.c: Likewise.
1110         * elf32-hppa.c: Likewise.
1111         * elf32-i370.c: Likewise.
1112         * elf32-i386.c: Likewise.
1113         * elf32-i860.c: Likewise.
1114         * elf32-ip2k.c: Likewise.
1115         * elf32-iq2000.c: Likewise.
1116         * elf32-lm32.c: Likewise.
1117         * elf32-m32c.c: Likewise.
1118         * elf32-m32r.c: Likewise.
1119         * elf32-m68hc1x.c: Likewise.
1120         * elf32-m68k.c: Likewise.
1121         * elf32-mep.c: Likewise.
1122         * elf32-metag.c: Likewise.
1123         * elf32-microblaze.c: Likewise.
1124         * elf32-moxie.c: Likewise.
1125         * elf32-msp430.c: Likewise.
1126         * elf32-mt.c: Likewise.
1127         * elf32-nds32.c: Likewise.
1128         * elf32-nios2.c: Likewise.
1129         * elf32-or1k.c: Likewise.
1130         * elf32-ppc.c: Likewise.
1131         * elf32-s390.c: Likewise.
1132         * elf32-score.c: Likewise.
1133         * elf32-score7.c: Likewise.
1134         * elf32-sh.c: Likewise.
1135         * elf32-sh64.c: Likewise.
1136         * elf32-spu.c: Likewise.
1137         * elf32-tic6x.c: Likewise.
1138         * elf32-tilepro.c: Likewise.
1139         * elf32-v850.c: Likewise.
1140         * elf32-vax.c: Likewise.
1141         * elf32-visium.c: Likewise.
1142         * elf32-xstormy16.c: Likewise.
1143         * elf32-xtensa.c: Likewise.
1144         * elf64-alpha.c: Likewise.
1145         * elf64-hppa.c: Likewise.
1146         * elf64-ia64-vms.c: Likewise.
1147         * elf64-mmix.c: Likewise.
1148         * elf64-ppc.c: Likewise.
1149         * elf64-s390.c: Likewise.
1150         * elf64-sh64.c: Likewise.
1151         * elf64-x86-64.c: Likewise.
1152         * elflink.c: Likewise.
1153         * elfnn-aarch64.c: Likewise.
1154         * elfnn-ia64.c: Likewise.
1155         * elfxx-mips.c: Likewise.
1156         * elfxx-sparc.c: Likewise.
1157         * elfxx-tilegx.c: Likewise.
1158         * linker.c: Likewise.
1159         * pdp11.c: Likewise.
1160         * pe-mips.c: Likewise.
1161         * reloc.c: Likewise.
1162         * reloc16.c: Likewise.
1163         * simple.c: Likewise.
1164         * vms-alpha.c: Likewise.
1165         * xcofflink.c: Likewise.
1166         * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
1167         status param.  Adjust calls to these and linker callbacks throughout.
1168         * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
1169         get_ramstart): Delete status param.  Adjust calls to these and
1170         linker callbacks throughout.
1171
1172 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
1173
1174         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
1175         <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
1176         target alignment verification.
1177
1178 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
1179
1180         * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
1181         section name if `bfd_elf_string_from_elf_section' returns an
1182         empty string.
1183
1184 2016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
1185
1186         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1187         <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
1188         for message.  Continue processing rather than returning failure.
1189
1190 2016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
1191
1192         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1193         <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
1194         Call `bfd_set_error'.
1195
1196 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1197
1198         PR binutils/14625
1199         * archive.c (bfd_slurp_armap): Replace
1200         bfd_elf64_archive_slurp_armap with
1201         _bfd_archive_64_bit_slurp_armap.
1202         (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
1203         BFD64 is defined and the archive is too big.
1204         (coff_write_armap): Likewise.
1205         * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
1206         (_bfd_archive_64_bit_slurp_armap): This.
1207         (bfd_elf64_archive_write_armap): Renamed to ...
1208         (_bfd_archive_64_bit_write_armap): This.
1209         * configure.ac: Add --enable-64-bit-archive.
1210         (want_64_bit_archive): New.  Set to true by default for 64-bit
1211         MIPS and s390 ELF targets.
1212         (USE_64_BIT_ARCHIVE): New AC_DEFINE.
1213         * config.in: Regenerated.
1214         * configure: Likewise.
1215         * elf64-mips.c (bfd_elf64_archive_functions): Removed.
1216         (bfd_elf64_archive_slurp_armap): Likewise.
1217         (bfd_elf64_archive_write_armap): Likewise.
1218         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1219         (bfd_elf64_archive_construct_extended_name_table): Likewise.
1220         (bfd_elf64_archive_truncate_arname): Likewise.
1221         (bfd_elf64_archive_read_ar_hdr): Likewise.
1222         (bfd_elf64_archive_write_ar_hdr): Likewise.
1223         (bfd_elf64_archive_openr_next_archived_file): Likewise.
1224         (bfd_elf64_archive_get_elt_at_index): Likewise.
1225         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1226         (bfd_elf64_archive_update_armap_timestamp): Likewise.
1227         * elf64-s390.c (bfd_elf64_archive_functions): Removed.
1228         (bfd_elf64_archive_slurp_armap): Likewise.
1229         (bfd_elf64_archive_write_armap): Likewise.
1230         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1231         (bfd_elf64_archive_construct_extended_name_table): Likewise.
1232         (bfd_elf64_archive_truncate_arname): Likewise.
1233         (bfd_elf64_archive_read_ar_hdr): Likewise.
1234         (bfd_elf64_archive_write_ar_hdr): Likewise.
1235         (bfd_elf64_archive_openr_next_archived_file): Likewise.
1236         (bfd_elf64_archive_get_elt_at_index): Likewise.
1237         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1238         (bfd_elf64_archive_update_armap_timestamp): Likewise.
1239         * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
1240         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
1241         bfd_elfNN_archive_functions isn't defined.
1242         (TARGET_LITTLE_SYM): Likewise.
1243         * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
1244         (_bfd_archive_64_bit_write_armap): Likewise.
1245         (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
1246         (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
1247         (_bfd_archive_64_bit_truncate_arname): Likewise.
1248         (_bfd_archive_64_bit_read_ar_hdr): Likewise.
1249         (_bfd_archive_64_bit_write_ar_hdr): Likewise.
1250         (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
1251         (_bfd_archive_64_bit_get_elt_at_index): Likewise.
1252         (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
1253         (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
1254         * libbfd.h: Regenerated.
1255         * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
1256         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
1257
1258 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
1259
1260         PR ld/20103
1261         * cofflink.c (coff_link_check_archive_element): Return TRUE if
1262         linker add_archive_element callback returns FALSE.
1263         * ecoff.c (ecoff_link_check_archive_element): Likewise.
1264         * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
1265         archive element if linker add_archive_element callback returns
1266         FALSE.
1267         * elflink.c (elf_link_add_archive_symbols): Likewise.
1268         * pdp11.c (aout_link_check_ar_symbols): Likewise.
1269         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
1270         * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
1271         (xcoff_link_check_ar_symbols): Likewise.
1272
1273 2016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
1274
1275         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1276         <bfd_reloc_outofrange>: Unify error reporting code.
1277
1278 2016-05-23  Jim Wilson  <jim.wilson@linaro.org>
1279
1280         * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
1281         R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
1282         * relocs.c: Add BFD_RELOC_AARCH64_NULL.
1283         * bfd-in2.h: Regenerate.
1284         * libbfd.h: Likewise.
1285
1286 2016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
1287
1288         * config.bfd: Add entry for arm-phoenix.
1289
1290 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1291
1292         * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
1293         (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
1294         account for padding for stub section requiring one.
1295         (elf32_arm_build_stubs): Add comment to stress the importance of
1296         zeroing veneer section content.
1297
1298 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1299
1300         * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
1301         bfd hook.
1302         * bfd-in2.h: Regenerate.
1303         * elf32-arm.c (arm_dedicated_stub_output_section_required): New
1304         function.
1305         (arm_dedicated_stub_output_section_required_alignment): Likewise.
1306         (arm_dedicated_stub_output_section_name): Likewise.
1307         (arm_dedicated_stub_input_section_ptr): Likewise.
1308         (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
1309         function description comment. Add support for dedicated output stub
1310         section to given stub types.
1311         (elf32_arm_add_stub): Add a stub type parameter and pass it down to
1312         elf32_arm_create_or_find_stub_sec.
1313         (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
1314         (elf32_arm_size_stubs): Pass stub type when calling
1315         elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
1316         (bfd_elf32_arm_keep_private_stub_output_sections): New function.
1317
1318 2016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
1319
1320         * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
1321         when setting need_convert_load.
1322
1323 2016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
1324
1325         * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
1326         microMIPS JALX.
1327
1328 2016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
1329
1330         PR ld/20117
1331         * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
1332         R_386_GOT32X.
1333         (elf_i386_convert_load): Don't convert R_386_GOT32.
1334
1335 2016-05-20  Alan Modra  <amodra@gmail.com>
1336
1337         PR gas/20118
1338         * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
1339         SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
1340
1341 2016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
1342
1343         * elf32-arc.c (arc_elf_final_write_processing): Changed.
1344         (debug_arc_reloc): Likewise.
1345         (elf_arc_relocate_section): Likewise.
1346         (elf_arc_check_relocs): Likewise.
1347         (elf_arc_adjust_dynamic_symbol): Likewise.
1348         (elf_arc_add_symbol_hook): Likewise.
1349
1350 2016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
1351
1352         * config.bfd: Remove `am34-*-linux*' support.
1353
1354 2016-05-19  Alan Modra  <amodra@gmail.com>
1355
1356         * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
1357         relocs before plt relocs.
1358
1359 2016-05-19  Alan Modra  <amodra@gmail.com>
1360
1361         * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
1362         before dereferencing.
1363
1364 2016-05-18  Nick Clifton  <nickc@redhat.com>
1365
1366         * po/sv.po: Updated Swedish translation.
1367
1368 2016-05-18  Alan Modra  <amodra@gmail.com>
1369
1370         * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
1371         for each BFD.  Don't goto error_ret_free_local from outside loop.
1372
1373 2016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
1374
1375         * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
1376         STB_GNU_UNIQUE handling.
1377         * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1378         * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
1379         * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1380         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1381         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1382         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1383         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1384         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1385         * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1386         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
1387         * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
1388         (elf_backend_add_symbol_hook): Remove macro.
1389         * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
1390         for STB_GNU_UNIQUE symbols.
1391
1392 2016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
1393
1394         * elf32-v850.c (v850_elf_copy_notes): New function, factored out
1395         from...
1396         (v850_elf_copy_private_bfd_data): ... here.  Call the new
1397         function and `_bfd_elf_copy_private_bfd_data'.
1398
1399 2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
1400
1401         PR ld/20093
1402         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
1403         GOTPCREL relocation against large section.
1404
1405 2016-05-13  Alan Modra  <amodra@gmail.com>
1406
1407         * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
1408         linker dynamic sections in calculating size and address of
1409         dynamic tags rather than using output sections.  Remove asserts.
1410         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
1411         * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
1412         * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
1413         * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1414         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
1415         * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
1416         * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
1417         * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
1418         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
1419         * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
1420         * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
1421         * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
1422         * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1423         * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
1424         * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
1425         * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
1426         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
1427         * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
1428         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1429         * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
1430         * elflink.c (bfd_elf_final_link): Likewise.
1431         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1432         * elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
1433         * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
1434         don't set doit.  Look up dynobj section.
1435         (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
1436         invocation and dynamic tag vma calculation.  Don't test
1437         boolean var == TRUE.
1438         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
1439         DT_JMPREL calc.
1440
1441 2016-05-13  Alan Modra  <amodra@gmail.com>
1442
1443         * elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
1444         octets_per_byte.  Put dynamic .rela.plt last in link orders.
1445         Assign output_offset for reloc sections rather than writing
1446         sorted relocs from block corresponding to output_offset.
1447
1448 2016-05-12  Alan Modra  <amodra@gmail.com>
1449
1450         * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1451
1452 2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
1453
1454         * elfxx-mips.c (print_mips_ases): Add DSPR3.
1455
1456 2016-05-11  Alan Modra  <amodra@gmail.com>
1457
1458         * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
1459         (elf32_hppa_check_relocs): Don't set dynobj.
1460         (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
1461         (elf32_hppa_build_stubs): Likewise.
1462         * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
1463
1464 2016-05-11  Alan Modra  <amodra@gmail.com>
1465
1466         PR 20060
1467         * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
1468         * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
1469
1470 2016-05-10  Jiong Wang  <jiong.wang@arm.com>
1471
1472         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
1473         aarch64_tls_transition check.
1474
1475 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1476
1477         * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
1478         enumerator.
1479         (arm_stub_sym_claimed): New function.
1480         (elf32_arm_create_stub): Use veneered symbol name and section if
1481         veneer needs to claim its symbol, and keep logic unchanged otherwise.
1482         (arm_stub_claim_sym): New function.
1483         (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
1484         veneered symbol, otherwise create local symbol as before.
1485
1486 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1487
1488         * elf32-arm.c (elf32_arm_size_stubs): Use new macros
1489         ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
1490         and set branch type of a symbol.
1491         (bfd_elf32_arm_process_before_allocation): Likewise.
1492         (elf32_arm_relocate_section): Likewise and fix identation along the
1493         way.
1494         (allocate_dynrelocs_for_symbol): Likewise.
1495         (elf32_arm_finish_dynamic_symbol): Likewise.
1496         (elf32_arm_swap_symbol_in): Likewise.
1497         (elf32_arm_swap_symbol_out): Likewise.
1498
1499 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1500
1501         * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1502         * bfd-in2.h: Regenerated.
1503         * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1504         parameter to add_stub_section callback.
1505         (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1506         and pass it down to add_stub_section.
1507         (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1508         for error message.
1509         (elf32_arm_size_stubs): Add output section parameter to
1510         add_stub_section function pointer parameter.
1511
1512 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1513
1514         * elf32-arm.c (elf32_arm_create_stub): New function.
1515         (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1516
1517 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1518
1519         * elf32-arm.c (enum elf32_arm_stub_type): Delete
1520         arm_stub_a8_veneer_lwm enumerator.
1521         (arm_stub_a8_veneer_lwm): New unsigned constant to replace
1522         aforementioned enumerator.
1523         (struct elf32_arm_stub_hash_entry): Delete target_addend
1524         field and add source_value.
1525         (struct a8_erratum_fix): Delete addend field and add target_offset.
1526         (stub_hash_newfunc): Initialize source_value field amd remove
1527         initialization for target_addend.
1528         (arm_build_one_stub): Stop special casing Thumb relocations: promote
1529         the else to being always executed, moving the
1530         arm_stub_a8_veneer_b_cond specific code in it.  Remove
1531         stub_entry->target_addend from points_to computation.
1532         (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1533         to target symbol from start of section rather than the offset from the
1534         stub address.
1535         (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1536         fields from struct a8_erratum_fix's offset and target_offset
1537         respectively.
1538         (make_branch_to_a8_stub): Rename target variable to loc.  Compute
1539         veneered_insn_loc and loc using stub_entry's source_value.
1540
1541 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1542
1543         (elf32_arm_merge_eabi_attributes): Add merging logic for
1544         Tag_DSP_extension.
1545
1546 2016-05-10  Pip Cet  <pipcet@gmail.com>
1547
1548         PR ld/20059
1549         * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1550         Define as _bfd_generic_copy_link_hash_symbol_type when using
1551         generic hash table.
1552
1553 2016-05-09  Nick Clifton  <nickc@redhat.com>
1554
1555         PR binutils/20063
1556         * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1557         field before accessing sections array.
1558
1559 2016-05-09  Christophe Monat  <christophe.monat@st.com>
1560
1561         PR ld/20030
1562         * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1563         (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1564         to nb_words.
1565         (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1566         encoding.
1567         (create_instruction_vldmdb): Likewise.
1568         (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1569         uses it to re-encode.
1570
1571 2016-05-09  Nick Clifton  <nickc@redhat.com>
1572
1573         PR 19938
1574         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1575         commit.
1576
1577 2016-05-09  Alan Modra  <amodra@gmail.com>
1578
1579         * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1580
1581 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1582
1583         PR ld/17550
1584         * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1585         documenting that indx == -3 if symbol is defined in a discarded
1586         section.
1587         * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1588         symbol is defined in a discarded section.
1589         (elf_link_output_extsym): Strip a global symbol defined in a
1590         discarded section.
1591
1592 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1593
1594         * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1595         MCU.
1596
1597 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1598
1599         * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1600         conversion to ...
1601         (elf_i386_convert_load_reloc): This.  New function.
1602         * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1603         conversion to ...
1604         (elf_x86_64_convert_load_reloc): This.  New function.
1605
1606 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1607
1608         * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1609         Don't check if contents == NULL.
1610         (elf_i386_tls_transition): Add from_relocate_section.  Check
1611         from_relocate_section instead of contents != NULL.  Update
1612         elf_i386_check_tls_transition call.
1613         (elf_i386_check_relocs): Cache the section contents if
1614         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1615         elf_i386_tls_transition.
1616         (elf_i386_relocate_section): Pass TRUE as from_relocate_section
1617         to elf_i386_tls_transition.
1618         (elf_backend_caches_rawsize): New.
1619         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1620         if contents == NULL.
1621         (elf_x86_64_tls_transition): Add from_relocate_section.  Check
1622         from_relocate_section instead of contents != NULL.
1623         (elf_x86_64_check_relocs): Cache the section contents if
1624         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1625         elf_x86_64_tls_transition.
1626         (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1627         to elf_x86_64_tls_transition.
1628         (elf_backend_caches_rawsize): New.
1629
1630 2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
1631
1632         PR 10549
1633         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1634         STB_GNU_UNIQUE.
1635
1636 2016-05-03  Jiong Wang  <jiong.wang@arm.com>
1637
1638         * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1639         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1640         * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1641         no_apply_dynamic_relocs.
1642         (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1643         dynamic relocations generated.
1644
1645 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1646
1647         * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1648         setting to ...
1649         (elf_i386_create_dynamic_sections): Here.
1650         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1651         interp setting to ...
1652         (elf_x86_64_create_dynamic_sections): Here.
1653
1654 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1655
1656         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1657         and replace (EH)->has_got_reloc with GOT_RELOC.
1658         (elf_i386_fixup_symbol): Pass has_got_reloc to
1659         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1660         (elf_i386_allocate_dynrelocs): Likewise.
1661         (elf_i386_relocate_section): Likewise.
1662         (elf_i386_finish_dynamic_symbol): Likewise.
1663         (elf_i386_convert_load): Pass TRUE to
1664         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1665         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1666         GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1667         (elf_x86_64_fixup_symbol): Pass has_got_reloc to
1668         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1669         (elf_x86_64_allocate_dynrelocs): Likewise.
1670         (elf_x86_64_relocate_section): Likewise.
1671         (elf_x86_64_finish_dynamic_symbol): Likewise.
1672         (elf_x86_64_convert_load): Pass TRUE to
1673         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1674
1675 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1676
1677         * elf32-i386.c (check_relocs_failed): New.
1678         (elf_i386_check_relocs): Set check_relocs_failed on error.
1679         (elf_i386_relocate_section): Skip if check_relocs failed.
1680
1681 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1682
1683         * elf64-x86-64.c (elf_x86_64_check_relocs): Set
1684         check_relocs_failed on error.
1685
1686 2016-04-29  Nick Clifton  <nickc@redhat.com>
1687
1688         PR 19938
1689         * elf-bfd.h (struct elf_backend_data): Rename
1690         elf_backend_set_special_section_info_and_link to
1691         elf_backend_copy_special_section_fields.
1692         * elfxx-target.h: Likewise.
1693         * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1694         comparing section flags.
1695         (copy_special_section_fields): New function.
1696         (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1697         Perform two scans over special sections.  The first one looks for
1698         a direct mapping between the output section and an input section.
1699         The second scan looks for a possible match based upon section
1700         characteristics.
1701         * elf32-arm.c (elf32_arm_copy_special_section_fields): New
1702         function.  Handle setting the sh_link field of SHT_ARM_EXIDX
1703         sections.
1704         * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1705         elf32_i386_copy_solaris_special_section_fields.
1706         * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1707         Rename to elf32_sparc_copy_solaris_special_section_fields.
1708         * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1709         elf64_x86_64_copy_solaris_special_section_fields.
1710
1711 2016-04-28  Nick Clifton  <nickc@redhat.com>
1712
1713         * po/zh_CN.po: Updated Chinese (simplified) translation.
1714
1715 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
1716
1717         PR ld/20006
1718         * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1719         when estimating distances between output sections.
1720
1721 2016-04-27  Alan Modra  <amodra@gmail.com>
1722
1723         * elflink.c (_bfd_elf_is_start_stop): New function.
1724         (_bfd_elf_gc_mark_rsec): Use it.
1725         * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1726
1727 2016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1728
1729         * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1730         * mmo.c (mmo_get_section_contents): Likewise.
1731         (mmo_set_section_contents): Likewise.
1732
1733 2016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
1734
1735         * elf-bfd.h (elf_link_hash_table): Update comments for
1736         dynsymcount.
1737         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1738         the unused NULL entry at the head of dynamic symbol table.
1739         (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1740         checks.
1741
1742 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1743
1744         * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1745         created file from dynobj.
1746
1747 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1748
1749         * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1750         normal input file if possible.
1751
1752 2016-04-21  Nick Clifton  <nickc@redhat.com>
1753
1754         * aout-adobe.c: Use _bfd_generic_link_check_relocs.
1755         * aout-target.h: Likewise.
1756         * aout-tic30.c: Likewise.
1757         * binary.c: Likewise.
1758         * bout.c: Likewise.
1759         * coff-alpha.c: Likewise.
1760         * coff-rs6000.c: Likewise.
1761         * coff64-rs6000.c: Likewise.
1762         * coffcode.h: Likewise.
1763         * i386msdos.c: Likewise.
1764         * i386os9k.c: Likewise.
1765         * ieee.c: Likewise.
1766         * ihex.c: Likewise.
1767         * libbfd-in.h: Likewise.
1768         * libecoff.h: Likewise.
1769         * mach-o-target.c: Likewise.
1770         * mmo.c: Likewise.
1771         * nlm-target.h: Likewise.
1772         * oasys.c: Likewise.
1773         * pef.c: Likewise.
1774         * plugin.c: Likewise.
1775         * ppcboot.c: Likewise.
1776         * som.c: Likewise.
1777         * srec.c: Likewise.
1778         * tekhex.c: Likewise.
1779         * versados.c: Likewise.
1780         * vms-alpha.c: Likewise.
1781         * xsym.c: Likewise.
1782         * elfxx-target.h: Use _bfd_elf_link_check_relocs.
1783         * linker.c (bfd_link_check_relocs): New function.
1784         (_bfd_generic_link_check_relocs): New function.
1785         * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1786         _bfd_link_check_relocs field.
1787         (struct bfd_target)L Add _bfd_link_check_relocs field.
1788         * bfd-in2.h: Regenerate.
1789         * libbfd.h: Regenerate.
1790
1791 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1792
1793         * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1794         (elf_backend_gc_sweep_hook): Likewise.
1795         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1796         (elf_backend_gc_sweep_hook): Likewise.
1797
1798 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1799
1800         * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1801         in excluded sections
1802
1803 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1804
1805         PR ld/19969
1806         * elf64-x86-64.c (check_relocs_failed): New.
1807         (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1808         Support relocation agaist local symbol.  Set check_relocs_failed.
1809         (elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
1810         R_X86_64_32 relocation overflow.
1811         (elf_x86_64_relocate_section): Skip if check_relocs failed.
1812         Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1813
1814 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1815
1816         * elf32-i386.c (elf_i386_check_relocs): Call
1817         _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1818         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1819
1820 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1821
1822         * elf-bfd.h (_bfd_elf_link_check_relocs): New.
1823         * elflink.c (_bfd_elf_link_check_relocs): New function.
1824         (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1825         if check_relocs_after_open_input is FALSE.
1826
1827 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1828
1829         * cache.c: Update old style function definitions.
1830         * elf32-m68k.c: Likewise.
1831         * elf64-mmix.c: Likewise.
1832         * stab-syms.c: Likewise.
1833
1834 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1835
1836         * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1837
1838 2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
1839
1840         * Makefile.in: Regenerated with automake 1.11.6.
1841         * aclocal.m4: Likewise.
1842         * doc/Makefile.in: Likewise.
1843
1844 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1845
1846         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1847         * bfd-in2.h: Regenerate.
1848         * libbfd.h: Regenerate.
1849         * elf32-arc.c: Add 'opcode/arc.h' include.
1850         (struct arc_relocation_data): Add symbol_name.
1851         (arc_special_overflow_checks): New function.
1852         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
1853         required, add an extra comment.
1854         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
1855
1856 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1857
1858         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1859         entries.
1860         (elf_arc_relocate_section): Update enum uses.
1861         (elf_arc_check_relocs): Likewise.
1862         (elf_arc_finish_dynamic_symbol): Likewise.
1863
1864 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
1865
1866         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1867         "sh_link".
1868
1869 2016-04-14  Nick Clifton  <nickc@redhat.com>
1870
1871         PR target/19938
1872         * elf-bbfd.h (struct elf_backend_data): New field:
1873         elf_strtab_flags.
1874         New field: elf_backend_set_special_section_info_and_link
1875         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
1876         defined.
1877         (elf_backend_set_special_section_info_and_link): Define if not
1878         already defined.
1879         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1880         elf_backend_strtab_flags macros to initialise fields in structure.
1881         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1882         being set even if SHF_MERGE is not set.
1883         (elf_fake_sections): Likewise.
1884         (section_match): New function.  Matches two ELF sections based
1885         upon fixed characteristics.
1886         (find_link): New function.  Locates a section in a BFD that
1887         matches a section in a different BFD.
1888         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1889         fields of reserved sections.
1890         (bfd_elf_compute_section_file_positions): Set the flags for the
1891         .shstrtab section based upon the elf_strtab_flags field in the
1892         elf_backend_data structure.
1893         (swap_out_syms): Likewise for the .strtab section.
1894         * elflink.c (bfd_elf_final_link): Set the flags for the
1895         .strtab section based upon the elf_strtab_flags field in the
1896         elf_backend_data structure.
1897         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
1898         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1899         targets.
1900         (elf_backend_set_special_section_info_and_link): Define for
1901         Solaris targets.
1902         * elf32-sparc.c: Likewise.
1903         * elf64-x86-64.c: Likewise.
1904
1905 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1906
1907         PR ld/19939
1908         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1909         to bfd_boolean.
1910         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1911         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1912         applies to read-only section.
1913         * elf32-i386.c (elf_i386_link_hash_table): Add
1914         readonly_dynrelocs_against_ifunc.
1915         (elf_i386_allocate_dynrelocs): Updated.
1916         (elf_i386_size_dynamic_sections): Issue an error for read-only
1917         segment with dynamic IFUNC relocations only if
1918         readonly_dynrelocs_against_ifunc is TRUE.
1919         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1920         readonly_dynrelocs_against_ifunc.
1921         (elf_x86_64_allocate_dynrelocs): Updated.
1922         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
1923         segment with dynamic IFUNC relocations only if
1924         readonly_dynrelocs_against_ifunc is TRUE.
1925         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1926         Updated.
1927
1928 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1929
1930         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1931         a fall through from error_ret_free_internal.  Free local_syms in
1932         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1933
1934 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1935
1936         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1937         (relocate_plt_for_entry): Likewise.
1938
1939 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1940
1941         * elf32-arc.c (elf_arc_check_relocs): Changed
1942
1943 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1944
1945         * elf32-arc.c (name_for_global_symbol): Changed assert.
1946         (get_replace_function): Created.:
1947         (struct arc_relocation_data): Changed to signed types.
1948         (defines S, L, P, PDATA): Casted to signed type.
1949         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1950         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1951         (arc_do_relocation): Changed.
1952
1953 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1954
1955         * elf32-arc.c (name_for_global_symbol): Added assert to check for
1956         symbol index.
1957         (elf_arc_relocate_section): Added and changed asserts, validating
1958         the synamic symbol index.
1959         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1960         relocation if symbol has dynindx set to -1.
1961
1962 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
1963
1964         * elflink.c (elf_link_add_object_symbols): Always turn hidden
1965         and internal symbols which have a dynamic index into local
1966         ones.
1967
1968 2016-04-04  Nick Clifton  <nickc@redhat.com>
1969
1970         PR 19872
1971         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1972         version number if the version is zero.
1973
1974 2016-04-01  Alan Modra  <amodra@gmail.com>
1975
1976         PR 19886
1977         * elflink.c (on_needed_list): Recursively check needed status.
1978         (elf_link_add_object_symbols): Adjust.
1979
1980 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1981
1982         * elf32-avr.c (avr_elf32_load_records_from_section): Free
1983         internal_relocs only if they aren't cached.
1984
1985 2016-03-29  Nick Clifton  <nickc@redhat.com>
1986
1987         PR 17334
1988         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1989         assertion on the size of the got section to allow it to be bigger
1990         than the number of relocs.
1991
1992 2016-03-29  Toni Spets  <toni.spets@iki.fi>
1993
1994         PR 19878
1995         * coffcode.h (coff_write_object_contents): Revert accidental
1996         2014-11-10 change.
1997
1998 2016-03-22  Alan Modra  <amodra@gmail.com>
1999
2000         PR 19850
2001         * dwarf2.c (read_attribute_value): Skip info_ptr check for
2002         DW_FORM_flag_present.
2003
2004 2016-03-22  Nick Clifton  <nickc@redhat.com>
2005
2006         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
2007         architecture name for backwards compatibility.
2008
2009         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
2010         unbounded stack use.
2011
2012         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
2013         sufficiently recent version of GCC.
2014         * configure: Regenerate.
2015
2016 2016-03-22  Alan Modra  <amodra@gmail.com>
2017
2018         PR 19851
2019         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
2020
2021 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
2022
2023         * archures.c (bfd_mach_arc_nps400): Define.
2024         * bfd-in2.h: Regenerate.
2025         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
2026         some existing entries to make space.
2027         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
2028         (arc_elf_final_write_processing): Likewise.
2029
2030 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
2031
2032         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
2033         EF_ARC_CPU_GENERIC.
2034         (arc_elf_final_write_processing): Don't bother setting cpu field
2035         in e_flags, this will have been set elsewhere.
2036
2037 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
2038
2039         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
2040         EF_ARC_MACH_MSK.
2041
2042 2016-03-21  Nick Clifton  <nickc@redhat.com>
2043
2044         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
2045         * configure: Regenerate.
2046         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
2047         alloca with call to xmalloc.
2048         * elf32-nds32.c: Likewise.
2049         * elf64-hppa.c: Likewise.
2050         * elfxx-mips.c: Likewise.
2051         * pef.c: Likewise.
2052         * pei-x86_64.c: Likewise.
2053         * som.c: Likewise.
2054         * xsym.c: Likewise.
2055
2056 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2057
2058         PR ld/19827
2059         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
2060         locally in PIE.
2061         (elf_i386_relocate_section): Likewise.
2062         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2063         (elf_x86_64_relocate_section): Likewise.
2064
2065 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2066
2067         PR ld/19807
2068         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2069         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
2070         relocation overflow check.
2071
2072 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
2073
2074         * bfd-in2.h: Regenerated.
2075
2076 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
2077
2078         PR 19713
2079         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
2080         uses bytes not octets.
2081         * elflink.c (resolve_section): Likewise.
2082         Add a bfd parameter.
2083         (eval_section): Pass the input_bfd to resolve_section.
2084         (bfd_elf_perform_complex_relocation): Convert byte offset to
2085         octets before read and writing values.
2086         (elf_link_input_bfd): Add byte to octet conversions.
2087         (elf_reloc_link_order): Likewise.
2088         (elf_fixup_link_order): Likewise.
2089         (bfd_elf_final_link): Likewise.
2090         * reloc.c (_bfd_final_link_relocate): Likewise.
2091         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
2092
2093 2016-03-10  Nick Clifton  <nickc@redhat.com>
2094
2095         * config.bfd: Mark the i370 target as obsolete.
2096
2097 2016-03-09  Pedro Alves  <palves@redhat.com>
2098
2099         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
2100         gcc ABI)" to printable name.
2101         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
2102         of "v850-rh850" as printable name.
2103
2104 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
2105
2106         PR ld/19623
2107         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
2108         relocations against absolute symbols.
2109
2110 2016-03-09  Alan Modra  <amodra@gmail.com>
2111
2112         PR binutils/19775
2113         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
2114         length elements in the archive.
2115
2116 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2117
2118         PR ld/19789
2119         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
2120         for -E/--dynamic-list only when not relocatable.
2121
2122 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2123
2124         PR ld/19784
2125         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
2126         count for locally defined local IFUNC symbols in shared object.
2127         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2128
2129 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
2130
2131         PR ld/19579
2132         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
2133         together.
2134
2135 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
2136             Andrew Burgess  <andrew.burgess@embecosm.com>
2137
2138         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
2139         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
2140         (arc_elf_howto_init): Added assert to validate relocations.
2141         (get_middle_endian_relocation): Delete.
2142         (middle_endian_convert): New function.
2143         (ME): Redefine, now does nothing.
2144         (IS_ME): New define.
2145         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
2146         definition to call middle_endian_convert.  Add a new local
2147         variable and make use of this throughout. Added call to
2148         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
2149
2150 2016-03-07  Nick Clifton  <nickc@redhat.com>
2151
2152         PR binutils/19775
2153         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
2154         length elements in the archive.
2155
2156 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
2157
2158         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
2159         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
2160
2161 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
2162
2163         PR ld/19579
2164         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
2165         executable as definition if the new definition comes from a
2166         shared library.
2167
2168 2016-03-02  Alan Modra  <amodra@gmail.com>
2169
2170         * Makefile.in: Regenerate.
2171         * po/SRC-POTFILES.in: Regenerate.
2172
2173 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
2174
2175         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
2176         relocation addend when sections get merged.
2177
2178 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2179
2180         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
2181         the flag change.
2182         (elf_arc_relocate_section): Fixes and conditions to support PIE.
2183         Assert for code sections dynamic relocs.
2184
2185 2016-02-26  Renlin Li  <renlin.li@arm.com>
2186
2187         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
2188         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
2189
2190 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2191
2192         PR ld/19609
2193         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
2194         load with locally bound symbols if PIC is false or there is no
2195         base register.  Optimize branch to 0 if PIC is false.
2196         (elf_i386_relocate_section): Don't generate dynamic relocations
2197         against undefined weak symbols if PIC is false.
2198         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
2199         if we can't estimate relocation overflow with --no-relax.
2200         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
2201         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
2202         (elf_x86_64_relocate_section): Don't generate dynamic relocations
2203         against undefined weak symbols if PIC is false.
2204
2205 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2206
2207         PR ld/19645
2208         * bfd.c (bfd): Change flags to 20 bits.
2209         (BFD_CONVERT_ELF_COMMON): New.
2210         (BFD_USE_ELF_STT_COMMON): Likewise.
2211         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
2212         BFD_USE_ELF_STT_COMMON.
2213         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2214         * configure.ac: Remove --enable-elf-stt-common.
2215         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
2216         common symbol depending on BFD_CONVERT_ELF_COMMON and
2217         BFD_USE_ELF_STT_COMMON.
2218         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
2219         STT_COMMON.
2220         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
2221         STT_COMMON.
2222         (elf_link_convert_common_type): New function.
2223         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
2224         common symbol depending on BFD_CONVERT_ELF_COMMON and
2225         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
2226         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
2227         and BFD_USE_ELF_STT_COMMON to object_flags.
2228         (TARGET_LITTLE_SYM): Likewise.
2229         * syms.c (BSF_KEEP_G): Renamed to ...
2230         (BSF_ELF_COMMON): This.
2231         * bfd-in2.h: Regenerated.
2232         * config.in: Likewise.
2233         * configure: Likewise.
2234
2235 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2236
2237         PR ld/19636
2238         PR ld/19704
2239         PR ld/19719
2240         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2241         (elf_i386_link_hash_entry): Add has_got_reloc and
2242         has_non_got_reloc.
2243         (elf_i386_link_hash_table): Add interp.
2244         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
2245         has_non_got_reloc.
2246         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
2247         has_non_got_reloc.
2248         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
2249         (elf_i386_fixup_symbol): New function.
2250         (elf_i386_pie_finish_undefweak_symbol): Likewise.
2251         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
2252         relocations and discard relocations against resolved undefined
2253         weak symbols in executable.  Don't make resolved undefined weak
2254         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
2255         relocation against undefined weak symbols in PIE.
2256         (elf_i386_size_dynamic_sections): Set interp to .interp section.
2257         (elf_i386_relocate_section): Don't generate dynamic relocations
2258         against resolved undefined weak symbols in PIE, except for
2259         R_386_PC32.
2260         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
2261         dynamic PLT/GOT relocations for resolved undefined weak symbols.
2262         Don't generate dynamic relocation against resolved undefined weak
2263         symbol in executable.
2264         (elf_i386_finish_dynamic_sections): Call
2265         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
2266         (elf_backend_fixup_symbol): New.
2267         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2268         (elf_x86_64_link_hash_entry): Add has_got_reloc and
2269         has_non_got_reloc.
2270         (elf_x86_64_link_hash_table): Add interp.
2271         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
2272         has_non_got_reloc.
2273         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
2274         has_non_got_reloc.
2275         (elf_x86_64_check_relocs): Set has_got_reloc and
2276         has_non_got_reloc.
2277         (elf_x86_64_fixup_symbol): New function.
2278         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
2279         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
2280         relocations and discard relocations against resolved undefined
2281         weak symbols in executable.  Don't make resolved undefined weak
2282         symbols in executable dynamic.
2283         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
2284         (elf_x86_64_relocate_section): Check relocation overflow for
2285         dynamic relocations against unresolved weak undefined symbols.
2286         Don't generate dynamic relocations against resolved weak
2287         undefined symbols in PIE.
2288         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
2289         dynamic PLT/GOT relocations for resolved undefined weak symbols.
2290         Don't generate dynamic relocation against resolved undefined weak
2291         symbol in executable.
2292         (elf_x86_64_finish_dynamic_sections): Call
2293         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
2294         (elf_backend_fixup_symbol): New.
2295
2296 2016-02-26  Alan Modra  <amodra@gmail.com>
2297
2298         * elf64-ppc.c (create_linkage_sections): Create sfpr when
2299         save_restore_funcs, rest of sections when not relocatable.
2300         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
2301         (sfpr_define): Define all symbols on emitted code.
2302         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
2303         when relocatable.  Move sfpr_define loop earlier.
2304
2305 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
2306
2307         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
2308         (elf_x86_64_relocate_section): Use it.  Replace
2309         x86_64_elf_howto_table[r_type] with howto.
2310
2311 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
2312
2313         PR ld/19698
2314         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
2315         symbol version is unknown.
2316
2317 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
2318
2319         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
2320         to (bfd_vma) -1 when setting needs_plt to 0.
2321         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2322
2323 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
2324
2325         * elflink.c (bfd_elf_record_link_assignment): Check for shared
2326         library, instead of PIC, and don't check PDE when making linker
2327         assigned symbol dynamic.
2328
2329 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
2330
2331         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
2332         ABIVERSION for non-executable stack.
2333
2334 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
2335
2336         PR target/19516
2337         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
2338         Always produce a RELATIVE reloc for a local symbol.
2339
2340 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
2341
2342         Fix test-case ld-elf/pr19617b
2343         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
2344         discard unused non-function symbols when --dynamic-list-data.
2345
2346 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2347
2348         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
2349         dynsym section, even if it is empty, with dynamic sections.
2350
2351 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2352
2353         * syms.c: Remove BSF_COMMON from comments.
2354         * bfd-in2.h: Regenerated.
2355
2356 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
2357
2358         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
2359         for destination.  Remove useless function parameters.
2360         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
2361
2362 2016-02-19  Nick Clifton  <nickc@redhat.com>
2363
2364         PR ld/19629
2365         * aoutx.h (aout_link_add_symbols): Check for out of range string
2366         table offsets.
2367
2368         PR ld/19628
2369         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
2370         processing if we encounter a reloc without an associated symbol.
2371
2372 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
2373
2374         PR ld/19617
2375         * elflink.c (elf_link_add_object_symbols): Always create dynamic
2376         sections for -E/--dynamic-list.
2377
2378 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
2379
2380         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
2381         to bfd_true.
2382
2383 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
2384
2385         * plugin.c (plugin_vec): Set match priority to 255.
2386         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
2387         matching against the plugin vector, take priority from there not
2388         from TEMP.
2389
2390 2016-02-15  Nick Clifton  <nickc@redhat.com>
2391
2392         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
2393         for length and type fields.  Use a signed value for the
2394         suffix_length field.
2395
2396 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
2397
2398         PR ld/19601
2399         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
2400         significant bit in GOT offset for R_386_GOT32X.
2401
2402 2016-02-10  Nick Clifton  <nickc@redhat.com>
2403
2404         PR 19405
2405         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
2406         immediate values.
2407         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
2408         number of messages about FDE encoding preventing .eh_frame_hdr
2409         generation.
2410
2411 2016-02-09  Nick Clifton  <nickc@redhat.com>
2412
2413         * oasys.c (oasys_archive_p): Fix indentation.
2414         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
2415         constant for left shifting.
2416
2417         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
2418         helpful warning message to explain why certain AArch64 relocs
2419         might overflow.
2420
2421 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
2422
2423         * pe-mips.c (coff_mips_reloc): Fix formatting.
2424
2425 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
2426
2427         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
2428         to bfd_mach_arc_arc600.
2429
2430 2016-02-04  Alan Modra  <amodra@gmail.com>
2431
2432         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
2433         for big-endian.
2434
2435 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
2436
2437         PR ld/19542
2438         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
2439         distances in the compressed_size field of the output section.
2440
2441 2016-02-02  Alan Modra  <amodra@gmail.com>
2442
2443         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2444         ELFv2 entry optimization.
2445
2446 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
2447
2448         PR binutils/19547
2449         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
2450         no relocations in relocatable files.
2451
2452 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
2453
2454         PR ld/19553
2455         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2456         if a symbol from a library loaded via DT_NEEDED doesn't match
2457         the symbol referenced by regular object.
2458
2459 2016-02-01  Nathaniel Smith  <njs@pobox.com>
2460
2461         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
2462         CODE and DATA.
2463
2464 2016-02-01  Alan Modra  <amodra@gmail.com>
2465
2466         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
2467         an out of range reloc_index.
2468         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
2469
2470 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
2471
2472         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
2473         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
2474         * Makefile.in: Regenerated.
2475
2476 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
2477
2478         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2479
2480 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
2481
2482         PR ld/19526
2483         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
2484         files.
2485         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
2486
2487 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
2488
2489         PR ld/19539
2490         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
2491         against STT_GNU_IFUNC symbol only with dynamic symbols.
2492         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
2493
2494 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
2495
2496         PR binutils/19523
2497         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
2498         decompress debug sections.
2499
2500 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
2501
2502         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2503         `dynindx'.
2504
2505 2016-01-25  Nick Clifton  <nickc@redhat.com>
2506
2507         PR target/19435
2508         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2509         dsym filename buffer.
2510
2511 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
2512
2513         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2514
2515 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
2516
2517         * elfxx-mips.c (BZ16_REG): Correct calculation.
2518
2519 2016-01-21  Nick Clifton  <nickc@redhat.com>
2520
2521         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2522         changing the type of _loc to be bfd_byte *.
2523         (elf_arc_finish_dynamic_symbol): Likewise.
2524
2525 2016-01-21  Nick Clifton  <nickc@redhat.com>
2526
2527         PR ld/19455
2528         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2529         class of the linker stub bfd.
2530         (elf32_arm_check_relocs): Skip check for pic format after
2531         processing a vxWorks R_ARM_ABS12 reloc.
2532         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2533         reporting a class mismatch.
2534
2535 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
2536
2537         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2538         veneer for sym_sec != input_sec.
2539         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2540         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
2541         calculation destination.
2542
2543 2016-01-21  Alan Modra  <amodra@gmail.com>
2544
2545         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2546         (swap_linux_prpsinfo64_out): New function.
2547         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2548         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2549         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
2550         (elfcore_write_linux_prpsinfo64): Likewise.
2551         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2552         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2553         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
2554
2555 2016-01-21  Alan Modra  <amodra@gmail.com>
2556
2557         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
2558         * elf.c: Adjust #include.
2559         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
2560         * Makefile.am (SOURCE_HFILES): Update.
2561         * Makefile.in: Regenerate.
2562         * po/SRC-PORFILES.in: Regenerate.
2563
2564 2016-01-21  Alan Modra  <amodra@gmail.com>
2565
2566         * configure.ac: Move corefile selection later in file.  Move
2567         tdefaults code immediately after other target vector code.
2568         * configure: Regenerate.
2569
2570 2016-01-20  Mickael Guene  <mickael.guene@st.com>
2571
2572         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2573         section using '.text.noread' pattern.
2574
2575 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
2576
2577         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2578
2579 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
2580             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
2581
2582         * arc-plt.def: New file.
2583         * arc-plt.h: Likewise.
2584         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2585                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2586                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2587                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2588         (name_for_global_symbol): Added.
2589         (ADD_RELA): Helper to create dynamic relocs.
2590         (new_got_entry_to_list): Create a new got entry in linked list.
2591         (symbol_has_entry_of_type): Search for specific type of entry in
2592         list.
2593         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
2594         (is_reloc_for_TLS, arc_elf_set_private_flags)
2595         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2596         (arc_elf_merge_private_bfd_data): New functions.
2597         (debug_arc_reloc): Cleaned debug info printing.
2598         (PDATA reloc): Changed not to perform address alignment.
2599         (reverse_me): Added. Fix for ARC_32 relocs.
2600         (arc_do_relocation): Return bfd_reloc_of when no relocation should
2601         occur.
2602         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2603         Changed function to access an array of list of GOT entries instead
2604         of just an array of offsets.
2605         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2606         (elf_arc_check_relocs): Likewise.
2607         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2608         (elf_arc_finish_dynamic_sections): Likewise
2609         (arc_create_dynamic_sections): Modified conditions to create
2610         dynamic sections.
2611         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2612         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2613         (relocate_plt_for_entry): Changed to support new way to define PLT
2614         related code.
2615         (add_symbol_to_plt): Likewise.
2616         (arc_elf_link_hash_table_create): New function.
2617
2618 2016-01-18  Nick Clifton  <nickc@redhat.com>
2619
2620         PR ld/19440
2621         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2622         section number into internal section number.
2623         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2624         * coffswap.h (coff_swap_sym_in): Likewise.
2625         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2626         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2627         section number field is big enough to hold the external value.
2628
2629 2016-01-17  Alan Modra  <amodra@gmail.com>
2630
2631         * configure: Regenerate.
2632
2633 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
2634
2635         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2636         when address in first unwind entry does not match start of
2637         section.
2638
2639 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
2640             Jiong Wang  <jiong.wang@arm.com>
2641
2642         PR ld/19368
2643         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2644         reloc_class_ifunc.
2645
2646 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
2647
2648         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2649         place 'R_' before the reloc name returned.
2650         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2651         the relocation string.
2652
2653 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2654
2655         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2656         factored out from...
2657         (_bfd_mips_elf_merge_private_bfd_data): ... here.
2658
2659 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2660
2661         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2662         attribute check after ELF file header flag check.
2663
2664 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2665
2666         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2667         return status from `_bfd_elf_merge_object_attributes'.
2668
2669 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2670
2671         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2672         factored out from...
2673         (_bfd_mips_elf_merge_private_bfd_data): ... here.
2674
2675 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2676
2677         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2678         handling of input MIPS ABI flags together.
2679
2680 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2681
2682         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2683         attribute checks for null input.
2684
2685 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2686
2687         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2688         pointers to target data.
2689
2690 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2691
2692         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2693         an FP ABI warning.
2694
2695 2016-01-01  Alan Modra  <amodra@gmail.com>
2696
2697         Update year range in copyright notice of all files.
2698
2699 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2700 \f
2701 Copyright (C) 2016 Free Software Foundation, Inc.
2702
2703 Copying and distribution of this file, with or without modification,
2704 are permitted in any medium without royalty provided the copyright
2705 notice and this notice are preserved.
2706
2707 Local Variables:
2708 mode: change-log
2709 left-margin: 8
2710 fill-column: 74
2711 version-control: never
2712 End: