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