old-cross-binutils/ld/testsuite/ld-sparc
David S. Miller abd242a908 Fix sparc TLS call relaxation when the delay slot sets up %o0.
bfd/

	PR binutils/13301
	* elfxx-sparc.c (sparc_elf_find_reloc_at_ofs): New function.
	(_bfd_sparc_elf_relocate_section): Always move the __tls_get_addr
	call delay slot instruction forward 4 bytes when performing
	relaxation.

gold/

	PR binutils/13301
	* sparc.cc (Target_sparc::Relocate::reloc_adjust_addr_): New
	member to track relocation locations that have moved during TLS
	reloc optimizations.
	(Target_sparc::Relocate::Relocate): Initialize to NULL.
	(Target_sparc::Relocate::relocate): Adjust view down by 4
	bytes if it matches reloc_adjust_addr_.
	(Target_sparc::Relocate::relocate_tls): Always move the
	__tls_get_addr call delay slot instruction forward 4 bytes when
	performing relaxation.

ld/testsuite/

	* ld-sparc/tlssunbin32.dd: Update for TLS call relaxation fix
	for PR 13301.
	* ld-sparc/tlssunbin64.dd: Likewise.
	* ld-sparc/tlssunpic32.dd: Likewise.
	* ld-sparc/tlssunpic64.dd: Likewise.
2011-10-19 00:32:25 +00:00
..
gotop32.dd
gotop32.rd
gotop32.s
gotop32.sd
gotop32.td
gotop64.dd
gotop64.rd
gotop64.s
gotop64.sd
gotop64.td
sparc.exp
tlsg32.s
tlsg32.sd
tlsg64.s
tlsg64.sd
tlslib.s
tlsnopic.s
tlspic.s
tlssunbin32.dd
tlssunbin32.rd
tlssunbin32.s
tlssunbin32.sd
tlssunbin32.td
tlssunbin64.dd
tlssunbin64.rd
tlssunbin64.s
tlssunbin64.sd
tlssunbin64.td
tlssunbinpic32.s
tlssunbinpic64.s
tlssunnopic32.dd
tlssunnopic32.rd
tlssunnopic32.s
tlssunnopic32.sd
tlssunnopic64.dd
tlssunnopic64.rd
tlssunnopic64.s
tlssunnopic64.sd
tlssunpic32.dd
tlssunpic32.rd
tlssunpic32.s
tlssunpic32.sd
tlssunpic32.td
tlssunpic64.dd
tlssunpic64.rd
tlssunpic64.s
tlssunpic64.sd
tlssunpic64.td
vxworks1-lib.dd
vxworks1-lib.nd
vxworks1-lib.rd
vxworks1-lib.s
vxworks1-lib.td
vxworks1-static.d
vxworks1.dd
vxworks1.ld
vxworks1.rd
vxworks1.s
vxworks2-static.sd
vxworks2.s
vxworks2.sd