forked from bminor/binutils-gdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog-2007
3567 lines (2781 loc) · 134 KB
/
ChangeLog-2007
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
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2007-12-31 H.J. Lu <[email protected]>
PR ld/5530
* elfxx-ia64.c (elfNN_ia64_relocate_section): Call
_bfd_elf_find_segment_containing_section with output_bfd,
instead of input_bfd.
2007-12-31 Nick Clifton <[email protected]>
* elf-m10300.c (mn10300_elf_relax_section): Use
_bfd_merged_section_offset to compute the offset of a symbol in a
merged section.
2007-12-31 Nick Clifton <[email protected]>
* elf.c (_bfd_elf_find_segment_containing_section): New function:
Scan the segment map looking for the segment containing a
specified function.
* elf-bfd.h: Prototype the new function.
* elf-hppa.h (elf_hppa_osec_to_segment): Delete.
(elf_hppa_record_segment_addrs): Use new function.
* elf32-bfin.c (_bfdfdpic_osec_to_segment): Use new function.
* elf32-frv.c (_frvfdpic_osec_to_segment): Use new function.
* elf32-hppa.c (hppa_record_segment_addr): Use new function.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Use new function.
2007-12-28 John David Anglin <[email protected]>
PR binutils/5146
* elf64-hppa.c: Declare alloca when __GNUC__ is defined.
* som.c: Likewise.
* elf-hppa.h (elf_hppa_osec_to_segment): New function.
(elf_hppa_record_segment_addrs): Use elf_hppa_osec_to_segment.
Remove ATTRIBUTE_UNUSED from abfd argument.
* elf32-hppa.c (hppa_record_segment_addr): Likewise.
2007-12-28 Nick Hudson <[email protected]>
* elf32-hppa.c (hppa_record_segment_addr): Locate the segment
containing the section using the segment map, rather than guessing
based upon the section's vma and file position.
2007-12-24 H.J. Lu <[email protected]>
PR binutils/5488
* elf.c (IS_NOTE): New.
(IS_COREFILE_NOTE): Use IS_NOTE.
(IS_SECTION_IN_INPUT_SEGMENT): Use IS_NOTE instead of
IS_COREFILE_NOTE.
2007-12-24 H.J. Lu <[email protected]>
PR binutils/5449
* elf.c (rewrite_elf_program_header): Don't adjust p_paddr if
p_paddr is set to 0.
(copy_private_bfd_data): Call rewrite_elf_program_header if
p_paddr is set to 0.
* elfcode.h (elf_swap_phdr_out): Set p_paddr to 0 if needed.
* elfxx-ia64.c (ELF_MAXPAGESIZE): Don't redefine it for HPUX.
2007-12-21 Bob Wilson <[email protected]>
* elf32-xtensa.c (relax_section): Update DIFF relocations in the
same way as other relocations.
2007-12-18 Daniel Jacobowitz <[email protected]>
* section.c (BFD_FAKE_SECTION): Update.
* bfd-in2.h: Regenerate.
2007-12-18 Daniel Jacobowitz <[email protected]>
* bfd-in2.h: Regenerate.
2007-12-17 Pedro Alves <[email protected]>
* config.bfd: Add arm-*-mingw32ce* target.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (eh_cie_fde): Replace u.cie.merged with a union of
a merged field and a sec field.
(eh_frame_hdr_info): Remove offsets_adjusted.
* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update accesses to
the CIE merged field.
(_bfd_elf_gc_mark_fdes): Likewise.
(_bfd_elf_discard_section_eh_frame): Likewise. Set u.cie.u.sec
when clearing the removed flag.
(_bfd_elf_eh_frame_section_offset): Remove offsets_adjusted handling.
(_bfd_elf_write_section_eh_frame): Likewise. Apply output_offsets
where appropriate.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (eh_cie_fde): Move add_fde_encoding and
per_encoding_relative to u.cie. Add commentary.
* elf-eh-frame.c (cie): Remove make_relative.
(extra_augmentation_string_bytes): Update use of add_fde_encoding.
(extra_augmentation_data_bytes): Likewise. Use an FDE's own
add_augmentation_size field, rather than referring to the CIE.
(_bfd_elf_parse_eh_frame): Don't set the struct cie
make_relative field; set the eh_cie_fde field directly.
Update setting of add_fde_encoding and per_encoding_relative.
Copy make_relative and add_augmentation_size from the CIE
to the FDE.
(_bfd_elf_discard_section_eh_frame): Use the FDE's own
make_relative field.
(_bfd_elf_eh_frame_section_offset): Likewise.
(_bfd_elf_write_section_eh_frame): Update accesses to
add_fde_encoding and per_encoding_relative. Use the FDE's
own make_relative and add_augmentation_size fields.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (eh_cie_fde): Remove need_lsda_relative.
Move make_lsda_relative to u.cie.
* elf-eh-frame.c (cie): Rename make_lsda_relative to
can_make_lsda_relative.
(_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde
make_lsda_relative field. Update after cie renaming.
Set u.cie.make_lsda_relative if can_make_lsda_relative
and if we find a relocation against the LSDA.
(_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when
changing a CIE's group representative.
(_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here.
(_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative
rather than need_lsda_relative.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (eh_cie_fde): Add u.fde.next_for_section and
u.cie.gc_mark.
(bfd_elf_section_data): Add fde_list.
(elf_fde_list): New macro.
(elf_obj_tdata): Add eh_frame_section.
(elf_eh_frame_section): New macro.
(_bfd_elf_gc_mark_reloc): Remove last parameter.
(_bfd_elf_gc_mark_fdes): Declare.
* elf-eh-frame.c (_bfd_elf_get_eh_frame_sec_info): Chain the FDEs
for each input section.
(mark_entry, _bfd_elf_gc_mark_fdes): New functions.
* elflink.c (_bfd_elf_gc_mark_reloc): Remove is_eh parameter.
(_bfd_elf_gc_mark): Update call accordingly. Mark the relocations
againts the section's FDEs. Don't mark the bfd's elf_eh_frame_section.
(bfd_elf_gc_sections): Parse each input bfd's .eh_frame before
marking any input sections. Remove the current EH handling.
* section.c (bfd_section): Remove gc_mark_from_eh.
* ecoff.c (bfd_debug_section): Update initializer accordingly.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (eh_cie_fde): Add u.cie. Document how u.fde.cie_inf
changes when removed == 0.
(eh_frame_hdr_info): Add parsed_eh_frames.
(_bfd_elf_begin_eh_frame_parsing): Declare.
(_bfd_elf_parse_eh_frame): Declare.
(_bfd_elf_end_eh_frame_parsing): Declare.
* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): New function.
(_bfd_elf_parse_eh_frame): New function, split out from
_bfd_elf_discard_section_eh_frame. Make a first pass through the
buffer to calculate the number of entries and CIEs. Allocate memory
for them before the main loop. Replace current extended cie
representation with a pair of pointers, one to the local eh_cie_fde
and one to the full struct cie. Allocate a separate array of struct
cies if not merging. Merge CIEs during the main loop and set up each
u.cie.merged field. Point an FDE's cie_inf field directly at the
local CIE. Initially assume that all entries should be removed.
(_bfd_elf_end_eh_frame_parsing): New function.
(_bfd_elf_discard_section_eh_frame): Assume that the section has
already been parsed. Use a separate pass to mark entries that
need to be kept. Use the u.cie.merged field to track a CIE's
group representative.
* elflink.c (bfd_elf_discard_info): Call _bfd_elf_parse_eh_frame
before _bfd_elf_discard_section_eh_frame. Wrap loop with calls to
_bfd_elf_begin_eh_frame_parsing and _bfd_elf_end_eh_frame_parsing.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (eh_cie_fde): Put cie_inf in a union. Add a reloc_index
field. Use bitfields for fde_encoding, lsda_encoding and lsda_offset.
* elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf
accesses after the above change.
(_bfd_elf_eh_frame_section_offset): Likewise.
(_bfd_elf_write_section_eh_frame): Likewise.
(_bfd_elf_discard_section_eh_frame): Likewise. Set up reloc_index.
2007-12-15 Richard Sandiford <[email protected]>
* elf-bfd.h (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): Declare.
(_bfd_elf_gc_mark): Use elf_gc_mark_hook_fn.
* elflink.c (init_reloc_cookie, fini_reloc_cookie)
(init_reloc_cookie_rels, fini_reloc_cookie_rels): New functions,
split out from...
(bfd_elf_discard_info): ...here.
(init_reloc_cookie_for_section): New function.
(fini_reloc_cookie_for_section): Likewise.
(_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): New functions,
split out from...
(_bfd_elf_gc_mark): ...here. Use init_reloc_cookie_for_section
and fini_reloc_cookie_for_section.
2007-12-12 Bob Wilson <[email protected]>
* elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along with
address.
(print_action_list): Fix name for ta_convert_longcall.
2007-12-11 Catherine Moore <[email protected]>
* elf.c (_bfd_elf_copy_private_symbol_data): Don't copy shndx if
the symbol's section is the undefined section.
2007-12-11 Alan Modra <[email protected]>
* elf.c (elf_fake_sections): Add "warning:" to "..changed to PROGBITS"
message.
2007-12-07 Bob Wilson <[email protected]>
* elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
(elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
(elf_xtensa_check_relocs): Use default case for all relocations that
need nothing done here.
(elf_xtensa_do_reloc): Compute self_address for all relocation types.
Handle R_XTENSA_32_PCREL.
(elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
symbols.
(check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.
2007-12-05 Alan Modra <[email protected]>
* elf32-spu.c (spu_elf_size_stubs): Do consider branches to
non-function symbols for overlay stubs.
2007-12-04 Bob Wilson <[email protected]>
* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Create DT_PLTGOT
entry for all dynamic objects.
2007-12-04 Alan Modra <[email protected]>
* elf32-spu.c (spu_elf_size_stubs): Correct section alignment.
2007-11-30 Richard Sandiford <[email protected]>
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
ELF header to choose between 32-bit and 64-bit relocation structures.
2007-11-29 Mark Shinwell <[email protected]>
* archures.c (bfd_mach_mips_loongson_2e): New.
(bfd_mach_mips_loongson_2f): New.
* bfd-in2.h (bfd_mach_mips_loongson_2e): New.
(bfd_mach_mips_loongson_2f): New.
* cpu-mips.c: Add I_loongson_2e and I_loongson_2f to
anonymous enum.
(arch_info_struct): Add Loongson-2E and Loongson-2F entries.
* elfxx-mips.c (_bfd_elf_mips_mach): Handle Loongson-2E
and Loongson-2F flags.
(mips_set_isa_flags): Likewise.
(mips_mach_extensions): Add Loongson-2E and Loongson-2F
entries.
2007-11-29 Nick Clifton <[email protected]>
PR ld/5398
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not
complain if there is no glue bfd, just return.
2007-11-28 Nick Clifton <[email protected]>
* elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to
cover forward jumps.
2007-11-21 Nick Clifton <[email protected]>
* elf-m10300.c (mn10300_elf_relax_section): Allow for alignment
relocs when computing whether instructions can be relaxed.
2007-11-16 Tristan Gingold <[email protected]>
* elflink.c (elf_link_output_extsym): Weaken assertion: if
--gc-section is set, there may be no TLS segment.
2007-11-19 Alan Modra <[email protected]>
* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
* elflink.c (bfd_elf_perform_complex_relocation): Return status.
Don't print reloc overflow message.
* elf32-mep.c (mep_elf_relocate_section): Handle status from
bfd_elf_perform_complex_relocation.
2007-11-17 Thiemo Seufer <[email protected]>
* elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2
-mfp64 attribute.
2007-11-16 Nick Clifton <[email protected]>
* elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and
check that bfd_elf_get_elf_syms is only called once.
2007-11-16 Ulrich Weigand <[email protected]>
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Set udata.p of
synthetic symbol to point to the ELF symbol it was derived from.
2007-11-15 Alan Modra <[email protected]>
PR 5328
* opncls.c (separate_debug_file_exists): Use fopen/fread
rather than open/read and open in binary mode.
2007-11-14 Richard Sandiford <[email protected]>
* elfxx-mips.c (mips_got_page_range): New structure.
(mips_got_page_entry): Likewise.
(mips_got_info): Add page_gotno and got_page_entries fields.
(mips_elf_got_per_bfd_arg): Add max_pages field. Delete
primary_count and current_count fields.
(mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
(mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
(mips_elf_get_got_for_bfd): New function, split out from
mips_elf_make_got_per_bfd. Initialize the page_gotno and
got_page_entries fields when creating a new GOT structure.
(mips_elf_make_got_pages_per_bfd): New function.
(mips_elf_merge_got_with): New function, split out from
mips_elf_make_got_per_bfd. Merge page entries as well as
non-page entries. Use the minimum of max_pages and the sum
of the page_gotnos to estimate the number of page entries.
(mips_elf_merge_gots): Use the minimum of max_pages and the
bfd's page_gotno to estimate the number of page entries.
Use the above functions.
(mips_elf_multi_got): Add page entries as well as non-page entries
to the individual per-bfd GOTs. Initialize got_per_bfd_arg.max_pages.
Initialize the page_gotno and got_page_entries fields when creating
a new primary GOT. Use the minimum of pages and page_gotno when
adding the number of pages entries to local_gotno.
(mips_elf_create_got_section): Initialize the page_gotno and
got_page_entries fields of the GOT structure.
(mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
(mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
functions, split out from...
(_bfd_mips_elf_relocate_section): ...here.
(_bfd_mips_elf_check_relocs): Record GOT page entries too.
(_bfd_mips_relax_section): Use mips_elf_get_section_contents.
(_bfd_mips_elf_always_size_sections): Use the smaller of the
loadable_size- and page_gotno-derived estimates.
2007-11-14 Thiemo Seufer <[email protected]>
* elfxx-mips.c (mips_elf_merge_obj_attributes): Prevent
unwanted fallthroughs in case statement.
2007-11-13 H.J. Lu <[email protected]>
PR binutils/5307
* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
copy input subsystem if output is different from input.
2007-11-13 Nick Clifton <[email protected]>
* elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the
accidental termination of DWARF location list entries.
(mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc
is encountered that is larger than or not a mutliple of the number
of bytes being deleted.
When adjusting symbols, any symbols inside the region being
deleted must be moved to the end of the region.
Move align relocs forward if there is room for them after the
deletion of the region.
2007-11-13 Alan Modra <[email protected]>
PR 5233
* elf.c (rewrite_elf_program_header): Formatting. Add
first_matching_lma and first_suggested_lma booleans and use
instead of testing matching_lma and suggested_lma for zero.
2007-11-12 H.J. Lu <[email protected]>
PR binutils/5299
* peicode.h (pe_bfd_object_p): Save and restore previous bfd
state when calling coff_object_p.
2007-11-12 Alan Modra <[email protected]>
* elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
pointer when we have a valid symbol. Init udata.p to NULL.
2007-11-09 Nathan Sidwell <[email protected]>
* elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
rel_hash. Move loop inside if test.
2007-11-08 Nathan Sidwell <[email protected]>
* elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
(elf_vxworks_finish_dynamic_entry): Declare.
* elf-vxworks.c: Include elf/vxworks.h.
(elf_vxworks_add_dynamic_entries): New.
(elf_vxworks_finish_dynamic_entry): New.
* Makefile.am (elf-vxworks.lo): Add dependency.
* Makefile.in (elf-vxworks.lo): Add dependency.
* elf32-i386.c (elf_i386_size_dynamic_sections,
elf_i386_finish_dynamic_sections): Call
elf_vxworks_add_dynamic_entries and
elf_vxworks_finish_dynamic_entry.
* elf32-ppc.c (ppc_elf_size_dynamic_sections,
ppc_elf_finish_dynamic_sections): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
sparc_finish_dyn): Likewise.
* elf32-sh.c (sh_elf_size_dynamic_sections,
sh_elf_finish_dynamic_sections): Likewise.
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
_bfd_mips_elf_finish_dynamic_sections): Likewise.
* elf32-arm.c (elf32_arm_size_dynamic_sections,
elf32_arm_finish_dynamic_sections): Likewise.
2007-11-07 Olivier Hainque <[email protected]>
* bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force
SHF_MIPS_NOSTRIP on .debug_frame for Irix.
2007-11-06 Alan Modra <[email protected]>
* elf64-ppc.c (ppc64_elf_check_relocs): Don't refcount tlsld_got here..
(ppc64_elf_gc_sweep_hook): ..or here..
(ppc64_elf_tls_optimize): ..or here. Make two passes through the
relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
(allocate_dynrelocs): Refcount tlsld_got here.
(ppc64_elf_size_dynamic_sections): Allocate local got and call
allocate_dynrelocs before allocating tlsld_got.
(ppc64_elf_relocate_section): Remove check that a tls_get_addr
call follows gd and ld relocs.
* elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
(ppc_elf_gc_sweep_hook): ..or here..
(ppc_elf_tls_optimize): ..or here. Make two passes through the
relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
(allocate_dynrelocs): Refcount tlsld_got here.
(ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
allocating tlsld_got.
(ppc_elf_relocate_section): Remove check that a tls_get_addr
call follows gd and ld relocs.
2007-11-05 Alan Modra <[email protected]>
* merge.c (sec_merge_hash_lookup): Revert last change.
(record_section): Likewise.
(_bfd_merge_sections): Likewise.
(_bfd_merged_section_offset): Properly handle NULL secinfo.
(_bfd_add_merge_section): Allocate extra space for a zero
terminator on SEC_STRINGS sections.
2007-11-05 Danny Smith <[email protected]>
* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
and .bss section use the default.
* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2007-11-01 Joseph Myers <[email protected]>
* merge.c (sec_merge_hash_lookup): Add parameter sec_end. Check
for unterminated strings. All callers changed.
(record_section): Add parameter abfd. Give error message for
unterminated strings.
(_bfd_merge_sections): Update call to record_section.
(_bfd_write_merged_section, _bfd_merged_section_offset): Handle
NULL secinfo from merge failures.
2007-10-31 Nick Clifton <[email protected]>
* elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for
align relocs when there are no relocs attached to the section.
2007-10-31 Alan Modra <[email protected]>
* elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
* elflink.c (bfd_elf_match_symbols_in_sections): Make static.
Remove section name comparisons.
2007-10-30 Nick Clifton <[email protected]>
* reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
* bfd-in2.h: Regenerate.
* libbfd.h: Regnerate.
* elf-m10300.h: Handle R_MN10300_ALIGN relocs.
(mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
Re-fix off by one error in comparisons.
2007-10-25 Pedro Alves <[email protected]>
* bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
* bfd-in2.h: Regenerate.
2007-10-25 Daniel Jacobowitz <[email protected]>
* elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
Tag_GNU_Power_ABI_Vector.
2007-10-25 Joseph Myers <[email protected]>
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
PT_NULL header when not linking.
2007-10-25 Carlos Eduardo Seo <[email protected]>
* elf.c (elfcore_grok_ppc_vmx): New function.
(elfcore_grok_note): Handle NT_PPC_VMX.
(elfcore_write_ppc_vmx): New function.
* elf-bfd.h (elfcore_write_ppc_vmx): Declare.
2007-10-24 Alan Modra <[email protected]>
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
2007-10-23 Alan Modra <[email protected]>
* elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
emitted for ".brlt" entries.
(toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
(ppc64_elf_next_input_section): ..instead do so here.
2007-10-19 Nick Clifton <[email protected]>
* config.bfd: Recognise am34-linux-gnu target.
* reloc.c: Add BFD_RELOC_MN10300_SYM_DIFF relocation.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf-m10300.c (elf_mn10300_howto): Add R_MN10300_SYM_DIFF.
(mn10300_reloc_map): Likewise.
(mn10300_elf_check_relocs): Do not create dynamic relocs for
symbol differences or relocations against absolute symbols.
(mn10300_elf_final_link_relocate): Likewise.
Handle R_MN10300_SYM_DIFF relocs.
(mn10300_elf_relocate_section): Fix for creating local copys of
dynamic relocs.
(mn10300_elf_relax_delete_bytes): Adjust symbols at the end of the
region. Adjust the size of function symbols.
(mn10300_elf_relax_section): Ignore symbols that are in discarded
sections.
2007-10-19 Nick Clifton <[email protected]>
* elf-m10300.c: Convert to ISO C.
2007-10-18 H.J. Lu <[email protected]>
Alan Modra <[email protected]>
PR ld/4424
* config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
alpha/FreeBSD. Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
(targ64_selvecs): Set for i386/FreeBSD.
* elf-bfd.h (elf_backend_data): Add relocs_compatible.
(_bfd_elf_default_relocs_compatible): Declare.
(_bfd_elf_relocs_compatible): Declare.
* elfxx-target.h (elf_backend_relocs_compatible): Define.
(elfNN_bed): Init new relocs_compatible field.
* elflink.c (_bfd_elf_default_relocs_compatible): New function.
(_bfd_elf_relocs_compatible): New function.
(elf_link_add_object_symbols): Call bed->relocs_compatible.
* elf32-i386.c (elf_backend_relocs_compatible): Define.
* elf64-alpha.c: Likewise.
* elf64-sparc.c: Likewise.
* elf64-x86-64.c: Likewise.
2007-10-16 Bob Wilson <[email protected]>
* elf32-xtensa.c (relax_section): Check for a reference to a discarded
DWARF section and anticipate its replacement with the kept section.
2007-10-16 Bob Wilson <[email protected]>
* elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
unnecessary size variables. Set sec->rawsize.
(relax_section, relax_property_section): Likewise.
2007-10-16 Bob Wilson <[email protected]>
* section.c (struct bfd_section): Clarify comment for rawsize field.
* bfd-in2.h: Regenerate.
2007-10-16 Bob Wilson <[email protected]>
* elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
values if they are set.
2007-10-16 Nick Clifton <[email protected]>
PR 5146
* configure.in (AC_CHECK_HEADERS): Add alloca.h
* configure: Regenerate.
* config.in: Regenerate.
* som.c: Replace alloca-conf.h inclusion with code recommended in
autoconf documentation.
* elf64-hppa.c: Likewise.
2007-10-16 Nick Clifton <[email protected]>
* configure.in (--enable-elf-stt-common): New configure
option. If enabled then the tools can generate symbols with
the ELF STT_COMMON type.
* config.in: Regenerate.
* configure: Regenerate.
* elf.c (swap_out_syms): If USE_STT_COMMON is defined then set
the type of emitted common symbols to STT_COMMON.
* elfcode.h (elf_slurp_symbol_table): Accept STT_COMMON symbol
types.
2007-10-15 Alan Modra <[email protected]>
* coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
Return status. Adjust callers.
* coff-mcore.c (mcore_emit_base_file_entry): Likewise.
* coff-ppc.c (write_base_file_entry): New function.
(coff_ppc_relocate_section): Use it.
* elf32-arm.c (find_thumb_glue): Check asprintf return status.
(find_arm_glue): Likewise.
* vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.
2007-10-12 Nick Clifton <[email protected]>
PR 5160
* elflink.c (eval_symbol): Remove bufsz variable and use
sizeof(symbuf) where necessary.
2007-10-12 M R Swami Reddy <[email protected]>
* elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.
2007-10-12 Daniel Jacobowitz <[email protected]>
* elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
local symbols specially.
(mips_elf_set_global_got_offset): Skip forced local symbols.
2007-10-12 Alan Modra <[email protected]>
* elf.c (elfcore_grok_prxfpreg): Fix comment typo.
2007-10-10 H.J. Lu <[email protected]>
* elf.c (get_program_header_size): Always add a PT_GNU_RELRO
segment for -z relro.
(_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
segment only when needed.
2007-10-05 Bob Wilson <[email protected]>
* elf32-xtensa.c (relax_section): Call pin_internal_relocs when
changing a relocation's offset. Adjust call to translate_reloc. Do
not add a fix record for a DIFF reloc. For other relocs, only add a
fix record if the translated target is in a different object file;
otherwise, just update the relocation. Call pin_internal_relocs when
updating a reloc but not when adding a fix record.
(translate_reloc): Get the target section from a new argument, not
from the relocation. Change check for relaxable sections to an
assertion. Compute separate offset adjustments for the base symbol
and the addend, and set the new relocation's addend correctly. Return
the new target section.
2007-10-05 Bob Wilson <[email protected]>
* elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
r_type and howto after calling do_fix_for_relocateable_link and
do_fix_for_final_link.
2007-10-05 Bob Wilson <[email protected]>
* elf32-xtensa.c (removed_by_actions): New.
(offset_with_removed_text): Reimplement using removed_by_actions.
(offset_with_removed_text_before_fill): Delete.
(relax_property_section): Use removed_by_actions. Rearrange logic.
(relax_section_symbols): Likewise.
2007-10-04 Bob Wilson <[email protected]>
* elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
(reloc_bfd_fix_init): Remove target_abfd argument.
(relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.
2007-10-04 Nick Clifton <[email protected]>
PR linker/5099
* elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
apostrophe to error message.
2007-10-01 M R Swami Reddy <[email protected]>
* elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
final relocation phase.
Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
* reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
R_CR16_SWITCH16, R_CR16_SWITCH32.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
2007-09-30 Alan Modra <[email protected]>
* elflink.c: Formatting.
2007-09-29 Alan Modra <[email protected]>
* elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
sections. Don't test symbol st_shndx. Don't bother with
bfd_link_hash_common symbols. Print longs rather than ints
in debug messages.
(eval_symbol): Replace "sym" and "advanced" params with "symp".
Replace "addr" and "section_offset" params with "dot". Don't
cast bfd_vma values to signed, cast them to bfd_signed_vma.
(bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
"local_syms" and "local_sections" params. Add "relocation".
Delete code calculating relocation value.
(evaluate_complex_relocation_symbols): Delete function. Fold into..
(elf_link_input_bfd): ..existing code examining relocs.
* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
* elf32-mep.c (mep_elf_check_relocs): Delete function.
(mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
(mep_elf_object_p): Don't set elf_bad_symtab.
(elf_backend_check_relocs): Don't define.
(elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
(elf_backend_can_gc_sections, USE_RELA): Likwise.
(mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
call after we have calculated reloc value. Delete local sym
debug code. Use RELOC_FOR_GLOBAL_SYMBOL. Delete addend
adjusting code..
(elf_backend_rela_normal): ..instead define this.
2007-09-28 Alan Modra <[email protected]>
* elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-avr.c (elf32_avr_check_relocs): Likewise.
* elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
* elf32-cris.c (cris_elf_check_relocs): Likewise.
* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
* elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
(elf32_frv_check_relocs): Likewise.
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
* elf32-mt.c (mt_elf_check_relocs): Likewise.
* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
(score_elf_local_relocation_p): Likewise.
(_bfd_score_elf_relocate_section): Likewise.
(score_elf_final_link_relocate): Likewise.
2007-09-26 Jan Beulich <[email protected]>
* elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
check for R_386_GNU_VTINHERIT.
* elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
pointer for R_xxx_GNU_VTENTRY.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-bfin.c (bfin_check_relocs): Likewise.
(bfinfdpic_check_relocs): Likewise.
* elf32-cris.c (cris_elf_check_relocs): Likewise.
* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
* elf32-frv.c (elf32_frv_check_relocs): Likewise.
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf32-v850.c (v850_elf_check_relocs): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
2007-09-26 Alan Modra <[email protected]>
* elflink.c (set_symbol_value): Add isymbuf and locsymcount
params. Change symidx to a size_t. Don't access past end
of symbol buffer.
(resolve_symbol): Add isymbuf param and use instead of
finfo->internal_syms.
(eval_symbol, evaluate_complex_relocation_symbols): Likewise.
(elf_link_input_bfd): Don't read symbols specially for
evaluate_complex_relocation_symbols.
2007-09-26 Tristan Gingold <[email protected]>
* som.c (som_get_reloc_upper_bound): If there are no relocs return
enough space to hold a NULL pointer.
2007-09-26 Alan Modra <[email protected]>
* elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
2007-09-25 Alan Modra <[email protected]>
* elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
(spu_elf_size_stubs): Count stub relocs.
(write_one_stub): Emit relocs on overlay call stubs.
* elf32-spu.c (struct spu_link_hash_table): Add "stubs".
(spu_elf_link_hash_table_create): Init new field.
(spu_elf_size_stubs): Store sorted stub syms in new htab field
rather than local var.
(spu_elf_build_stubs): Iterate over htab stubs rather than
hash traversal.
(struct stubarr): Delete.
(allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
2007-09-24 Daniel Jacobowitz <[email protected]>
* elf.c (assign_file_positions_for_load_sections): Trust
p_align_valid.
(copy_elf_program_header): Copy PT_NULL segments.
2007-09-24 Trevor Smigiel <[email protected]>
* elf32-spu.c (is_indirect_branch): New function.
(find_function_stack_adjust): End scan on hitting indirect branch.
(sum_stack): Cast %v arg to correct type.
2007-09-21 H.J. Lu <[email protected]>
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerated.
2007-09-21 Doug Kwan <[email protected]>
* Makefile.am (BFD32_LIBS): Add arange-set.lo.
(BFD32_LIBS_CFILES): Add arange-set.c.
(SOURCE_HFILES): Add arange-set.h
(dwarf2.lo): Add dependency upon arange-set.h.
(arange-set.lo): New target.
* Makefile.in: Regenerate.
* arange-set.c: New file.
* arange-set.h: New file.
* dwarf2.c: Include arange-set.h.
(struct dwarf2_debug) Add new fields comp_unit_count and
comp_unit_arange_set.
(struct comp_unit) Replace field arange with a new field arange_set.
(dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
dwarf2_combine_arange_value, dwarf2_arange_set_new,
dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
functions to utilize arange set in dwarf2.c.
(arange_add): Formatting change for a line longer than 80 characters.
(decode_line_info): Replace call target arange_add with
dwarf2_comp_unit_arange_add.
(read_rangelist_insert_arange_list,
read_rangelist_comp_unit_arange_add): New functions used as callbacks
for read_rangelist.
(read_rangelist): Change interface to accept a callback and data to
allow caller to select the action peformed on a new range list read.
(scan_unit_for_symbols): Use new interface of read_rangelist.
(parse_comp_unit): Create an arange set for each new comp unit.
Use new interface of read_rangelist. Replace call to arange_add
with that to dwarf2_comp_unit_arange_add.
(comp_unit_contains_address): Replace sequential search with a call to
arange_set_lookup_address, which can handles large set efficiently.
(stash_copy_local_aranges, stash_maybe_enable_arange_set,
stash_find_nearest_line_fast): New functions maintaining and using a
valued global arange set for all compilation units to speed up
bfd_dwarf2_find_nearest_line.
(find_line): Use global arange set. Replace sequential search over all
compilation units with a call to stash_find_nearest_line_fast. Add
book keeping to count number of compilation units. Replace empty
arange list test with a call to arange_set_empty_p.
2007-09-21 Olivier Hainque <[email protected]>
Tristan Gingold <[email protected]>
* syms.c (_bfd_stab_section_find_nearest_line): Look at the
specific SOM sections for stabs if the regular ones are not found.
* som.h (struct somdata): Add a line_info field, to be used by
som_find_nearest_line.
* som.c (som_find_nearest_line): Implement using the bfd stabs
function above.
2007-09-19 Daniel Jacobowitz <[email protected]>
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
will be output.
2007-09-19 Alan Modra <[email protected]>
Doug Kwan <[email protected]>
* bfd-in.h (bfd_hash_insert): Declare.
* bfd-in2.h: Regenerate.
* hash.c (bfd_hash_insert): New function. Split out from..
(bfd_hash_lookup): ..here.
* merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
2007-09-18 Alan Modra <[email protected]>
* elf.c (bfd_section_from_shdr): Check bfd_alloc return.
(elfcore_write_note): Check realloc return.
* elflink.c (_bfd_elf_link_find_version_dependencies): Check
bfd_zalloc return.
(_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
(elf_link_add_object_symbols): Likewise.
(struct hash_codes_info): New.
(elf_collect_hash_codes): Return bfd_malloc error.
(struct collect_gnu_hash_codes): Add "error".
(elf_collect_gnu_hash_codes): Return bfd_malloc error.
(bfd_elf_size_dynamic_sections): Check return status of
_bfd_elf_link_find_version_dependencies.
(bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
and elf_collect_gnu_hash_codes changes.
(elf_sym_name_compare): Formatting.
(elf_fixup_link_order): Use bfd_malloc, not xmalloc.
2007-09-17 H.J. Lu <[email protected]>
PR binutils/3281
PR binutils/5037
* elf-bfd.h (elf_obj_tdata): Remove relro.
* elf.c (get_program_header_size): Check info->relro instead
of elf_tdata (abfd)->relro.
(_bfd_elf_map_sections_to_segments): Likewise.
(assign_file_positions_for_load_sections): Don't set
PT_GNU_RELRO segment alignment here.
(assign_file_positions_for_non_load_sections): Properly set up
PT_GNU_RELRO segment for copying executable/shared library.
(rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
(copy_elf_program_header): Set p_size and p_size_valid fields for
PT_GNU_RELRO segment.
2007-09-17 Nick Clifton <[email protected]>
* po/fi.po: New Finnish translation.
* po/es.po: Updated Spanish translation.
* configure.in (ALL_LINGUAS): Add fi.
* configure: Regenerate.
* po/bfd.pot: Regenerate.
2007-09-15 Nick Clifton <[email protected]>
* bfd.c (_bfd_default_error_handler): fflush stdout.
2007-09-14 Alan Modra <[email protected]>
* opncls.c (find_separate_debug_file): Ensure bfd_set_error has
been called on all error return paths.
(bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
Clear padding after filename
2007-09-14 Alan Modra <[email protected]>
* format.c (bfd_check_format_matches): Record matching targets even
when "matching" is NULL to allow bfd_associated_vector matches.
Consolidate error return code. Consolidate ok return code. Always
restore original target and format on error.
2007-09-14 Alan Modra <[email protected]>
* configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
long long. Partly revert 2007-07-12 change, so that
BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
independent of "void *" size.
* configure: Regenerate.
* config.in: Regenerate.
* Makefile.in: Regenerate.
2007-09-12 Alan Modra <[email protected]>
* elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
and elf_backend_fprintf_vma.
(_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
* elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
* elfxx-target.h (elf_backend_sprintf_vma): Don't define.
(elf_backend_fprintf_vma): Likewise.
(elfNN_bed): Don't init removed fields.
* bfd.c (is32bit): New function.
(bfd_sprintf_vma, bfd_fprintf_vma): Use the above.