old-cross-binutils/ld/testsuite/ld-powerpc/aix-ref-1.s
Richard Sandiford c865e45b1b bfd/
* coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
	(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
	* coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
	bitsize to 1.
	(xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.

gas/
	* write.h (fix_at_start): Declare.
	* write.c (fix_new_internal): Add at_beginning parameter.
	Use it instead of REVERSE_SORT_RELOCS.  Fix the handling of
	seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
	(fix_new, fix_new_exp): Update accordingly.
	(fix_at_start): New function.
	* config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
	(ppc_ref): New function, for OBJ_XCOFF.
	(md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
	* config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.

gas/testsuite/
	* gas/ppc/xcoff-ref-1.s, gas/ppc/xcoff-ref-1.l: New test.
	* gas/ppc/aix.exp: Run it.


ld/testsuite/
	* ld-powerpc/aix-ref-1-32.od, ld-powerpc/aix-ref-1-64.od,
	ld-powerpc/aix-ref-1.s: New tests.
	* ld-powerpc/aix52.exp: Run them.
2010-01-23 12:05:33 +00:00

57 lines
568 B
ArmAsm

.macro loadtoc,sym
.if size == 32
lwz 1,\sym(2)
.else
ld 1,\sym(2)
.endif
.endm
.toc
LC01: .tc stuff[TC],stuff[RW]
.globl foo1
.csect foo1[pr]
foo1:
.align 8
nop
loadtoc LC01
.globl foo2
.csect foo2[pr]
foo2:
nop
loadtoc LC01
.ref foo4 , foo6
.globl foo3
.csect foo3[pr]
foo3:
nop
loadtoc LC01
.globl foo4
.csect foo4[pr]
foo4:
nop
loadtoc LC01
.globl foo5
.csect foo5[pr]
foo5:
nop
loadtoc LC01
.ref foo3
.globl foo6
.csect foo6[pr]
foo6:
nop
loadtoc LC01
.csect foo1[pr]
blr
.ref foo2
.csect stuff[rw]
stuff:
.long 1