aboutsummaryrefslogtreecommitdiff
path: root/sim/common
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2011-10-19 00:32:25 +0000
committerDavid S. Miller <davem@redhat.com>2011-10-19 00:32:25 +0000
commitabd242a90836b535b2f98be634e16c70012a3c5d (patch)
treecc8a899c08c32ce0693497c6fc2f96264706d761 /sim/common
parent01b701aae6a81fc07a867fc3746587000aaa8c50 (diff)
downloadgdb-abd242a90836b535b2f98be634e16c70012a3c5d.zip
gdb-abd242a90836b535b2f98be634e16c70012a3c5d.tar.gz
gdb-abd242a90836b535b2f98be634e16c70012a3c5d.tar.bz2
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.
Diffstat (limited to 'sim/common')
0 files changed, 0 insertions, 0 deletions