summary refs log tree commit diff
path: root/wcsmbs
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-12 22:38:11 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-12 22:38:11 +0000
commit01cad84e1996a6f20bf19609d0554c73f2ee33d5 (patch)
tree9df6577ba1ae2a6a464ffca150e7cd351d22d722 /wcsmbs
parent939da41143341bbcdd3dd50ee7b57776603da260 (diff)
downloadglibc-01cad84e1996a6f20bf19609d0554c73f2ee33d5.tar.gz
glibc-01cad84e1996a6f20bf19609d0554c73f2ee33d5.tar.xz
glibc-01cad84e1996a6f20bf19609d0554c73f2ee33d5.zip
Fix __printf_fp wmemset namespace (bug 17574).
__printf_fp calls wmemset, but that is not an ISO C90 function.  This
patch fixes it to call a new __wmemset name instead (with wmemset
being a weak alias).

Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch).

	[BZ #17574]
	* wcsmbs/wmemset.c (wmemset): Rename to __wmemset and define as
	weak alias of __wmemset.  Use libc_hidden_weak.
	(__wmemset): Use libc_hidden_def.
	* include/wchar.h (__wmemset): Declare.  Use libc_hidden_proto.
	* stdio-common/printf_fp.c (___printf_fp): Call __wmemset instead
	of wmemset.
Diffstat (limited to 'wcsmbs')
-rw-r--r--wcsmbs/wmemset.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/wcsmbs/wmemset.c b/wcsmbs/wmemset.c
index c49954531e..a80b815483 100644
--- a/wcsmbs/wmemset.c
+++ b/wcsmbs/wmemset.c
@@ -20,7 +20,7 @@
 
 
 wchar_t *
-wmemset (s, c, n)
+__wmemset (s, c, n)
      wchar_t *s;
      wchar_t c;
      size_t n;
@@ -52,4 +52,6 @@ wmemset (s, c, n)
 
   return s;
 }
-libc_hidden_def (wmemset)
+libc_hidden_def (__wmemset)
+weak_alias (__wmemset, wmemset)
+libc_hidden_weak (wmemset)