about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/i386/i686/multiarch/wcschr-c.c12
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c25bc33ee..dbf2fa289f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-21  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/i386/i686/multiarch/wcschr-c.c: Redefine libc_hidden_def
+	only if [SHARED]. Add prototype for __wcschr_ia32.
+
 2012-05-21  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/x86_64/setjmp.S [PTR_MANGLE] [__ILP32__]: Preserve high bits
diff --git a/sysdeps/i386/i686/multiarch/wcschr-c.c b/sysdeps/i386/i686/multiarch/wcschr-c.c
index a63e50e283..c23af26201 100644
--- a/sysdeps/i386/i686/multiarch/wcschr-c.c
+++ b/sysdeps/i386/i686/multiarch/wcschr-c.c
@@ -1,8 +1,14 @@
+#include <wchar.h>
+
 #ifndef NOT_IN_libc
-# undef libc_hidden_def
-# define libc_hidden_def(name) \
-  __hidden_ver1 (__wcschr_ia32, __GI_wcschr, __wcschr_ia32);
+# ifdef SHARED
+#  undef libc_hidden_def
+#  define libc_hidden_def(name) \
+   __hidden_ver1 (__wcschr_ia32, __GI_wcschr, __wcschr_ia32);
+# endif
 # define WCSCHR  __wcschr_ia32
 #endif
 
+extern __typeof (wcschr) __wcschr_ia32;
+
 #include "wcsmbs/wcschr.c"