summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--include/string.h1
-rw-r--r--string/strnlen.c1
-rw-r--r--sysdeps/aarch64/strnlen.S1
-rw-r--r--sysdeps/i386/i686/multiarch/strnlen-c.c4
-rw-r--r--sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-power7.S3
-rw-r--r--sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-ppc32.c4
-rw-r--r--sysdeps/powerpc/powerpc32/power7/strnlen.S1
-rw-r--r--sysdeps/tile/tilegx/strnlen.c1
9 files changed, 28 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 9182ed9ada..1c67d9977e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2015-06-02  Joseph Myers  <joseph@codesourcery.com>
 
+	* string/strnlen.c [!STRNLEN] (__strnlen): Use libc_hidden_def.
+	* include/string.h (__strnlen): Use libc_hidden_proto.
+	* sysdeps/aarch64/strnlen.S (__strnlen): Use libc_hidden_def.
+	* sysdeps/i386/i686/multiarch/strnlen-c.c [SHARED]
+	(libc_hidden_def): Define __GI___strnlen as well as __GI_strnlen.
+	* sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-power7.S
+	(libc_hidden_def): Undefine and redefine.
+	* sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-ppc32.c
+	[SHARED] (libc_hidden_def): Define __GI___strnlen as well as
+	__GI_strnlen.
+	* sysdeps/powerpc/powerpc32/power7/strnlen.S (__strnlen): Use
+	libc_hidden_def.
+	* sysdeps/tile/tilegx/strnlen.c (__strnlen): Likewise.
+
 	[BZ #18469]
 	* wctype/wcfuncs.c (towlower): Rename to __towlower and define as
 	weak alias of __towlower.  Use libc_hidden_weak.
diff --git a/include/string.h b/include/string.h
index 89f00fda4e..c57671ea63 100644
--- a/include/string.h
+++ b/include/string.h
@@ -91,6 +91,7 @@ libc_hidden_proto (__strtok_r)
 extern char *__strsep_g (char **__stringp, const char *__delim);
 libc_hidden_proto (__strsep_g)
 libc_hidden_proto (strnlen)
+libc_hidden_proto (__strnlen)
 libc_hidden_proto (memmem)
 extern __typeof (memmem) __memmem;
 libc_hidden_proto (__memmem)
diff --git a/string/strnlen.c b/string/strnlen.c
index 803d78b7d5..d2bb843fdd 100644
--- a/string/strnlen.c
+++ b/string/strnlen.c
@@ -160,6 +160,7 @@ __strnlen (const char *str, size_t maxlen)
   return char_ptr - str;
 }
 #ifndef STRNLEN
+libc_hidden_def (__strnlen)
 weak_alias (__strnlen, strnlen)
 #endif
 libc_hidden_def (strnlen)
diff --git a/sysdeps/aarch64/strnlen.S b/sysdeps/aarch64/strnlen.S
index 743172cb47..9d6b19f685 100644
--- a/sysdeps/aarch64/strnlen.S
+++ b/sysdeps/aarch64/strnlen.S
@@ -157,5 +157,6 @@ L(hit_limit):
 	mov	len, limit
 	RET
 END (__strnlen)
+libc_hidden_def (__strnlen)
 weak_alias (__strnlen, strnlen)
 libc_hidden_def (strnlen)
diff --git a/sysdeps/i386/i686/multiarch/strnlen-c.c b/sysdeps/i386/i686/multiarch/strnlen-c.c
index f02465d6a4..351e939a93 100644
--- a/sysdeps/i386/i686/multiarch/strnlen-c.c
+++ b/sysdeps/i386/i686/multiarch/strnlen-c.c
@@ -2,7 +2,9 @@
 #ifdef SHARED
 # undef libc_hidden_def
 # define libc_hidden_def(name)  \
-    __hidden_ver1 (__strnlen_ia32, __GI_strnlen, __strnlen_ia32);
+    __hidden_ver1 (__strnlen_ia32, __GI_strnlen, __strnlen_ia32); \
+    strong_alias (__strnlen_ia32, __strnlen_ia32_1); \
+    __hidden_ver1 (__strnlen_ia32_1, __GI___strnlen, __strnlen_ia32_1);
 #endif
 
 #include "string/strnlen.c"
diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-power7.S b/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-power7.S
index 32fba1b5f3..e8577545de 100644
--- a/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-power7.S
+++ b/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-power7.S
@@ -31,6 +31,9 @@
  cfi_endproc;							\
  ASM_SIZE_DIRECTIVE(__strnlen_power7)
 
+#undef libc_hidden_def
+#define libc_hidden_def(name)
+
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name)
 
diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-ppc32.c b/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-ppc32.c
index 6eaed608db..a5f75160c2 100644
--- a/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-ppc32.c
+++ b/sysdeps/powerpc/powerpc32/power4/multiarch/strnlen-ppc32.c
@@ -20,7 +20,9 @@
 #ifdef SHARED
 # undef libc_hidden_def
 # define libc_hidden_def(name)  \
-    __hidden_ver1 (__strnlen_ppc, __GI_strnlen, __strnlen_ppc);
+    __hidden_ver1 (__strnlen_ppc, __GI_strnlen, __strnlen_ppc); \
+    strong_alias (__strnlen_ppc, __strnlen_ppc_1); \
+    __hidden_ver1 (__strnlen_ppc_1, __GI___strnlen, __strnlen_ppc_1);
 #endif
 
 #include <string/strnlen.c>
diff --git a/sysdeps/powerpc/powerpc32/power7/strnlen.S b/sysdeps/powerpc/powerpc32/power7/strnlen.S
index be169c6ab5..de1001cfa3 100644
--- a/sysdeps/powerpc/powerpc32/power7/strnlen.S
+++ b/sysdeps/powerpc/powerpc32/power7/strnlen.S
@@ -171,5 +171,6 @@ L(loop_small):
 	blr
 
 END (__strnlen)
+libc_hidden_def (__strnlen)
 weak_alias (__strnlen, strnlen)
 libc_hidden_builtin_def (strnlen)
diff --git a/sysdeps/tile/tilegx/strnlen.c b/sysdeps/tile/tilegx/strnlen.c
index 575f8f55c7..d1f212b72f 100644
--- a/sysdeps/tile/tilegx/strnlen.c
+++ b/sysdeps/tile/tilegx/strnlen.c
@@ -52,5 +52,6 @@ __strnlen (const char *s, size_t maxlen)
   size_t len = ((const char *) p) + (CFZ (bits) >> 3) - s;
   return (len < maxlen ? len : maxlen);
 }
+libc_hidden_def (__strnlen)
 weak_alias (__strnlen, strnlen)
 libc_hidden_def (strnlen)