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