diff options
author | David S. Miller <davem@davemloft.net> | 2012-02-21 15:42:42 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-20 17:51:53 -0800 |
commit | 3d2b3019e0efa9735370498122ac80298deff8c7 (patch) | |
tree | 693771bb0b1fba08098558d99613ce80bc36a923 /sysdeps/sparc/sparc64/multiarch | |
parent | c80098a9a05b7d5f8ad1488135f2cee613998c50 (diff) | |
download | glibc-3d2b3019e0efa9735370498122ac80298deff8c7.tar.gz glibc-3d2b3019e0efa9735370498122ac80298deff8c7.tar.xz 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.S | 7 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/multiarch/memset.S | 14 |
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 |