arc/nps400 : New cmem instructions and associated relocation
[external/binutils.git] / bfd / ChangeLog
1 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
2
3         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
4         * bfd-in2.h: Regenerate.
5         * libbfd.h: Regenerate.
6         * elf32-arc.c: Add 'opcode/arc.h' include.
7         (struct arc_relocation_data): Add symbol_name.
8         (arc_special_overflow_checks): New function.
9         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
10         required, add an extra comment.
11         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
12
13 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
14
15         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
16         entries.
17         (elf_arc_relocate_section): Update enum uses.
18         (elf_arc_check_relocs): Likewise.
19         (elf_arc_finish_dynamic_symbol): Likewise.
20
21 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
22
23         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
24         "sh_link".
25
26 2016-04-14  Nick Clifton  <nickc@redhat.com>
27
28         PR target/19938
29         * elf-bbfd.h (struct elf_backend_data): New field:
30         elf_strtab_flags.
31         New field: elf_backend_set_special_section_info_and_link
32         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
33         defined.
34         (elf_backend_set_special_section_info_and_link): Define if not
35         already defined.
36         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
37         elf_backend_strtab_flags macros to initialise fields in structure.
38         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
39         being set even if SHF_MERGE is not set.
40         (elf_fake_sections): Likewise.
41         (section_match): New function.  Matches two ELF sections based
42         upon fixed characteristics.
43         (find_link): New function.  Locates a section in a BFD that
44         matches a section in a different BFD.
45         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
46         fields of reserved sections.
47         (bfd_elf_compute_section_file_positions): Set the flags for the
48         .shstrtab section based upon the elf_strtab_flags field in the
49         elf_backend_data structure.
50         (swap_out_syms): Likewise for the .strtab section.
51         * elflink.c (bfd_elf_final_link): Set the flags for the
52         .strtab section based upon the elf_strtab_flags field in the
53         elf_backend_data structure.
54         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
55         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
56         targets.
57         (elf_backend_set_special_section_info_and_link): Define for
58         Solaris targets.
59         * elf32-sparc.c: Likewise.
60         * elf64-x86-64.c: Likewise.
61
62 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
63
64         PR ld/19939
65         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
66         to bfd_boolean.
67         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
68         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
69         applies to read-only section.
70         * elf32-i386.c (elf_i386_link_hash_table): Add
71         readonly_dynrelocs_against_ifunc.
72         (elf_i386_allocate_dynrelocs): Updated.
73         (elf_i386_size_dynamic_sections): Issue an error for read-only
74         segment with dynamic IFUNC relocations only if
75         readonly_dynrelocs_against_ifunc is TRUE.
76         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
77         readonly_dynrelocs_against_ifunc.
78         (elf_x86_64_allocate_dynrelocs): Updated.
79         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
80         segment with dynamic IFUNC relocations only if
81         readonly_dynrelocs_against_ifunc is TRUE.
82         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
83         Updated.
84
85 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
86
87         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
88         a fall through from error_ret_free_internal.  Free local_syms in
89         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
90
91 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
92
93         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
94         (relocate_plt_for_entry): Likewise.
95
96 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
97
98         * elf32-arc.c (elf_arc_check_relocs): Changed
99
100 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
101
102         * elf32-arc.c (name_for_global_symbol): Changed assert.
103         (get_replace_function): Created.:
104         (struct arc_relocation_data): Changed to signed types.
105         (defines S, L, P, PDATA): Casted to signed type.
106         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
107         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
108         (arc_do_relocation): Changed.
109
110 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
111
112         * elf32-arc.c (name_for_global_symbol): Added assert to check for
113         symbol index.
114         (elf_arc_relocate_section): Added and changed asserts, validating
115         the synamic symbol index.
116         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
117         relocation if symbol has dynindx set to -1.
118
119 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
120
121         * elflink.c (elf_link_add_object_symbols): Always turn hidden
122         and internal symbols which have a dynamic index into local
123         ones.
124
125 2016-04-04  Nick Clifton  <nickc@redhat.com>
126
127         PR 19872
128         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
129         version number if the version is zero.
130
131 2016-04-01  Alan Modra  <amodra@gmail.com>
132
133         PR 19886
134         * elflink.c (on_needed_list): Recursively check needed status.
135         (elf_link_add_object_symbols): Adjust.
136
137 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
138
139         * elf32-avr.c (avr_elf32_load_records_from_section): Free
140         internal_relocs only if they aren't cached.
141
142 2016-03-29  Nick Clifton  <nickc@redhat.com>
143
144         PR 17334
145         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
146         assertion on the size of the got section to allow it to be bigger
147         than the number of relocs.
148
149 2016-03-29  Toni Spets  <toni.spets@iki.fi>
150
151         PR 19878
152         * coffcode.h (coff_write_object_contents): Revert accidental
153         2014-11-10 change.
154
155 2016-03-22  Alan Modra  <amodra@gmail.com>
156
157         PR 19850
158         * dwarf2.c (read_attribute_value): Skip info_ptr check for
159         DW_FORM_flag_present.
160
161 2016-03-22  Nick Clifton  <nickc@redhat.com>
162
163         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
164         architecture name for backwards compatibility.
165
166         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
167         unbounded stack use.
168
169         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
170         sufficiently recent version of GCC.
171         * configure: Regenerate.
172
173 2016-03-22  Alan Modra  <amodra@gmail.com>
174
175         PR 19851
176         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
177
178 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
179
180         * archures.c (bfd_mach_arc_nps400): Define.
181         * bfd-in2.h: Regenerate.
182         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
183         some existing entries to make space.
184         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
185         (arc_elf_final_write_processing): Likewise.
186
187 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
188
189         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
190         EF_ARC_CPU_GENERIC.
191         (arc_elf_final_write_processing): Don't bother setting cpu field
192         in e_flags, this will have been set elsewhere.
193
194 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
195
196         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
197         EF_ARC_MACH_MSK.
198
199 2016-03-21  Nick Clifton  <nickc@redhat.com>
200
201         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
202         * configure: Regenerate.
203         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
204         alloca with call to xmalloc.
205         * elf32-nds32.c: Likewise.
206         * elf64-hppa.c: Likewise.
207         * elfxx-mips.c: Likewise.
208         * pef.c: Likewise.
209         * pei-x86_64.c: Likewise.
210         * som.c: Likewise.
211         * xsym.c: Likewise.
212
213 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
214
215         PR ld/19827
216         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
217         locally in PIE.
218         (elf_i386_relocate_section): Likewise.
219         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
220         (elf_x86_64_relocate_section): Likewise.
221
222 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
223
224         PR ld/19807
225         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
226         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
227         relocation overflow check.
228
229 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
230
231         * bfd-in2.h: Regenerated.
232
233 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
234
235         PR 19713
236         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
237         uses bytes not octets.
238         * elflink.c (resolve_section): Likewise.
239         Add a bfd parameter.
240         (eval_section): Pass the input_bfd to resolve_section.
241         (bfd_elf_perform_complex_relocation): Convert byte offset to
242         octets before read and writing values.
243         (elf_link_input_bfd): Add byte to octet conversions.
244         (elf_reloc_link_order): Likewise.
245         (elf_fixup_link_order): Likewise.
246         (bfd_elf_final_link): Likewise.
247         * reloc.c (_bfd_final_link_relocate): Likewise.
248         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
249
250 2016-03-10  Nick Clifton  <nickc@redhat.com>
251
252         * config.bfd: Mark the i370 target as obsolete.
253
254 2016-03-09  Pedro Alves  <palves@redhat.com>
255
256         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
257         gcc ABI)" to printable name.
258         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
259         of "v850-rh850" as printable name.
260
261 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
262
263         PR ld/19623
264         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
265         relocations against absolute symbols.
266
267 2016-03-09  Alan Modra  <amodra@gmail.com>
268
269         PR binutils/19775
270         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
271         length elements in the archive.
272
273 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
274
275         PR ld/19789
276         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
277         for -E/--dynamic-list only when not relocatable.
278
279 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
280
281         PR ld/19784
282         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
283         count for locally defined local IFUNC symbols in shared object.
284         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
285
286 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
287
288         PR ld/19579
289         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
290         together.
291
292 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
293             Andrew Burgess  <andrew.burgess@embecosm.com>
294
295         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
296         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
297         (arc_elf_howto_init): Added assert to validate relocations.
298         (get_middle_endian_relocation): Delete.
299         (middle_endian_convert): New function.
300         (ME): Redefine, now does nothing.
301         (IS_ME): New define.
302         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
303         definition to call middle_endian_convert.  Add a new local
304         variable and make use of this throughout. Added call to
305         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
306
307 2016-03-07  Nick Clifton  <nickc@redhat.com>
308
309         PR binutils/19775
310         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
311         length elements in the archive.
312
313 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
314
315         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
316         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
317
318 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
319
320         PR ld/19579
321         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
322         executable as definition if the new definition comes from a
323         shared library.
324
325 2016-03-02  Alan Modra  <amodra@gmail.com>
326
327         * Makefile.in: Regenerate.
328         * po/SRC-POTFILES.in: Regenerate.
329
330 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
331
332         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
333         relocation addend when sections get merged.
334
335 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
336
337         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
338         the flag change.
339         (elf_arc_relocate_section): Fixes and conditions to support PIE.
340         Assert for code sections dynamic relocs.
341
342 2016-02-26  Renlin Li  <renlin.li@arm.com>
343
344         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
345         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
346
347 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
348
349         PR ld/19609
350         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
351         load with locally bound symbols if PIC is false or there is no
352         base register.  Optimize branch to 0 if PIC is false.
353         (elf_i386_relocate_section): Don't generate dynamic relocations
354         against undefined weak symbols if PIC is false.
355         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
356         if we can't estimate relocation overflow with --no-relax.
357         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
358         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
359         (elf_x86_64_relocate_section): Don't generate dynamic relocations
360         against undefined weak symbols if PIC is false.
361
362 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
363
364         PR ld/19645
365         * bfd.c (bfd): Change flags to 20 bits.
366         (BFD_CONVERT_ELF_COMMON): New.
367         (BFD_USE_ELF_STT_COMMON): Likewise.
368         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
369         BFD_USE_ELF_STT_COMMON.
370         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
371         * configure.ac: Remove --enable-elf-stt-common.
372         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
373         common symbol depending on BFD_CONVERT_ELF_COMMON and
374         BFD_USE_ELF_STT_COMMON.
375         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
376         STT_COMMON.
377         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
378         STT_COMMON.
379         (elf_link_convert_common_type): New function.
380         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
381         common symbol depending on BFD_CONVERT_ELF_COMMON and
382         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
383         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
384         and BFD_USE_ELF_STT_COMMON to object_flags.
385         (TARGET_LITTLE_SYM): Likewise.
386         * syms.c (BSF_KEEP_G): Renamed to ...
387         (BSF_ELF_COMMON): This.
388         * bfd-in2.h: Regenerated.
389         * config.in: Likewise.
390         * configure: Likewise.
391
392 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
393
394         PR ld/19636
395         PR ld/19704
396         PR ld/19719
397         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
398         (elf_i386_link_hash_entry): Add has_got_reloc and
399         has_non_got_reloc.
400         (elf_i386_link_hash_table): Add interp.
401         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
402         has_non_got_reloc.
403         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
404         has_non_got_reloc.
405         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
406         (elf_i386_fixup_symbol): New function.
407         (elf_i386_pie_finish_undefweak_symbol): Likewise.
408         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
409         relocations and discard relocations against resolved undefined
410         weak symbols in executable.  Don't make resolved undefined weak
411         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
412         relocation against undefined weak symbols in PIE.
413         (elf_i386_size_dynamic_sections): Set interp to .interp section.
414         (elf_i386_relocate_section): Don't generate dynamic relocations
415         against resolved undefined weak symbols in PIE, except for
416         R_386_PC32.
417         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
418         dynamic PLT/GOT relocations for resolved undefined weak symbols.
419         Don't generate dynamic relocation against resolved undefined weak
420         symbol in executable.
421         (elf_i386_finish_dynamic_sections): Call
422         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
423         (elf_backend_fixup_symbol): New.
424         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
425         (elf_x86_64_link_hash_entry): Add has_got_reloc and
426         has_non_got_reloc.
427         (elf_x86_64_link_hash_table): Add interp.
428         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
429         has_non_got_reloc.
430         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
431         has_non_got_reloc.
432         (elf_x86_64_check_relocs): Set has_got_reloc and
433         has_non_got_reloc.
434         (elf_x86_64_fixup_symbol): New function.
435         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
436         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
437         relocations and discard relocations against resolved undefined
438         weak symbols in executable.  Don't make resolved undefined weak
439         symbols in executable dynamic.
440         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
441         (elf_x86_64_relocate_section): Check relocation overflow for
442         dynamic relocations against unresolved weak undefined symbols.
443         Don't generate dynamic relocations against resolved weak
444         undefined symbols in PIE.
445         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
446         dynamic PLT/GOT relocations for resolved undefined weak symbols.
447         Don't generate dynamic relocation against resolved undefined weak
448         symbol in executable.
449         (elf_x86_64_finish_dynamic_sections): Call
450         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
451         (elf_backend_fixup_symbol): New.
452
453 2016-02-26  Alan Modra  <amodra@gmail.com>
454
455         * elf64-ppc.c (create_linkage_sections): Create sfpr when
456         save_restore_funcs, rest of sections when not relocatable.
457         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
458         (sfpr_define): Define all symbols on emitted code.
459         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
460         when relocatable.  Move sfpr_define loop earlier.
461
462 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
463
464         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
465         (elf_x86_64_relocate_section): Use it.  Replace
466         x86_64_elf_howto_table[r_type] with howto.
467
468 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
469
470         PR ld/19698
471         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
472         symbol version is unknown.
473
474 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
475
476         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
477         to (bfd_vma) -1 when setting needs_plt to 0.
478         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
479
480 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
481
482         * elflink.c (bfd_elf_record_link_assignment): Check for shared
483         library, instead of PIC, and don't check PDE when making linker
484         assigned symbol dynamic.
485
486 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
487
488         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
489         ABIVERSION for non-executable stack.
490
491 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
492
493         PR target/19516
494         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
495         Always produce a RELATIVE reloc for a local symbol.
496
497 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
498
499         Fix test-case ld-elf/pr19617b
500         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
501         discard unused non-function symbols when --dynamic-list-data.
502
503 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
504
505         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
506         dynsym section, even if it is empty, with dynamic sections.
507
508 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
509
510         * syms.c: Remove BSF_COMMON from comments.
511         * bfd-in2.h: Regenerated.
512
513 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
514
515         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
516         for destination.  Remove useless function parameters.
517         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
518
519 2016-02-19  Nick Clifton  <nickc@redhat.com>
520
521         PR ld/19629
522         * aoutx.h (aout_link_add_symbols): Check for out of range string
523         table offsets.
524
525         PR ld/19628
526         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
527         processing if we encounter a reloc without an associated symbol.
528
529 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
530
531         PR ld/19617
532         * elflink.c (elf_link_add_object_symbols): Always create dynamic
533         sections for -E/--dynamic-list.
534
535 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
536
537         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
538         to bfd_true.
539
540 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
541
542         * plugin.c (plugin_vec): Set match priority to 255.
543         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
544         matching against the plugin vector, take priority from there not
545         from TEMP.
546
547 2016-02-15  Nick Clifton  <nickc@redhat.com>
548
549         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
550         for length and type fields.  Use a signed value for the
551         suffix_length field.
552
553 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
554
555         PR ld/19601
556         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
557         significant bit in GOT offset for R_386_GOT32X.
558
559 2016-02-10  Nick Clifton  <nickc@redhat.com>
560
561         PR 19405
562         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
563         immediate values.
564         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
565         number of messages about FDE encoding preventing .eh_frame_hdr
566         generation.
567
568 2016-02-09  Nick Clifton  <nickc@redhat.com>
569
570         * oasys.c (oasys_archive_p): Fix indentation.
571         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
572         constant for left shifting.
573
574         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
575         helpful warning message to explain why certain AArch64 relocs
576         might overflow.
577
578 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
579
580         * pe-mips.c (coff_mips_reloc): Fix formatting.
581
582 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
583
584         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
585         to bfd_mach_arc_arc600.
586
587 2016-02-04  Alan Modra  <amodra@gmail.com>
588
589         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
590         for big-endian.
591
592 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
593
594         PR ld/19542
595         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
596         distances in the compressed_size field of the output section.
597
598 2016-02-02  Alan Modra  <amodra@gmail.com>
599
600         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
601         ELFv2 entry optimization.
602
603 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
604
605         PR binutils/19547
606         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
607         no relocations in relocatable files.
608
609 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
610
611         PR ld/19553
612         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
613         if a symbol from a library loaded via DT_NEEDED doesn't match
614         the symbol referenced by regular object.
615
616 2016-02-01  Nathaniel Smith  <njs@pobox.com>
617
618         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
619         CODE and DATA.
620
621 2016-02-01  Alan Modra  <amodra@gmail.com>
622
623         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
624         an out of range reloc_index.
625         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
626
627 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
628
629         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
630         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
631         * Makefile.in: Regenerated.
632
633 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
634
635         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
636
637 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
638
639         PR ld/19526
640         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
641         files.
642         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
643
644 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
645
646         PR ld/19539
647         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
648         against STT_GNU_IFUNC symbol only with dynamic symbols.
649         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
650
651 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
652
653         PR binutils/19523
654         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
655         decompress debug sections.
656
657 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
658
659         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
660         `dynindx'.
661
662 2016-01-25  Nick Clifton  <nickc@redhat.com>
663
664         PR target/19435
665         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
666         dsym filename buffer.
667
668 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
669
670         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
671
672 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
673
674         * elfxx-mips.c (BZ16_REG): Correct calculation.
675
676 2016-01-21  Nick Clifton  <nickc@redhat.com>
677
678         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
679         changing the type of _loc to be bfd_byte *.
680         (elf_arc_finish_dynamic_symbol): Likewise.
681
682 2016-01-21  Nick Clifton  <nickc@redhat.com>
683
684         PR ld/19455
685         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
686         class of the linker stub bfd.
687         (elf32_arm_check_relocs): Skip check for pic format after
688         processing a vxWorks R_ARM_ABS12 reloc.
689         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
690         reporting a class mismatch.
691
692 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
693
694         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
695         veneer for sym_sec != input_sec.
696         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
697         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
698         calculation destination.
699
700 2016-01-21  Alan Modra  <amodra@gmail.com>
701
702         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
703         (swap_linux_prpsinfo64_out): New function.
704         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
705         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
706         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
707         (elfcore_write_linux_prpsinfo64): Likewise.
708         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
709         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
710         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
711
712 2016-01-21  Alan Modra  <amodra@gmail.com>
713
714         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
715         * elf.c: Adjust #include.
716         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
717         * Makefile.am (SOURCE_HFILES): Update.
718         * Makefile.in: Regenerate.
719         * po/SRC-PORFILES.in: Regenerate.
720
721 2016-01-21  Alan Modra  <amodra@gmail.com>
722
723         * configure.ac: Move corefile selection later in file.  Move
724         tdefaults code immediately after other target vector code.
725         * configure: Regenerate.
726
727 2016-01-20  Mickael Guene  <mickael.guene@st.com>
728
729         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
730         section using '.text.noread' pattern.
731
732 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
733
734         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
735
736 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
737             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
738
739         * arc-plt.def: New file.
740         * arc-plt.h: Likewise.
741         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
742                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
743                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
744                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
745         (name_for_global_symbol): Added.
746         (ADD_RELA): Helper to create dynamic relocs.
747         (new_got_entry_to_list): Create a new got entry in linked list.
748         (symbol_has_entry_of_type): Search for specific type of entry in
749         list.
750         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
751         (is_reloc_for_TLS, arc_elf_set_private_flags)
752         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
753         (arc_elf_merge_private_bfd_data): New functions.
754         (debug_arc_reloc): Cleaned debug info printing.
755         (PDATA reloc): Changed not to perform address alignment.
756         (reverse_me): Added. Fix for ARC_32 relocs.
757         (arc_do_relocation): Return bfd_reloc_of when no relocation should
758         occur.
759         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
760         Changed function to access an array of list of GOT entries instead
761         of just an array of offsets.
762         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
763         (elf_arc_check_relocs): Likewise.
764         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
765         (elf_arc_finish_dynamic_sections): Likewise
766         (arc_create_dynamic_sections): Modified conditions to create
767         dynamic sections.
768         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
769         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
770         (relocate_plt_for_entry): Changed to support new way to define PLT
771         related code.
772         (add_symbol_to_plt): Likewise.
773         (arc_elf_link_hash_table_create): New function.
774
775 2016-01-18  Nick Clifton  <nickc@redhat.com>
776
777         PR ld/19440
778         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
779         section number into internal section number.
780         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
781         * coffswap.h (coff_swap_sym_in): Likewise.
782         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
783         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
784         section number field is big enough to hold the external value.
785
786 2016-01-17  Alan Modra  <amodra@gmail.com>
787
788         * configure: Regenerate.
789
790 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
791
792         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
793         when address in first unwind entry does not match start of
794         section.
795
796 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
797             Jiong Wang  <jiong.wang@arm.com>
798
799         PR ld/19368
800         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
801         reloc_class_ifunc.
802
803 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
804
805         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
806         place 'R_' before the reloc name returned.
807         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
808         the relocation string.
809
810 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
811
812         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
813         factored out from...
814         (_bfd_mips_elf_merge_private_bfd_data): ... here.
815
816 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
817
818         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
819         attribute check after ELF file header flag check.
820
821 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
822
823         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
824         return status from `_bfd_elf_merge_object_attributes'.
825
826 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
827
828         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
829         factored out from...
830         (_bfd_mips_elf_merge_private_bfd_data): ... here.
831
832 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
833
834         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
835         handling of input MIPS ABI flags together.
836
837 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
838
839         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
840         attribute checks for null input.
841
842 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
843
844         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
845         pointers to target data.
846
847 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
848
849         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
850         an FP ABI warning.
851
852 2016-01-01  Alan Modra  <amodra@gmail.com>
853
854         Update year range in copyright notice of all files.
855
856 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
857 \f
858 Copyright (C) 2016 Free Software Foundation, Inc.
859
860 Copying and distribution of this file, with or without modification,
861 are permitted in any medium without royalty provided the copyright
862 notice and this notice are preserved.
863
864 Local Variables:
865 mode: change-log
866 left-margin: 8
867 fill-column: 74
868 version-control: never
869 End: