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