-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog-2008
3392 lines (2795 loc) · 132 KB
/
ChangeLog-2008
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
2008-12-29 Arnold Metselaar <[email protected]>
* coff-z80.c (r_imm32): Fix copy-paste bug that caused z80-objdump to
issue warnings about stabs debugging symbols rather than to show them.
2008-12-23 Jon Beniston <[email protected]>
* Makefile.am: Add LM32 object files and dependencies.
* Makefile.in: Regenerate.
* archures.c: Add LM32 architechiture info.
* targets.c: Likewise.
* reloc.c: Likewise.
* bfd-in2.h: Regenerate.
* config.bfd: Add LM32 targets.
* configure.in: Likewise.
* configure: Regenerate.
* cpu-lm32.c: New file.
* elf32-lm32.c: New file.
2008-12-23 H.J. Lu <[email protected]>
PR ld/7036
* elfxx-ia64.c (elfNN_ia64_relax_section): Assume linker will
always insert 32byte between the .plt and .text sections after
the first relaxation pass.
2008-12-23 Nick Clifton <[email protected]>
PR 7093
* elf32-arm.c (bfd_elf32_arm_init_maps): Only process ARM ELF
object files.
2008-12-23 Tristan Gingold <[email protected]>
* mach-o.c (bfd_mach_o_make_bfd_section): Use the standard ELF name
.eh_frame for __TEXT.__eh_frame so that it is recognized by gdb.
Use shorter sections name for well known sections.
(bfd_mach_o_scan_read_dylinker): Only put dylinker name in the
section content.
(bfd_mach_o_scan_read_segment): Use shorter sections name for
well known segments.
(bfd_mach_o_scan_read_command): Ignore some new commands.
(bfd_mach_o_openr_next_archived_file): Use more descriptive names
for members filename.
(bfd_mach_o_fat_extract): New function to easily extract members
of a fat binary.
* mach-o.h (bfd_mach_o_load_command_type): Add new constants.
(bfd_mach_o_dylinker_command): Fix comment and reindent.
(bfd_mach_o_fat_extract): New prototype.
2008-12-23 Johan Olmutz Nielsen <[email protected]>
* coffcode.h (coff_write_object_contents): Always initialise
section.s_page.
2008-12-23 Andreas Schwab <[email protected]>
* elf32-m68k.c (elf_m68k_discard_copies): Use SYMBOL_CALLS_LOCAL.
(elf_m68k_relocate_section): Use SYMBOL_CALLS_LOCAL and
SYMBOL_REFERENCES_LOCAL.
(elf_m68k_relocate_section): Likewise.
2008-12-23 Nick Clifton <[email protected]>
* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs
field.
(_bfd_elf_make_ifunc_reloc_section): Remove prototype.
* elf.c (swap_out_syms): Remove STT_IFUNC support.
(elf_find_function): Likewise.
* elf32-arm.c (arm_elf_find_function): Likewise.
(elf32_arm_adjust_dynamic_symbol): Likewise.
(elf32_arm_swap_symbol_in): Likewise.
(elf32_arm_is_function_type): Likewise.
* elf32-i386.c (is_indirect_symbol): Delete.
(elf_i386_check_relocs): Remove STT_IFUNC support.
(allocate_dynrelocs): Likewise.
(elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (is_indirect_symbol): Delete.
(elf64_x86_64_check_relocs): Remove STT_IFUNC support.
(allocate_dynrelocs): Likewise.
(elf64_x86_64_relocate_section): Likewise.
* elfcode.h (elf_slurp_symbol_table): Likewise.
* elflink.c (_bfd_elf_adjust_symbol): Likewise.
(get_ifunc_reloc_section_name): Delete.
(_bfd_elf_make_ifunc_reloc_section): Delete.
* syms.c (BSF_INDIRECT_FUNCTION): Delete.
(bfd_print_symbol_vandf): Remove STT_IFUNC support.
(bfd_decode_symclass): Likewise.
* bfd-in2.h: Regenerate.
2008-12-20 Hans-Peter Nilsson <[email protected]>
* elf32-cris.c (cris_elf_howto_table): Add entry for R_CRIS_32_IE.
(cris_reloc_map): Similarly.
(cris_elf_relocate_section, cris_elf_gc_sweep_hook)
(cris_elf_check_relocs): Handle R_CRIS_32_IE.
* reloc.c (bfd_reloc_code_type): Add entry for R_CRIS_32_IE.
* bfd-in2.h, libbfd.h: Regenerate.
2008-12-18 Ralf Wildenhues <[email protected]>
* configure: Regenerate.
2008-12-17 Hans-Peter Nilsson <[email protected]>
* elf32-cris.c (elf_cris_copy_indirect_symbol): Return without
action for symbols other than bfd_link_hash_indirect.
(cris_elf_relocate_section) <R_CRIS_8, R_CRIS_16, R_CRIS_32>: Add missing
gate h != NULL for h->def_regular test.
2008-12-15 Hans-Peter Nilsson <[email protected]>
* elf32-cris.c (elf_cris_copy_indirect_symbol): New function.
(elf_backend_copy_indirect_symbol): Define to above.
* elf32-cris.c (struct elf_cris_pcrel_relocs_copied): New member
r_type. Fix formatting.
(cris_elf_relocate_section) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
<R_CRIS_32_PCREL>: Also break early if the symbol doesn't get
emitted as a dynamic one.
(cris_elf_check_relocs) <R_CRIS_7, R_CRIS_16, R_CRIS_32>: Fork
from PCREL relocs code and simplify; don't fall through.
<R_CRIS_8_PCREL, R_CRIS_16_PCREL, R_CRIS_32_PCREL>: Simplify for
pcrel only. For non-local or overridable symbols in a DSO, always
keep count of relocs, not just when -Bsymbolic. Don't emit
message nor mark as TEXTREL here.
(elf_cris_discard_excess_dso_dynamics): Emit warning and mark as
TEXTREL here, if there are nondiscarded pcrel relocs.
* elf32-cris.c (elf_cris_got_elt_size) <symtab_hdr>: Initialize
using ibfd, not abfd.
2008-12-11 Alan Modra <[email protected]>
PR 7041
* elf64-ppc.c (func_desc_adjust): Correct logic making fake function
descriptors. Similarly correct making function descriptors dynamic.
2008-12-10 Alan Modra <[email protected]>
* elf32-spu.h (struct spu_elf_params): Add num_regions.
* elf32-spu.c (spu_elf_auto_overlay): Handle multiple overlay regions.
2008-12-10 Alan Modra <[email protected]>
* elf32-spu.g (struct spu_elf_params, enum _ovly_flavour): New.
(spu_elf_setup): Declare.
(spu_elf_create_sections, spu_elf_size_stubs): Update prototype.
(spu_elf_build_stubs, spu_elf_check_vma): Likewise.
* elf32-spu.c (struct spu_link_hash_table): Add "params". Remove
various other fields now in "params". Adjust code throughout.
(struct call_info, struct function_info): Move earlier in file.
(struct spu_elf_stack_info): Likewise.
(spu_elf_setup): New function.
(spu_elf_create_sections): Remove args other than "info".
(spu_elf_size_stubs, spu_elf_build_stubs, spu_elf_check_vma): Likewise.
(maybe_needs_stubs): Remove "output_bfd" arg. Adjust all calls.
(interesting_section): Similarly with "obfd" arg.
(needs_ovl_stub): Adjust output_section test.
(allocate_spuear_stubs): Likewise.
(OVL_STUB_SIZE): Don't define.
(ovl_stub_size): New function, use in place of OVL_STUB_SIZE.
(build_stub): Test params->ovly_flavour rather than OVL_STUB_SIZE.
(spu_elf_auto_overlay): Remove args other than "info". Make use
of size returned from spu_elf_load_ovl_mgr.
(spu_elf_stack_analysis): Remove args other than "info".
(spu_elf_relocate_section): Tidy setting of "ea".
2008-12-10 Alan Modra <[email protected]>
* elf32-spu.c (find_function_stack_adjust): Don't limit number
of insns scanned. Correct sp tests. Handle "fsmbi" and "andbi".
(mark_detached_root): New function.
(build_call_tree): Call it.
(sort_calls): Don't do void* arithmetic.
(define_ovtab_symbol): Don't abort on symbols defined in linker scripts.
(discover_functions): Consider STT_SECTION symbols too.
(collect_lib_sections): Don't cut short call tree traversal
when function size is too large.
2008-12-09 Tom Tromey <[email protected]>
* pef.c (bfd_pef_parse_traceback_table): Add parens to placate gcc
4.4.
2008-12-09 Tristan Gingold <[email protected]>
* cpu-avr.c (compatible): Makes avr-6 compatible only with itself.
2008-12-04 Andreas Krebbel <[email protected]>
* elf64-s390.c (elf_s390_check_relocs): Initialize
htab->elf.dynobj if necessary.
2008-12-03 Nick Clifton <[email protected]>
* syms.c (struct bfd_symbol): Add new flag BSF_INDIRECT_FUNCTION.
Remove redundant flag BFD_FORT_COMM_DEFAULT_VALUE. Renumber flags
to remove gaps.
(bfd_print_symbol_vandf): Return 'i' for BSF_INDIRECT_FUNCTION.
(bfd_decode_symclass): Likewise.
* elf.c (swap_out_syms): Translate BSF_INDIRECT_FUNCTION into
STT_IFUNC.
(elf_find_function): Treat STT_IFUNC in the same way as STT_FUNC.
(_bfd_elf_is_function_type): Likewise.
* elf32-arm.c (arm_elf_find_function): Likewise.
(elf32_arm_adjust_dynamic_symbol): Likewise.
(elf32_arm_swap_symbol_in): Likewise.
(elf32_arm_additional_program_headers): Likewise.
* elf32-i386.c (is_indirect_symbol): New function.
(elf_i386_check_relocs): Also generate dynamic relocs for
relocations against STT_IFUNC symbols.
(allocate_dynrelocs): Likewise.
(elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (is_indirect_symbol): New function.
(elf64_x86_64_check_relocs): Also generate dynamic relocs for
relocations against STT_IFUNC symbols.
(allocate_dynrelocs): Likewise.
(elf64_x86_64_relocate_section): Likewise.
* elfcode.h (elf_slurp_symbol_table): Translate STT_IFUNC into
BSF_INDIRECT_FUNCTION.
* elflink.c (_bfd_elf_adjust_dynamic_reloc_section): Add support
for STT_IFUNC symbols.
(get_ifunc_reloc_section_name): New function.
(_bfd_elf_make_ifunc_reloc_section): New function.
* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs field.
* bfd-in2.h: Regenerate.
2008-12-02 Tristan Gingold <[email protected]>
* config.bfd: Add x86_64-*-darwin*
2008-11-28 John David Anglin <[email protected]>
* hpux-core.c: Don't include sys/file.h.
2008-11-28 Joshua Kinard <[email protected]>
* aoutx.h (NAME): Add case statements for bfd_mach_mips14000,
bfd_mach_mips16000.
* archures.c (bfd_architecture): Add .#defines for bfd_mach_mips14000,
bfd_mach_mips16000.
* bfd-in2.h: Regenerate.
* cpu-mips.c: Add enums I_mips14000, I_mips16000.
(arch_info_struct): Add refs to R14000, R16000.
* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips14000,
bfd_mach_mips16000.
(mips_mach_extensions): Map R14000, R16000 to R10000.
2008-11-27 M R Swami Reddy <[email protected]>
* Add PIC support for CR16 target.
* elf32-cr16.c (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
R_CR16_GLOB_DAT): New macros
(cr16_elf_howto_table): Add entries for for R_CR16_GOT_REGREL20,
R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
(cr16_reloc_map): Ditto
(_bfd_cr16_elf_create_got_section): New function to create GOT section.
(_bfd_cr16_elf_create_dynamic_sections): New function to create dynamic
section.
(_bfd_cr16_elf_adjust_dynamic_symbol): New function to adjust symbol
defined by dynamic object.
(_bfd_cr16_elf_size_dynamic_sections): New function to find the size of
dynamic sections.
(_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
symbols.
(_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
sections.
(bfd_cr16_elf32_create_embedded_relocs): New function to create
embedded relocs in .emreloc section in memory for .data.rel section.
(_bfd_cr16_elf_reloc_type_class): New function for classify reloc types.
(cr16_elf_check_relocs): New function for checking reloc types in first
phase.
(cr16_elf_final_link_relocate): Update for handling the new reloc types
R_CR16_GOT_REGREL20 and R_CR16_GOTC_REGREL20.
(elf32_cr16_relax_section): Update relax implementation.
* reloc.c (bfd_reloc_code_type): Add entries for R_CR16_GOT_REGREL20,
R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
* bfd-in.h (bfd_boolean bfd_cr16_elf32_create_embedded_relocs): Declared
* libbfd.h, bfd-in2.h: Regenerate.
2008-11-26 Alan Modra <[email protected]>
PR 7047
* configure.in: Bump version.
* configure: Regenerate.
* elflink.c (_bfd_elf_link_assign_sym_version): Continue matching
against version nodes when a global match is a wildcard. Similarly
continue matching on local wildcard matches, rather than only
continuing for "*". Have any global wildcard match override a
local wildcard match. Correct logic hiding unversioned symbol.
(bfd_elf_size_dynamic_sections): Update for changes to struct
bfd_elf_version_expr.
2008-11-25 Joel Brobecker <[email protected]>
* configure.in: Deactivate large-file support on native x86-solaris
as well unless the user explicitly requested it.
* configure: Regenerate.
2008-11-25 Joseph Myers <[email protected]>
* elf32-arm.c (elf32_arm_final_link_relocate): Do not turn
branches to undefine weak symbols into branches to the next
instruction if creating PLT entries for those symbols.
2008-11-25 Nick Clifton <[email protected]>
* elflink.c (is_reloc_section): New function. Returns true if the
given name matches the name of the reloc-containing section
associated with the given section.
(get_dynamic_reloc_section_name): New function. Computes the name
of the section that contains the dynamic relocs associated with
the given section.
(_bfd_elf_get_dynamic_reloc_section): New function. Returns a
pointer to the section containing the dynamic relocs associated
with the given section.
(_bfd_elf_make_dynamic_reloc_section): New function. Creates a
section to contain the dynamic relocs associated with a given
section.
* elf-bfd.h: Prototype the new functions.
* elf-m10300.c (mn10300_elf_check_relocs): Use new functions.
(mn10300_elf_final_link_relocs): Likewise.
* elf32-arm.c (reloc_section_p): Delete - replaced by new
functions.
(elf32_arm_final_link_relocate): Use new functions.
(elf32_arm_check_relocs): Likewise.
* elf32-cris.c (cris_elf_relocate_section): Likewise.
(elf_cris_check_relocs): Likewise.
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
* elf32-i370.c (i370_elf_check_relocs): Likewise.
(i370_elf_relocate_section): Likewise.
* elf32-i386.c (elf_i386_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
(m32r_elf_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32_ppc.c (ppc_elf_check_relocs): Likewise.
(ppc_elf_relocate_section): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
(sh_elf_check_relocs): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
(elf_vax_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
* elf32-bfin.c (bfin_check_relocs): Remove redundant local
variable 'sreloc'.
(bfin_relocate_section): Likewise.
* elf32-v850.c (v850_elf_check_relocs): Likewise.
2008-11-23 Hans-Peter Nilsson <[email protected]>
Implement TLS for CRIS.
* elf32-cris.c: Include limits.h.
(TLSHOWTO16): Redefine in terms of and move contents to...
(TLSHOWTO16X): New macro.
(TLSHOWTO16S, LGOT_REG_NDX, LGOT_DTP_NDX, LGOT_ALLOC_NELTS_FOR)
(elf_cris_hash_entry): New macros.
(cris_elf_howto_table): Make R_CRIS_16_DTPREL,
R_CRIS_16_GOT_TPREL, R_CRIS_16_TPREL check overflow for signed,
not unsigned values.
(cris_info_to_howto_rela): Make r_type a enum elf_cris_reloc_type,
not unsigned int.
(struct elf_cris_link_hash_entry): New members reg_got_refcount,
tprel_refcount, and dtp_refcount.
(struct elf_cris_link_hash_table): New member dtpmod_refcount.
(elf_cris_link_hash_newfunc): Initialize new members.
(elf_cris_link_hash_table_create): Similar.
(cris_final_link_relocate, elf_cris_reloc_type_class): Use a
temporary variable when testing the relocation type.
(cris_elf_gc_mark_hook): Ditto. Add default case where needed.
(cris_elf_gc_sweep_hook): Ditto. Handle reference-counting for
the new assembly-generated relocs. Rewrite refcount handling to
set temporary variables to pointers to reloc-specific variables
and entry size and common code for the update.
(additional_relocation_error_msg_count): New variable.
(cris_elf_relocate_section): Use a function-local variable srelgot
for the .rela.got section instead of looking it up for every need.
Make r_type a enum elf_cris_reloc_type, not int. Actually set
symname for non-local symbols. Handle new assembly-generated
relocs. For overflow, emit additional messages for the new 16-bit
relocs as well as R_CRIS_16_GOTPLT and R_CRIS_16_GOT.
(elf_cris_finish_dynamic_symbol): Use elf_cris_finish_dynamic_symbol
instead of plain casts. Check new hash entry member
reg_got_refcount when checking whether to emit a GOT entry.
(elf_cris_finish_dynamic_sections): Update head comment to warn
about emitting relocs here. Use a temporary variable when testing
the relocation type.
(elf_cris_discard_excess_program_dynamics)
(elf_cris_adjust_gotplt_to_got): Handle reference counting change
regarding h->reg_got_refcount.
(cris_elf_check_relocs): Rewrite refcount handling to set
temporary variables and entry size and common code for the update
for local symbols. Use new macro elf_cris_hash_entry. Adjust
allocation for change in reference counting of GOT entries for
local symbols.
(elf_cris_size_dynamic_sections): Adjust calculated size of
.got.plt and .rela.got if we need a GOT entry for a
R_CRIS_DTPMOD relocation.
(elf_cris_got_elt_size): New function.
(elf_backend_got_elt_size): Define.
2008-11-21 Sterling Augustine <[email protected]>
* xtensa-isa.c (xtensa_state_is_shared_or): New function.
2008-11-21 Hans-Peter Nilsson <[email protected]>
* elf-bfd.h (struct elf_backend_data): New member got_elt_size.
(_bfd_elf_default_got_elt_size): Declare.
* elflink.c (struct alloc_got_off_arg): Replace member got_elt_size
by new member info.
(elf_gc_allocate_got_offsets): Adjust for calling bed->got_elt_size
to get the element size instead of using a gofarg entry.
(bfd_elf_gc_common_finalize_got_offsets): Similar.
(_bfd_elf_default_got_elt_size): New function.
* elfxx-target.h: New macro elf_backend_got_elt_size.
(elfNN_bed): Use it.
2008-11-20 Tristan Gingold <[email protected]>
* bfdwin.c: Fix comment.
2008-11-20 Tristan Gingold <[email protected]>
* bfd.c (is32bit): Use architecture information for non-ELF
targets.
2008-11-20 Alan Modra <[email protected]>
* elf32-ppc.c (allocate_dynrelocs): Always use tlsld_got for
TLS_LD even when symbol is used with other TLS reloc types.
(ppc_elf_relocate_section): Bypass symbol checks when using tlsld_got.
Leave addend zero on LD DTPMOD dynamic reloc.
2008-11-19 Bob Wilson <[email protected]>
* xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7,
EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE,
SCOMPARE1, and THREADPTR registers.
(NUM_SYSREGS, MAX_USER_REG): Update.
(states): Change width of INTERRUPT, WindowBase, WindowStart, and
INTENABLE. Add VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6,
EXCSAVE7, EPS6, EPS6, EPS7, THREADPTR, CPENABLE, and SCOMPARE1 states.
(NUM_STATES): Update.
(enum xtensa_state_id): Add entries for new states.
(enum xtensa_field_id): Add entries for xt_wbr15_imm and xt_wbr18_imm
fields, along with functions to extract and set them.
(regfiles): Change number of AR registers to 32.
(Operand_ar0_encode, Operand_ar4_encode, Operand_ar8_encode,
Operand_ar12_encode, Operand_ars_entry_encode): Update register mask.
(operands): Add entries for tp7, xt_wbr15_label, xt_wbr18_label,
xt_wbr15_imm, and xt_wbr18_imm operands, along with functions to
encode and decode them.
(enum xtensa_operand_id): Add entries for new operands.
(Iclass_xt_iclass_rfi_stateArgs): Add EPC5, EPC6, EPC7, EPS5, EPS6, and
EPC7 states.
(Iclass_xt_iclass_rfdo_stateArgs): Replace EPC4 and EPS4 by EPC6 and
EPS6, respectively.
(iclasses): Add entries for rur_threadptr, wur_threadptr,
xt_iclass_wsr_176, xt_iclass_rsr_epc5, xt_iclass_wsr_epc5,
xt_iclass_xsr_epc5, xt_iclass_rsr_excsave5, xt_iclass_wsr_excsave5,
xt_iclass_xsr_excsave5, xt_iclass_rsr_epc6, xt_iclass_wsr_epc6,
xt_iclass_xsr_epc6, xt_iclass_rsr_excsave6, xt_iclass_wsr_excsave6,
xt_iclass_xsr_excsave6, xt_iclass_rsr_epc7, xt_iclass_wsr_epc7,
xt_iclass_xsr_epc7, xt_iclass_rsr_excsave7, xt_iclass_wsr_excsave7,
xt_iclass_xsr_excsave7, xt_iclass_rsr_eps5, xt_iclass_wsr_eps5,
xt_iclass_xsr_eps5, xt_iclass_rsr_eps6, xt_iclass_wsr_eps6,
xt_iclass_xsr_eps6, xt_iclass_rsr_eps7, xt_iclass_wsr_eps7,
xt_iclass_xsr_eps7, xt_iclass_rsr_vecbase, xt_iclass_wsr_vecbase,
xt_iclass_xsr_vecbase, xt_iclass_mul16, xt_iclass_wsr_mmid,
xt_iclass_icache_lock, xt_iclass_dcache_lock, xt_iclass_rsr_cpenable,
xt_iclass_wsr_cpenable, xt_iclass_xsr_cpenable, xt_iclass_clamp,
xt_iclass_minmax, xt_iclass_sx, xt_iclass_l32ai, xt_iclass_s32ri,
xt_iclass_s32c1i, xt_iclass_rsr_scompare1, xt_iclass_wsr_scompare1,
xt_iclass_xsr_scompare1, xt_iclass_div, and xt_iclass_mul32, along
with corresponding argument and state argument arrays. Change
number of state arguments for xt_iclass_rfi. Add arguments for
xt_iclass_rfdo.
(enum xtensa_iclass_id): Add entries for new iclasses.
(opcodes): Add entries for RUR_THREADPTR, WUR_THREADPTR, WSR_176,
RSR_EPC5, WSR_EPC5, XSR_EPC5, RSR_EXCSAVE5, WSR_EXCSAVE5, XSR_EXCSAVE5,
RSR_EPC6, WSR_EPC6, XSR_EPC6, RSR_EXCSAVE6, WSR_EXCSAVE6, XSR_EXCSAVE6,
RSR_EPC7, WSR_EPC7, XSR_EPC7, RSR_EXCSAVE7, WSR_EXCSAVE7, XSR_EXCSAVE7,
RSR_EPS5, WSR_EPS5, XSR_EPS5, RSR_EPS6, WSR_EPS6, XSR_EPS6, RSR_EPS7,
WSR_EPS7, XSR_EPS7, RSR_VECBASE, WSR_VECBASE, XSR_VECBASE, MUL16U,
MUL16S, WSR_MMID, IPFL, IHU, IIU, DPFL, DHU, DIU, RSR_CPENABLE,
WSR_CPENABLE, XSR_CPENABLE, CLAMPS, MIN, MAX, MINU, MAXU, SEXT, L32AI,
S32RI, S32C1I, RSR_SCOMPARE1, WSR_SCOMPARE1, XSR_SCOMPARE1, QUOU, QUOS,
REMU, REMS, and MULL opcodes, along with the corresponding functions
to encode them.
(enum xtensa_opcode_id): Add entries for new opcodes.
(Slot_inst_decode): Handle new opcodes.
(Slot_inst_get_field_fns, Slot_inst_set_field_fns): Add entries for
xt_wbr15_imm and xt_wbr18_imm fields.
(Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns): Likewise.
(Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise.
(xtensa_modules): Update number of fields, operands, iclasses and
opcodes.
2008-11-19 Nix <[email protected]>
* elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error.
2008-11-19 Nick Clifton <[email protected]>
PR 7027
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs
against local symbols in 64-bit binaries as if they were WDISP30
relocs.
(_bfd_sparc_elf_relocate_section): Likewise.
2008-11-18 Catherine Moore <[email protected]>
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
half-precision attributes.
(elf32_arm_copy_one_eabi_other_attribute): New.
(elf32_arm_copy_other_attribute_list): New.
2008-11-18 Nick Clifton <[email protected]>
* dwarf2.c (read_section): Fix formatting.
(read_n_bytes): Remove unhelpful comment.
(read_indirect_string): Pass symbol table to read_section in case
the .debug_str section needs relocating.
PR 7037
* elf32-cr16.c (cr16_elf_howto_table): Zero the src_mask field of
the reloc descriptions.
2008-11-14 Eric B. Weddington <[email protected]>
PR 7022
* elf32-avr.c (bfd_elf_avr_final_write_processing):
Add missing break statements.
2008-11-14 Bob Wilson <[email protected]>
* xtensa-modules.c (xtensa_state_id): New enum, replacing STATE macros.
(xtensa_field_id, xtensa_regfile_id, xtensa_operand_id)
(xtensa_iclass_id, xtensa_opcode_id): New enums.
Replace hardcoded constants throughout this file with enum values.
2008-11-14 Nathan Sidwell <[email protected]>
* elf.c (assign_file_positions_for_load_sections): Use header_size
to avoid moving the load address of file headers.
(assign_file_positions_for_load_sections): Set header_size for
segments containing the file header.
2008-11-14 Tristan Gingold <[email protected]>
* configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG,
BFD_HOST_64BIT_LONG_LONG, BFD_HOSTPTR_T, bfd_file_ptr.
Generate bfdver.h.
* vms-hdr.c (_bfd_vms_write_hdr): Use strdup/free instead of alloca.
* hosts/alphavms.h: Defines macros to bypass i18n.
* makefile.vms (OBJS): Update file list.
(DEFS): Remove VMS_DEBUG, const, add DEBUGDIR.
(CFLAGS): Update flags.
* bfdio.c (real_fopen): Add code specific to VMS: extract attributes
from modes.
2008-11-13 Joel Brobecker <[email protected]>
* configure.in: Deactivate large-file support on native 32bit
sparc-solaris unless the user explicitly requested it.
* configure: Regenerate.
2008-11-13 Hans-Peter Nilsson <[email protected]>
PR ld/7028
* elf.c (assign_file_positions_for_load_sections): Allocate phrds
with bfd_zalloc2 instead of bfd_alloc2. For the amount, use
the possibly-preset header-size, not the computed one.
2008-11-13 Alan Modra <[email protected]>
PR 7023
* elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
2008-11-11 Alan Modra <[email protected]>
* elf.c (assign_file_positions_for_non_load_sections): Consolidate
PT_GNU_RELRO handling.
2008-11-11 Alan Modra <[email protected]>
PR 7012
* dwarf2.c (find_line): Don't keep stale pointers into realloc'd
memory. Return on errors. Fix memory leak.
(_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer.
2008-11-10 Andreas Schwab <[email protected]>
PR 7011
* elf.c (assign_file_positions_for_non_load_sections): Handle
PT_GNU_RELRO specially.
2008-11-06 Joel Sherrill <[email protected]>
* config.bfd: Add m32c-*-rtems* and m32r-*-rtems*.
2008-11-06 Tom Tromey <[email protected]>
* configure, config.in: Rebuild.
* configure.in: Check for fileno.
* bfdio.c (close_on_exec): New function.
(real_fopen): Use it.
(FD_CLOEXEC): New define.
2008-11-06 Tristan Gingold <[email protected]>
* mach-o.h (BFD_MACH_O_NO_SECT): Add; reorders the macros.
(BFD_MACH_O_SYM_NTYPE, BFD_MACH_O_SYM_NSECT,
BFD_MACH_O_SYM_NDESC): New macros.
(bfd_mach_o_i386_thread_flavour): Define according to the latest
definition from system header.
(bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_RPATH,
BFD_MACH_O_LC_CODE_SIGNATURE.
(BFD_MACH_O_SECTION_TYPE_MASK, BFD_MACH_O_SECTION_ATTRIBUTES_MASK,
BFD_MACH_O_SECTION_ATTRIBUTES_SYS, BFD_MACH_O_SECTION_ATTRIBUTES_USR,
BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,
BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,
BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): Add.
(bfd_mach_o_segment_command): Add room for a nul terminator in
segname field.
(BFD_MACH_O_PROT_READ, BFD_MACH_O_PROT_WRITE,
BFD_MACH_O_PROT_EXECUTE): Add.
(INDIRECT_SYMBOL_LOCAL): Renames to BFD_MACH_O_INDIRECT_SYMBOL_LOCAL.
(INDIRECT_SYMBOL_ABS): Renames to BFD_MACH_O_INDIRECT_SYMBOL_ABS.
(bfd_mach_o_uuid_command): Add the structure.
(bfd_mach_o_load_command): Add uuid field.
(bfd_get_mach_o_data): New macro.
* mach-o.c (bfd_mach_o_bfd_print_private_bfd_data): New function which
replaces the macro.
(SECTION_TYPE, SECTION_ATTRIBUTES, SECTION_ATTRIBUTES_USR,
S_ATTR_PURE_INSTRUCTIONS, SECTION_ATTRIBUTES_SYS,
S_ATTR_SOME_INSTRUCTIONS, S_ATTR_EXT_RELOC, S_ATTR_LOC_RELOC): Renamed
and moved to mach-o.h.
(N_STAB, N_TYPE, N_EXT, N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS,
N_SECT, N_INDR): Removed as they duplicated macros in mach-o.h.
(bfd_mach_o_print_symbol): Print much more details.
(bfd_mach_o_make_bfd_section): Add prot argument, use canonical
dwarf name for dwarf sections. Precisely set section flags.
(bfd_mach_o_scan_read_section_32): Add prot argument.
(bfd_mach_o_scan_read_section_64): Ditto.
(bfd_mach_o_scan_read_section): Ditto.
(bfd_mach_o_scan_read_symtab_symbol): Set section for debugging
stabs, set BSF_GLOBAL and LOCAL flags correctly. Fix section
for N_SECT symbols.
(bfd_mach_o_i386_flavour_string): Reindent and adjust for new
names.
(bfd_mach_o_scan_read_symtab): Set HAS_SYMS flags on bfd if there
are symbols.
(bfd_mach_o_scan_read_uuid): New function.
(bfd_mach_o_scan_read_segment): Add a trailing nul. Segments
flags are now simply HAS_CONTENTS. Pass protection to
bfd_mach_o_scan_read_section.
(bfd_mach_o_scan_read_command): Decode UUID command.
(bfd_mach_o_flatten_sections): Add comments. Fix flavour names.
(bfd_mach_o_scan): Set flags according to file type.
(mach_o_fat_archentry): Remove abfd field.
(bfd_mach_o_archive_p): Remove initialization of abfd field.
(bfd_mach_o_openr_next_archived_file): Find previous archive
by position and not by bfd (as former bfds may have been freed).
Give architecture name to archived file.
* mach-o-target.c (TARGET_NAME): Use generic archive for non fat
targets.
2008-10-30 Jay Krell <[email protected]>
* cache.c (cache_bread): Cast void * pointer before performing
arithmetic on it.
2008-10-20 Alan Modra <[email protected]>
* elf64-ppc.c (ppc64_elf_process_dot_syms): Renamed from
ppc64_elf_check_directives.
* elf32-sh-symbian.c (sh_symbian_process_directives): Combine..
(sh_symbian_check_directives): ..this
(bfd_elf32_sh_symbian_process_directives) ..and this function.
2008-10-20 Alan Modra <[email protected]>
* elflink.c (bfd_elf_final_link): Move code reading relocs to..
* elf32-spu.c (spu_elf_count_relocs): ..here. Adjust params.
* elf-bfd.h (struct elf_backend_data): Update elf_backend_count_relocs
params.
2008-10-20 Alan Modra <[email protected]>
* elflink.c (bfd_elf_final_link): Use d_ptr rather than d_val
where Elf_Internal_Dyn holds an address.
2008-10-10 Nathan Froyd <[email protected]>
* elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
Tag_GNU_Power_ABI_Struct_Return.
2008-10-09 Kai Tietz <[email protected]>
* cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma
sized addresses instead of long sized.
2008-10-09 Alan Modra <[email protected]>
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to
read plt relocs if no dynamic syms.
2008-10-08 Nick Clifton <[email protected]>
* configure.in (ALL_LINGUAS): Add "id".
* configure: Regenerate.
* po/id.po: New Indonesian translation.
2008-10-08 Alan Modra <[email protected]>
* elf.c (assign_file_positions_for_load_sections): When checking
a segment for contents, don't assume that a non-TLS nobits section
must only be followed by nobits sections.
2008-10-04 Hans-Peter Nilsson <[email protected]>
* elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros.
(cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD,
R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL,
R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL,
R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL, R_CRIS_16_TPREL.
(cris_reloc_map): Similarly.
* reloc.c (bfd_reloc_code_type): Add entries for
BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD,
BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP,
BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL,
BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL,
BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL,
BFD_RELOC_CRIS_16_TPREL.
* libbfd.h, bfd-in2.h: Regenerate.
2008-10-03 Alan Modra <[email protected]>
PR 6931
* elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when
the signature symbol is global.
* elflink.c (elf_link_input_bfd): Ensure group signature symbol
is output when ld -r. Set group sh_info when local.
* linker.c (default_indirect_link_order): Handle group sections
specially.
2008-09-30 Wesley W. Terpstra <[email protected]>
Nick Clifton <[email protected]>
* coffgen.c (coff_write_symbols): Check to see if a symbol's flags
do not match it class and if necessary update the class.
(null_error_handler): New function. Suppresses the generation of
bfd error messages.
* coff64-rs6000.c (bfd_xcoff_backend_data): Update comment.
2008-09-30 Alan Modra <[email protected]>
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
2008-09-30 Alan Modra <[email protected]>
* elflink.c (elf_link_add_object_symbols): Don't ignore returned
value of check_directives.
2008-09-29 Peter O'Gorman <[email protected]>
Steve Ellcey <[email protected]>
* configure: Regenerate for new libtool.
* aclocal.m4: Ditto.
* Makefile.in: Ditto.
* doc/Makefile.in: Ditto.
2008-09-29 Alan Modra <[email protected]>
PR 6789
* elf.c (assign_file_positions_for_load_sections): Call
_bfd_elf_map_sections_to_segments, not elf_modify_segment_map.
(get_program_header_size): Protect against NULL info.
(_bfd_elf_map_sections_to_segments): Likewise.
* elf32-spu.c (spu_elf_additional_program_headers): Likewise.
2008-09-29 Nick Clifton <[email protected]>
* po/vi.po: Updated Vietnamese translation.
2008-09-28 Alan Modra <[email protected]>
* elf.c (_bfd_elf_init_private_section_data): Tweak union copy.
(bfd_section_from_shdr): Don't change SHT_GROUP section name.
* elflink.c (section_signature): New function.
(_bfd_elf_section_already_linked): Use it.
2008-09-19 Alan Modra <[email protected]>
* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Handle vxworks
_GLOBAL_OFFSET_TABLE_ in .got.plt section. Add BFD_ASSERTs.
2008-09-17 Bob Wilson <[email protected]>
* elf32-xtensa.c (elf_xtensa_check_relocs): Check for negative
refcount.
2008-09-17 Jan Kratochvil <[email protected]>
PR 6893 - Do not consider FDEs for discarded sections as invalid.
* elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS.
Consider FDEs with cleared relocations as valid and ignorable.
2008-09-16 H.J. Lu <[email protected]>
PR ld/6877
* elflink.c (_bfd_elf_merge_symbol): Allow a common symbol to
override the function in a shared library.
2008-09-16 Alan Modra <[email protected]>
PR 6844
* elf32-ppc.c (SYM_VAL): Define. Use throughout to find symbol vma.
(ppc_elf_relocate_section): Correct GOT offset calculation.
(ppc_elf_finish_dynamic_symbol): Use PPC_HA and PPC_LO.
(ppc_elf_finish_dynamic_sections): Likewise. Error if
htab->elf.hgot symbol is not defined in htab->got section.
2008-09-16 Alan Modra <[email protected]>
PR 6888
* elf32-ppc.c (ppc_elf_relocate_section): Handle NULL symbol section
on R_PPC_TOC16, R_PPC_SDAREL16, R_PPC_EMB_SDA2REL, R_PPC_EMB_SDA21,
R_PPC_EMB_RELSDA, R_PPC_SECTOFF* relocs.
2008-09-11 Jan Kratochvil <[email protected]>
Fix loading large elf64 binaries on 32bit hosts.
* configure.in: Call AC_SYS_LARGEFILE.
* config.in: Regenerate.
* configure: Regenerate.
2008-09-08 Tom Tromey <[email protected]>
* elfxx-mips.c (mips16_stub_symndx) <sec>: Mark argument as
unused.
2008-09-08 H.J. Lu <[email protected]>
Daniel Jacobowitz <[email protected]>
PR ld/3191
* dwarf2.c (struct adjusted_section): Renamed from struct
loadable_section.
(struct dwarf2_debug): Adjust for renaming. Add version field.
(read_attribute_value): Correctly handle DW_FORM_ref_addr for
DWARF3.
(find_abstract_instance_name): Pass a pointer to
attribute instead of offset. For DW_FORM_ref_addr, get the
entry at the offset from the .debug_info section.
(scan_unit_for_symbols): Update.
(parse_comp_unit): Allow DWARF3. Save the version.
(unset_sections): Update for renaming.
(place_sections): Likewise. Set new VMAs for DWARF sections
also.
2008-09-08 Tristan Gingold <[email protected]>
* configure.in: Update version to 2.19.50
* configure: Regenerated.
2008-09-05 Daniel Jacobowitz <[email protected]>
* dwarf2.c: Change leading whitespace to tabs.
2008-09-05 Tristan Gingold <[email protected]>
Add MacOSX 64 bits support.
* mach-o.h (bfd_mach_o_ppc_thread_flavour): Add
BFD_MACH_O_PPC_THREAD_STATE_64.
(bfd_mach_o_i386_thread_flavour): Add BFD_MACH_O_x86_THREAD_STATE64,
BFD_MACH_O_x86_FLOAT_STATE64, BFD_MACH_O_x86_EXCEPTION_STATE64,
BFD_MACH_O_x86_THREAD_STATE, BFD_MACH_O_x86_FLOAT_STATE,
BFD_MACH_O_x86_EXCEPTION_STATE.
(bfd_mach_o_load_command_type): Add
BFD_MACH_O_LC_SEGMENT_64, BFD_MACH_O_LC_ROUTINES_64,
BFD_MACH_O_LC_UUID.
(BFD_MACH_O_CPU_IS64BIT): Added.
(bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_POWERPC_64,
BFD_MACH_O_CPU_TYPE_X86_64.
(bfd_mach_o_header): Add version field.
(bfd_mach_o_section) Add reserved3 field.
(bfd_mach_o_segment_command): Add initprot and maxprot fields.
* mach-o.c (N_TEXT, N_DATA, N_BSS): Added.
(bfd_mach_o_version): New function.
(bfd_mach_o_valid): Handle 64bits cpus.
(bfd_mach_o_write_header): handler 64bits headers.
(bfd_mach_o_scan_write_section_32, bfd_mach_o_scan_write_section_64):
New functions (from bfd_mach_o_scan_write_section) to handle both
flavors.
(bfd_mach_o_scan_write_segment): Parameter wide added to support
both flavors.
(bfd_mach_o_write_contents): Support both flavors.
(bfd_mach_o_read_header): Ditto.
(bfd_mach_o_scan_read_section_32, bfd_mach_o_scan_read_section_64):
New functions (from bfd_mach_o_scan_read_section) to support both
flavors.
(bfd_mach_o_scan_read_symtab_symbol): Support both flavors.
(bfd_mach_o_scan_read_symtab): Ditto.
(bfd_mach_o_scan_read_segment): Parameter wide added to support
both flavors.
(bfd_mach_o_scan_read_segment_32, bfd_mach_o_scan_read_segment_64):
New functions to call bfd_mach_o_scan_read_segment.
(bfd_mach_o_flatten_sections): Support both flavors.
(bfd_mach_o_scan_start_address): Ditto.
(bfd_mach_o_scan): Ditto.
(bfd_mach_o_lookup_section): Ditto.
2008-08-27 John David Anglin <[email protected]>
* elf-hppa.h (elf_hppa_reloc_final_type): Handle R_PARISC_GPREL64,
R_PARISC_SEGREL32 and R_PARISC_SEGREL64.
* som.c (som_fixup_formats): Add R_DATA_GPREL fixup.
(som_hppa_howto_table): Likewise.
(hppa_som_gen_reloc_type): In case R_HPPA_GOTOFF, detect R_DATA_GPREL
final type.
(som_write_fixups): Handle R_DATA_GPREL.
2008-08-26 Nick Clifton <[email protected]>
* elf32-arm.c: Fix up comment describing Thumb to ARM interworking
stub.
2008-08-25 Christophe Lyon <[email protected]>
* elf32-arm.c (arm_thumb_arm_v4t_short_branch_stub): Define.
(elf32_arm_stub_type): Add arm_thumb_arm_v4t_stub_short_branch.
(arm_type_of_stub): Handle armv4t short branches. Update
prototype.
(arm_stub_is_thumb): Handle arm_thumb_arm_v4t_stub_short_branch.
(arm_build_one_stub): Likewise.
(arm_size_one_stub): Likewise.
(elf32_arm_size_stubs): Use new arm_type_of_stub prototype.
(arm_map_one_stub): Handle arm_thumb_arm_v4t_stub_short_branch.
2008-08-24 Andreas Schwab <[email protected]>
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Do proper
extension when calculating difference of offsets.
2008-08-24 Alan Modra <[email protected]>
* configure.in: Update a number of obsolete autoconf macros.
* aclocal.m4: Regenerate.
2008-08-23 Andreas Schwab <[email protected]>
* opncls.c (find_separate_debug_file): Use the canonical
absolute name of the bfd object for finding the debug file in
the global debugfile directory.
2008-08-22 Jakub Jelinek <[email protected]>
Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations.
* elflink.c (elf_link_add_object_symbols): Make debug symbols local
now only for non-RELOCATABLE targets.
2008-08-20 Bob Wilson <[email protected]>
* elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA.
* elf32-xtensa.c (elf_howto_table): Add TLS relocations.
(elf_xtensa_reloc_type_lookup): Likewise.
(TCB_SIZE): Define.
(elf_xtensa_link_hash_entry): New.
(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE, GOT_TLS_ANY): Define.
(elf_xtensa_hash_entry): Define.
(elf_xtensa_obj_tdata): New.
(elf_xtensa_tdata): Define.
(elf_xtensa_local_got_tls_type): Define.
(elf_xtensa_local_tlsfunc_refcounts): Define.
(is_xtensa_elf): Define.
(elf_xtensa_mkobject): New.
(elf_xtensa_link_hash_table): Add tlsbase field.
(elf_xtensa_link_hash_newfunc): New.
(elf_xtensa_link_hash_table_create): Use elf_xtensa_link_hash_newfunc.
Create an entry for "_TLS_MODULE_BASE_" and save it in tlsbase field.
(elf_xtensa_copy_indirect_symbol): New.
(elf_xtensa_check_relocs): Rewrite to handle TLS relocations.
(elf_xtensa_gc_sweep_hook): Likewise.
(elf_xtensa_allocate_dynrelocs): Optimize away GOT entries for
TLSDESC_FN relocations when an IE reference is seen.
(elf_xtensa_allocate_local_got_size): Likewise.
(elf_xtensa_always_size_sections): New.
(dtpoff_base, tpoff): New.
(elf_xtensa_do_reloc): Handle TLS relocations.
(replace_tls_insn): New.
(IS_XTENSA_TLS_RELOC): Define.