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. |
||
|---|---|---|
| .. | ||
| 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 | ||