47dfb2ca05
* xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when creating a descriptor. (xcoff_sweep): Don't mark toc_section unless it's needed. (bfd_xcoff_size_dynamic_sections): Skip the toc_section when marking every bfd. (xcoff_link_input_bfd): Skip all TOC anchors. (xcoff_toc_section_p, xcoff_find_tc0): New functions. (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor to -1; call xcoff_find_tc0 instead. ld/testsuite/ * ld-powerpc/aix-toc-1.ex, ld-powerpc/aix-toc-1a.s, ld-powerpc/aix-toc-1b.s, ld-powerpc/aix-toc-1-32.dd, ld-powerpc/aix-toc-1-64.dd: New tests. * ld-powerpc/aix52.exp: Run them.
23 lines
281 B
ArmAsm
23 lines
281 B
ArmAsm
.macro loadtoc
|
|
.toc
|
|
.tc sym\@[TC], \@
|
|
|
|
.csect .f1[PR]
|
|
.if size == 32
|
|
lwz 1,sym\@[TC](2)
|
|
.else
|
|
ld 1,sym\@[TC](2)
|
|
.endif
|
|
.endm
|
|
|
|
.globl .f1
|
|
.csect .f1[PR]
|
|
.f1:
|
|
.rept 0x7ffc * 8 / size
|
|
loadtoc
|
|
.endr
|
|
|
|
.globl f1
|
|
.csect f1[DS]
|
|
f1:
|
|
.long .f1[PR],TOC[TC0],0
|