summaryrefslogtreecommitdiff
path: root/sysdeps/x86_64/multiarch/wcslen.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86_64/multiarch/wcslen.c')
-rw-r--r--sysdeps/x86_64/multiarch/wcslen.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sysdeps/x86_64/multiarch/wcslen.c b/sysdeps/x86_64/multiarch/wcslen.c
index 6d06e47cbd..cdf9aecf0f 100644
--- a/sysdeps/x86_64/multiarch/wcslen.c
+++ b/sysdeps/x86_64/multiarch/wcslen.c
@@ -18,14 +18,17 @@
<http://www.gnu.org/licenses/>. */
/* Define multiple versions only for the definition in libc. */
+
+#include <wchar.h>
+
#if IS_IN (libc)
-# define __wcslen __redirect_wcslen
-# include <wchar.h>
-# undef __wcslen
+
+extern typeof (__wcslen) __redirect_wcslen;
# define SYMBOL_NAME wcslen
# include "ifunc-avx2.h"
libc_ifunc_redirected (__redirect_wcslen, __wcslen, IFUNC_SELECTOR ());
-weak_alias (__wcslen, wcslen);
+libc_hidden_def (__wcslen)
+weak_alias (__wcslen, wcslen)
#endif