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