* elf/tls-macros.h (__TLS_GET_ADDR): Define according to the ABI
authorUlrich Drepper <drepper@redhat.com>
Fri, 11 Apr 2008 21:04:10 +0000 (21:04 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 11 Apr 2008 21:04:10 +0000 (21:04 +0000)
in use.
(TLS_LD): Use __TLS_GET_ADDR instead of .__tls_get_addr.
(TLS_GD): Likewise.

ChangeLog
elf/tls-macros.h
sysdeps/i386/i686/memcpy.S

index 97902b7..30a0d3e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-04-11  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/tls-macros.h (__TLS_GET_ADDR): Define according to the ABI
+       in use.
+       (TLS_LD): Use __TLS_GET_ADDR instead of .__tls_get_addr.
+       (TLS_GD): Likewise.
+
 2007-11-20  Ryan S. Arnold  <rsa@us.ibm.com>
 
        [BZ #4997]
index 37cbe75..6463a6c 100644 (file)
@@ -813,12 +813,17 @@ register void *__gp __asm__("$29");
         : "=b" (__result) );  \
       __result;  \
   })
+# ifdef HAVE_ASM_GLOBAL_DOT_NAME
+#  define __TLS_GET_ADDR ".__tls_get_addr"
+# else
+#  define __TLS_GET_ADDR "__tls_get_addr"
+# endif
 /* PowerPC64 Local Dynamic TLS access.  */
 #  define TLS_LD(x) \
   ({  int * __result;  \
       asm (  \
         "  addi  3,2," #x "@got@tlsld\n"  \
-        "  bl    .__tls_get_addr\n"  \
+        "  bl    " __TLS_GET_ADDR "\n"  \
         "  nop   \n"  \
         "  addis %0,3," #x "@dtprel@ha\n"  \
         "  addi  %0,%0," #x "@dtprel@l\n"  \
@@ -834,7 +839,7 @@ register void *__gp __asm__("$29");
   ({  int * __result;  \
       asm (  \
         "  addi  3,2," #x "@got@tlsgd\n"  \
-        "  bl    .__tls_get_addr\n"  \
+        "  bl    " __TLS_GET_ADDR "\n"  \
         "  nop   \n"  \
         "  mr    %0,3\n"  \
         : "=b" (__result) :  \
index ff5c66e..0b2da1e 100644 (file)
@@ -71,10 +71,10 @@ ENTRY (BP_SYM (memcpy))
 1:     pushl   %eax
        movl    %ecx, %eax
        shrl    $2, %ecx
+       andl    $3, %eax
        rep
        movsl
        movl    %eax, %ecx
-       andl    $3, %ecx
        rep
        movsb
        popl    %eax