Do not elide the libc hidden def of sparc's memset/memcpy when multiarching.
authorDavid S. Miller <davem@davemloft.net>
Thu, 29 Mar 2012 05:26:38 +0000 (22:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Mar 2012 05:26:38 +0000 (22:26 -0700)
* sysdeps/sparc/sparc64/multiarch/memcpy.S: Provide a hidden def to
the IFUNC routine in the libc case.
* sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise.

ChangeLog
sysdeps/sparc/sparc64/multiarch/memcpy.S
sysdeps/sparc/sparc64/multiarch/memset.S

index 506babf..555c395 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-03-28  David S. Miller  <davem@davemloft.net>
 
+       * sysdeps/sparc/sparc64/multiarch/memcpy.S: Provide a hidden def to
+       the IFUNC routine in the libc case.
+       * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise.
+
        * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memset.c: New file.
        * sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memcpy.c: New file.
        * sysdeps/sparc/sparc32/sparcv9/rtld-memset.c: New file.
index 36c4886..0f3751e 100644 (file)
@@ -1,5 +1,5 @@
 /* Multiple versions of memcpy
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
    Contributed by David S. Miller (davem@davemloft.net)
    This file is part of the GNU C Library.
 
@@ -72,10 +72,10 @@ ENTRY(memcpy)
         mov    %o1, %o0
 END(memcpy)
 
-# undef libc_hidden_builtin_def
-/* IFUNC doesn't work with the hidden functions in a shared library.  */
-# define libc_hidden_builtin_def(name) \
-       .globl __GI_memcpy; __GI_memcpy = __memcpy_ultra1
+libc_hidden_builtin_def (memcpy)
+
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(name)
 
 #define memcpy __memcpy_ultra1
 
index c717f0c..26cc669 100644 (file)
@@ -1,5 +1,5 @@
 /* Multiple versions of memset and bzero
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
    Contributed by David S. Miller (davem@davemloft.net)
    This file is part of the GNU C Library.
 
@@ -88,10 +88,10 @@ weak_alias (__bzero, bzero)
 # undef weak_alias
 # define weak_alias(a, b)
 
-# undef libc_hidden_builtin_def
-/* IFUNC doesn't work with the hidden functions in a shared library.  */
-# define libc_hidden_builtin_def(name) \
-       .globl __GI_memset; __GI_memset = __memset_ultra1
+libc_hidden_builtin_def (memset)
+
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(name)
 
 #define memset __memset_ultra1
 #define __bzero __bzero_ultra1