aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc64/multiarch
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-02-21 15:42:42 -0800
committerDavid S. Miller <davem@davemloft.net>2012-02-20 17:51:53 -0800
commit3d2b3019e0efa9735370498122ac80298deff8c7 (patch)
tree693771bb0b1fba08098558d99613ce80bc36a923 /sysdeps/sparc/sparc64/multiarch
parentc80098a9a05b7d5f8ad1488135f2cee613998c50 (diff)
downloadglibc-3d2b3019e0efa9735370498122ac80298deff8c7.tar
glibc-3d2b3019e0efa9735370498122ac80298deff8c7.tar.gz
glibc-3d2b3019e0efa9735370498122ac80298deff8c7.tar.bz2
glibc-3d2b3019e0efa9735370498122ac80298deff8c7.zip
Use sparc GOTDATA relocations whenever possible.
* sysdeps/sparc/crti.S: Try to use GOTDATA relocs. * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise.
Diffstat (limited to 'sysdeps/sparc/sparc64/multiarch')
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy.S7
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memset.S14
2 files changed, 3 insertions, 18 deletions
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy.S b/sysdeps/sparc/sparc64/multiarch/memcpy.S
index 2fd5e9bf9b..739687f3b8 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy.S
@@ -25,12 +25,7 @@
ENTRY(memcpy)
.type memcpy, @gnu_indirect_function
# ifdef SHARED
- mov %o7, %o5
- sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o3
- call 1f
- or %o3, %lo(_GLOBAL_OFFSET_TABLE_+4), %o3
-1: add %o7, %o3, %o3
- mov %o5, %o7
+ SETUP_PIC_REG_LEAF(o3, o5)
# endif
andcc %o0, HWCAP_SPARC_N2, %g0
be 1f
diff --git a/sysdeps/sparc/sparc64/multiarch/memset.S b/sysdeps/sparc/sparc64/multiarch/memset.S
index bf2eb637e6..13533450c2 100644
--- a/sysdeps/sparc/sparc64/multiarch/memset.S
+++ b/sysdeps/sparc/sparc64/multiarch/memset.S
@@ -25,12 +25,7 @@
ENTRY(memset)
.type memset, @gnu_indirect_function
# ifdef SHARED
- mov %o7, %o5
- sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o3
- call 1f
- or %o3, %lo(_GLOBAL_OFFSET_TABLE_+4), %o3
-1: add %o7, %o3, %o3
- mov %o5, %o7
+ SETUP_PIC_REG_LEAF(o3, o5)
# endif
andcc %o0, HWCAP_SPARC_BLKINIT, %g0
be 9f
@@ -61,12 +56,7 @@ END(memset)
ENTRY(__bzero)
.type bzero, @gnu_indirect_function
# ifdef SHARED
- mov %o7, %o5
- sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o3
- call 1f
- or %o3, %lo(_GLOBAL_OFFSET_TABLE_+4), %o3
-1: add %o7, %o3, %o3
- mov %o5, %o7
+ SETUP_PIC_REG_LEAF(o3, o5)
# endif
andcc %o0, HWCAP_SPARC_BLKINIT, %g0
be 9f