summaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
blob: f53809775594d1decb0b852797012c2fb6f3c882 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in: Regenerated with automake 1.11.6.
	* aclocal.m4: Likewise.
	* doc/Makefile.in: Likewise.

2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>

	* reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf32-arc.c: Add 'opcode/arc.h' include.
	(struct arc_relocation_data): Add symbol_name.
	(arc_special_overflow_checks): New function.
	(arc_do_relocation): Use arc_special_overflow_checks, reindent as
	required, add an extra comment.
	(elf_arc_relocate_section): Setup symbol_name in reloc_data.

2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>

	* elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
	entries.
	(elf_arc_relocate_section): Update enum uses.
	(elf_arc_check_relocs): Likewise.
	(elf_arc_finish_dynamic_symbol): Likewise.

2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
	"sh_link".

2016-04-14  Nick Clifton  <nickc@redhat.com>

	PR target/19938
	* elf-bbfd.h (struct elf_backend_data): New field:
	elf_strtab_flags.
	New field: elf_backend_set_special_section_info_and_link
	* elfxx-target.h (elf_backend_strtab_flags): Define if not already
	defined.
	(elf_backend_set_special_section_info_and_link): Define if not
	already defined.
	(elfNN_bed): Use elf_backend_set_special_section_info_and_link and
	elf_backend_strtab_flags macros to initialise fields in structure.
	* elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
	being set even if SHF_MERGE is not set.
	(elf_fake_sections): Likewise.
	(section_match): New function.  Matches two ELF sections based
	upon fixed characteristics.
	(find_link): New function.  Locates a section in a BFD that
	matches a section in a different BFD.
	(_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
	fields of reserved sections.
	(bfd_elf_compute_section_file_positions): Set the flags for the
	.shstrtab section based upon the elf_strtab_flags field in the
	elf_backend_data structure.
	(swap_out_syms): Likewise for the .strtab section.
	* elflink.c (bfd_elf_final_link): Set the flags for the
	.strtab section based upon the elf_strtab_flags field in the
	elf_backend_data structure.
	* elf32-i386.c (elf32_i386_set_special_info_link): New function.
	(elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
	targets.
	(elf_backend_set_special_section_info_and_link): Define for
	Solaris targets.
	* elf32-sparc.c: Likewise.
	* elf64-x86-64.c: Likewise.

2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19939
	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
	to bfd_boolean.
	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
	Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
	applies to read-only section.
	* elf32-i386.c (elf_i386_link_hash_table): Add
	readonly_dynrelocs_against_ifunc.
	(elf_i386_allocate_dynrelocs): Updated.
	(elf_i386_size_dynamic_sections): Issue an error for read-only
	segment with dynamic IFUNC relocations only if
	readonly_dynrelocs_against_ifunc is TRUE.
	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
	readonly_dynrelocs_against_ifunc.
	(elf_x86_64_allocate_dynrelocs): Updated.
	(elf_x86_64_size_dynamic_sections): Issue an error for read-only
	segment with dynamic IFUNC relocations only if
	readonly_dynrelocs_against_ifunc is TRUE.
	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
	Updated.

2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
	a fall through from error_ret_free_internal.  Free local_syms in
	error_ret_free_local if allocated from bfd_elf_get_elf_syms ().

2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* elf32-arc.c (plt_do_relocs_for_symbol): Changed.
	(relocate_plt_for_entry): Likewise.

2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* elf32-arc.c (elf_arc_check_relocs): Changed

2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* elf32-arc.c (name_for_global_symbol): Changed assert.
	(get_replace_function): Created.:
	(struct arc_relocation_data): Changed to signed types.
	(defines S, L, P, PDATA): Casted to signed type.
	(defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
	(PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
	(arc_do_relocation): Changed.

2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* elf32-arc.c (name_for_global_symbol): Added assert to check for
	symbol index.
	(elf_arc_relocate_section): Added and changed asserts, validating
	the synamic symbol index.
	(elf_arc_finish_dynamic_symbol): Do not fill the dynamic
	relocation if symbol has dynindx set to -1.

2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>

	* elflink.c (elf_link_add_object_symbols): Always turn hidden
	and internal symbols which have a dynamic index into local
	ones.

2016-04-04  Nick Clifton  <nickc@redhat.com>

	PR 19872
	* dwarf2.c (parse_comp_unit): Skip warning about unrecognised
	version number if the version is zero.

2016-04-01  Alan Modra  <amodra@gmail.com>

	PR 19886
	* elflink.c (on_needed_list): Recursively check needed status.
	(elf_link_add_object_symbols): Adjust.

2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* elf32-avr.c (avr_elf32_load_records_from_section): Free
	internal_relocs only if they aren't cached.

2016-03-29  Nick Clifton  <nickc@redhat.com>

	PR 17334
	* elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
	assertion on the size of the got section to allow it to be bigger
	than the number of relocs.

2016-03-29  Toni Spets  <toni.spets@iki.fi>

	PR 19878
	* coffcode.h (coff_write_object_contents): Revert accidental
	2014-11-10 change.

2016-03-22  Alan Modra  <amodra@gmail.com>

	PR 19850
	* dwarf2.c (read_attribute_value): Skip info_ptr check for
	DW_FORM_flag_present.

2016-03-22  Nick Clifton  <nickc@redhat.com>

	* cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
	architecture name for backwards compatibility.

	* peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
	unbounded stack use.

	* warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
	sufficiently recent version of GCC.
	* configure: Regenerate.

2016-03-22  Alan Modra  <amodra@gmail.com>

	PR 19851
	* plugin.c (try_load_plugin): Avoid -Wstack-usage warning.

2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* archures.c (bfd_mach_arc_nps400): Define.
	* bfd-in2.h: Regenerate.
	* cpu-arc.c (arch_info_struct): New entry for nps400, renumber
	some existing entries to make space.
	* elf32-arc.c (arc_elf_object_p): Add nps400 case.
	(arc_elf_final_write_processing): Likewise.

2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
	EF_ARC_CPU_GENERIC.
	(arc_elf_final_write_processing): Don't bother setting cpu field
	in e_flags, this will have been set elsewhere.

2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* elf32-arc.c (arc_elf_final_write_processing): Switch to using
	EF_ARC_MACH_MSK.

2016-03-21  Nick Clifton  <nickc@redhat.com>

	* warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
	* configure: Regenerate.
	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
	alloca with call to xmalloc.
	* elf32-nds32.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elfxx-mips.c: Likewise.
	* pef.c: Likewise.
	* pei-x86_64.c: Likewise.
	* som.c: Likewise.
	* xsym.c: Likewise.

2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19827
	* elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
	locally in PIE.
	(elf_i386_relocate_section): Likewise.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
	(elf_x86_64_relocate_section): Likewise.

2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19807
	* elf64-x86-64.c (elf_x86_64_relocate_section): Check
	no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
	relocation overflow check.

2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd-in2.h: Regenerated.

2016-03-11  Dan Gissel  <dgisselq@ieee.org>

	PR 19713
	* elf.c (_bfd_elf_section_offset): Ensure that the returned offset
	uses bytes not octets.
	* elflink.c (resolve_section): Likewise.
	Add a bfd parameter.
	(eval_section): Pass the input_bfd to resolve_section.
	(bfd_elf_perform_complex_relocation): Convert byte offset to
	octets before read and writing values.
	(elf_link_input_bfd): Add byte to octet conversions.
	(elf_reloc_link_order): Likewise.
	(elf_fixup_link_order): Likewise.
	(bfd_elf_final_link): Likewise.
	* reloc.c (_bfd_final_link_relocate): Likewise.
	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.

2016-03-10  Nick Clifton  <nickc@redhat.com>

	* config.bfd: Mark the i370 target as obsolete.

2016-03-09  Pedro Alves  <palves@redhat.com>

	* cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
	gcc ABI)" to printable name.
	* cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
	of "v850-rh850" as printable name.

2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>

	PR ld/19623
	* cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
	relocations against absolute symbols.

2016-03-09  Alan Modra  <amodra@gmail.com>

	PR binutils/19775
	* coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
	length elements in the archive.

2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19789
	* elflink.c (elf_link_add_object_symbols): Create dynamic sections
	for -E/--dynamic-list only when not relocatable.

2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19784
	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
	count for locally defined local IFUNC symbols in shared object.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.

2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19579
	* elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
	together.

2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
	    Andrew Burgess  <andrew.burgess@embecosm.com>

	* elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
	(arc_bfd_put_32): Becomes an alias for bfd_put_32.
	(arc_elf_howto_init): Added assert to validate relocations.
	(get_middle_endian_relocation): Delete.
	(middle_endian_convert): New function.
	(ME): Redefine, now does nothing.
	(IS_ME): New define.
	(arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
	definition to call middle_endian_convert.  Add a new local
	variable and make use of this throughout. Added call to
	arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.

2016-03-07  Nick Clifton  <nickc@redhat.com>

	PR binutils/19775
	* archive.c (bfd_generic_openr_next_archived_file): Allow zero
	length elements in the archive.

2016-03-07  Jiong Wang  <jiong.wang@arm.com>

	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
	section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.

2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19579
	* elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
	executable as definition if the new definition comes from a
	shared library.

2016-03-02  Alan Modra  <amodra@gmail.com>

	* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.

2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>

	* elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
	relocation addend when sections get merged.

2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>

	* elf32-arc.c (arc_elf_final_write_processing): Add condition to
	the flag change.
        (elf_arc_relocate_section): Fixes and conditions to support PIE.
	Assert for code sections dynamic relocs.

2016-02-26  Renlin Li  <renlin.li@arm.com>

	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
	check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.

2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19609
	* elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
	load with locally bound symbols if PIC is false or there is no
	base register.  Optimize branch to 0 if PIC is false.
	(elf_i386_relocate_section): Don't generate dynamic relocations
	against undefined weak symbols if PIC is false.
	* elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
	if we can't estimate relocation overflow with --no-relax.
	Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
	symbols if PIC is false.  Optimize branch to 0 if PIC is false.
	(elf_x86_64_relocate_section): Don't generate dynamic relocations
	against undefined weak symbols if PIC is false.

2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19645
	* bfd.c (bfd): Change flags to 20 bits.
	(BFD_CONVERT_ELF_COMMON): New.
	(BFD_USE_ELF_STT_COMMON): Likewise.
	(BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
	BFD_USE_ELF_STT_COMMON.
	(BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
	* configure.ac: Remove --enable-elf-stt-common.
	* elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
	common symbol depending on BFD_CONVERT_ELF_COMMON and
	BFD_USE_ELF_STT_COMMON.
	* elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
	STT_COMMON.
	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
	STT_COMMON.
	(elf_link_convert_common_type): New function.
	(elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
	common symbol depending on BFD_CONVERT_ELF_COMMON and
	BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
	* elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
	and BFD_USE_ELF_STT_COMMON to object_flags.
	(TARGET_LITTLE_SYM): Likewise.
	* syms.c (BSF_KEEP_G): Renamed to ...
	(BSF_ELF_COMMON): This.
	* bfd-in2.h: Regenerated.
	* config.in: Likewise.
	* configure: Likewise.

2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19636
	PR ld/19704
	PR ld/19719
	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
	(elf_i386_link_hash_entry): Add has_got_reloc and
	has_non_got_reloc.
	(elf_i386_link_hash_table): Add interp.
	(elf_i386_link_hash_newfunc): Initialize has_got_reloc and
	has_non_got_reloc.
	(elf_i386_copy_indirect_symbol): Copy has_got_reloc and
	has_non_got_reloc.
	(elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
	(elf_i386_fixup_symbol): New function.
	(elf_i386_pie_finish_undefweak_symbol): Likewise.
	(elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
	relocations and discard relocations against resolved undefined
	weak symbols in executable.  Don't make resolved undefined weak
	symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
	relocation against undefined weak symbols in PIE.
	(elf_i386_size_dynamic_sections): Set interp to .interp section.
	(elf_i386_relocate_section): Don't generate dynamic relocations
	against resolved undefined weak symbols in PIE, except for
	R_386_PC32.
	(elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
	dynamic PLT/GOT relocations for resolved undefined weak symbols.
	Don't generate dynamic relocation against resolved undefined weak
	symbol in executable.
	(elf_i386_finish_dynamic_sections): Call
	elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
	(elf_backend_fixup_symbol): New.
	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
	(elf_x86_64_link_hash_entry): Add has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_link_hash_table): Add interp.
	(elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_check_relocs): Set has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_fixup_symbol): New function.
	(elf_x86_64_pie_finish_undefweak_symbol): Likewise.
	(elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
	relocations and discard relocations against resolved undefined
	weak symbols in executable.  Don't make resolved undefined weak
	symbols in executable dynamic.
	(elf_x86_64_size_dynamic_sections): Set interp to .interp section.
	(elf_x86_64_relocate_section): Check relocation overflow for
	dynamic relocations against unresolved weak undefined symbols.
	Don't generate dynamic relocations against resolved weak
	undefined symbols in PIE.
	(elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
	dynamic PLT/GOT relocations for resolved undefined weak symbols.
	Don't generate dynamic relocation against resolved undefined weak
	symbol in executable.
	(elf_x86_64_finish_dynamic_sections): Call
	elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
	(elf_backend_fixup_symbol): New.

2016-02-26  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (create_linkage_sections): Create sfpr when
	save_restore_funcs, rest of sections when not relocatable.
	(ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
	(sfpr_define): Define all symbols on emitted code.
	(ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
	when relocatable.  Move sfpr_define loop earlier.

2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (elf_x86_64_need_pic): New function.
	(elf_x86_64_relocate_section): Use it.  Replace
	x86_64_elf_howto_table[r_type] with howto.

2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19698
	* elflink.c (bfd_elf_record_link_assignment): Set versioned if
	symbol version is unknown.

2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
	to (bfd_vma) -1 when setting needs_plt to 0.
	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.

2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (bfd_elf_record_link_assignment): Check for shared
	library, instead of PIC, and don't check PDE when making linker
	assigned symbol dynamic.

2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>

	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
	ABIVERSION for non-executable stack.

2016-02-23  Rich Felker  <bugdal@aerifal.cx>

	PR target/19516
	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
	Always produce a RELATIVE reloc for a local symbol.

2016-02-23  Hans-Peter Nilsson  <hp@axis.com>

	Fix test-case ld-elf/pr19617b
	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
	discard unused non-function symbols when --dynamic-list-data.

2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
	dynsym section, even if it is empty, with dynamic sections.

2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>

	* syms.c: Remove BSF_COMMON from comments.
	* bfd-in2.h: Regenerated.

2016-02-22  Jiong Wang  <jiong.wang@arm.com>

	* elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
	for destination.  Remove useless function parameters.
	(elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.

2016-02-19  Nick Clifton  <nickc@redhat.com>

	PR ld/19629
	* aoutx.h (aout_link_add_symbols): Check for out of range string
	table offsets.

	PR ld/19628
	* reloc.c (bfd_generic_get_relocated_section_contents): Stop
	processing if we encounter a reloc without an associated symbol.

2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19617
	* elflink.c (elf_link_add_object_symbols): Always create dynamic
	sections for -E/--dynamic-list.

2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
	to bfd_true.

2016-02-16  Joseph Myers  <joseph@codesourcery.com>

	* plugin.c (plugin_vec): Set match priority to 255.
	* format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
	matching against the plugin vector, take priority from there not
	from TEMP.

2016-02-15  Nick Clifton  <nickc@redhat.com>

	* elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
	for length and type fields.  Use a signed value for the
	suffix_length field.

2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19601
	* elf32-i386.c (elf_i386_relocate_section): Mask off the least
	significant bit in GOT offset for R_386_GOT32X.

2016-02-10  Nick Clifton  <nickc@redhat.com>

	PR 19405
	* elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
	immediate values.
	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
	number of messages about FDE encoding preventing .eh_frame_hdr
	generation.

2016-02-09  Nick Clifton  <nickc@redhat.com>

	* oasys.c (oasys_archive_p): Fix indentation.
	* elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
	constant for left shifting.

	* elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
	helpful warning message to explain why certain AArch64 relocs
	might overflow.

2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>

	* pe-mips.c (coff_mips_reloc): Fix formatting.

2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>

	* cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
	to bfd_mach_arc_arc600.

2016-02-04  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
	for big-endian.

2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19542
	* elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
	distances in the compressed_size field of the output section.

2016-02-02  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
	ELFv2 entry optimization.

2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/19547
	* elf.c (assign_section_numbers): Clear HAS_RELOC if there are
	no relocations in relocatable files.

2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19553
	* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
	if a symbol from a library loaded via DT_NEEDED doesn't match
	the symbol referenced by regular object.

2016-02-01  Nathaniel Smith  <njs@pobox.com>

	* peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
	CODE and DATA.

2016-02-01  Alan Modra  <amodra@gmail.com>

	* elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
	an out of range reloc_index.
	* elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.

2016-02-01  Kamil Rytarowski  <n54@gmx.com>

	* Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
	(OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
	* Makefile.in: Regenerated.

2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.

2016-01-31  John David Anglin  <danglin@gcc.gnu.org>

	PR ld/19526
	* elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
	files.
	* elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.

2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19539
	* elf32-i386.c (elf_i386_reloc_type_class): Check relocation
	against STT_GNU_IFUNC symbol only with dynamic symbols.
	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.

2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/19523
	* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
	decompress debug sections.

2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>

	* elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
	`dynindx'.

2016-01-25  Nick Clifton  <nickc@redhat.com>

	PR target/19435
	* mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
	dsym filename buffer.

2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.

2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (BZ16_REG): Correct calculation.

2016-01-21  Nick Clifton  <nickc@redhat.com>

	* elf32-arc.c (ADD_RELA): Fix compile time warning errors by
	changing the type of _loc to be bfd_byte *.
	(elf_arc_finish_dynamic_symbol): Likewise.

2016-01-21  Nick Clifton  <nickc@redhat.com>

	PR ld/19455
	* elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
	class of the linker stub bfd.
	(elf32_arm_check_relocs): Skip check for pic format after
	processing a vxWorks R_ARM_ABS12 reloc.
	* elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
	reporting a class mismatch.

2016-01-21  Jiong Wang  <jiong.wang@arm.com>

	* elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
	veneer for sym_sec != input_sec.
	(elfNN_aarch64_size_stub): Support STT_SECTION symbol.
	(elfNN_aarch64_final_link_relocate): Take rela addend into account when
	calculation destination.

2016-01-21  Alan Modra  <amodra@gmail.com>

	* elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
	(swap_linux_prpsinfo64_out): New function.
	(LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
	(LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
	* elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
	(elfcore_write_linux_prpsinfo64): Likewise.
	* elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
	(PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
	(elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.

2016-01-21  Alan Modra  <amodra@gmail.com>

	* elf-linux-core.h: Rename from elf-linux-psinfo.h.
	* elf.c: Adjust #include.
	* elf32-ppc.c: Don't #include elf-linux-psinfo.h
	* Makefile.am (SOURCE_HFILES): Update.
	* Makefile.in: Regenerate.
	* po/SRC-PORFILES.in: Regenerate.

2016-01-21  Alan Modra  <amodra@gmail.com>

	* configure.ac: Move corefile selection later in file.  Move
	tdefaults code immediately after other target vector code.
	* configure: Regenerate.

2016-01-20  Mickael Guene  <mickael.guene@st.com>

	* elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
	section using '.text.noread' pattern.

2016-01-19  John Baldwin  <jhb@FreeBSD.org>

	* elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.

2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
	    Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>

	* arc-plt.def: New file.
	* arc-plt.h: Likewise.
	* elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
		       elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
		       elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
		       elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
	(name_for_global_symbol): Added.
	(ADD_RELA): Helper to create dynamic relocs.
	(new_got_entry_to_list): Create a new got entry in linked list.
	(symbol_has_entry_of_type): Search for specific type of entry in
	list.
	(is_reloc_for_GOT): return FALSE for any TLS related relocs.
	(is_reloc_for_TLS, arc_elf_set_private_flags)
	(arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
	(arc_elf_merge_private_bfd_data): New functions.
	(debug_arc_reloc): Cleaned debug info printing.
	(PDATA reloc): Changed not to perform address alignment.
	(reverse_me): Added. Fix for ARC_32 relocs.
	(arc_do_relocation): Return bfd_reloc_of when no relocation should
	occur.
	(arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
	Changed function to access an array of list of GOT entries instead
	of just an array of offsets.
	(elf_arc_relocate_section): Added support for PIC and TLS related relocations.
	(elf_arc_check_relocs): Likewise.
	(elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
	(elf_arc_finish_dynamic_sections): Likewise
	(arc_create_dynamic_sections): Modified conditions to create
	dynamic sections.
	(ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
	(plt_do_relocs_for_symbol, relocate_plt_for_symbol)
	(relocate_plt_for_entry): Changed to support new way to define PLT
	related code.
	(add_symbol_to_plt): Likewise.
	(arc_elf_link_hash_table_create): New function.

2016-01-18  Nick Clifton  <nickc@redhat.com>

	PR ld/19440
	* coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
	section number into internal section number.
	* coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
	* coffswap.h (coff_swap_sym_in): Likewise.
	* peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
	* coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
	section number field is big enough to hold the external value.

2016-01-17  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>

	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
	when address in first unwind entry does not match start of
	section.

2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
	    Jiong Wang  <jiong.wang@arm.com>

	PR ld/19368
	* elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
	reloc_class_ifunc.

2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>

	* elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
	place 'R_' before the reloc name returned.
	(elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
	the relocation string.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
	factored out from...
	(_bfd_mips_elf_merge_private_bfd_data): ... here.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
	attribute check after ELF file header flag check.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
	return status from `_bfd_elf_merge_object_attributes'.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
	factored out from...
	(_bfd_mips_elf_merge_private_bfd_data): ... here.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
	handling of input MIPS ABI flags together.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
	attribute checks for null input.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
	pointers to target data.

2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
	an FP ABI warning.

2016-01-01  Alan Modra  <amodra@gmail.com>

	Update year range in copyright notice of all files.

For older changes see ChangeLog-2015 and doc/ChangeLog-0415

Copyright (C) 2016 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: