From 01cad84e1996a6f20bf19609d0554c73f2ee33d5 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 12 Nov 2014 22:38:11 +0000 Subject: 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. --- include/wchar.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/wchar.h b/include/wchar.h index f927a95fdf..8207a53282 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -88,8 +88,10 @@ libc_hidden_proto (wcschr) libc_hidden_proto (wcscoll) libc_hidden_proto (wcspbrk) +extern typeof (wmemset) __wmemset; libc_hidden_proto (wmemchr) libc_hidden_proto (wmemset) +libc_hidden_proto (__wmemset) /* Now define the internal interfaces. */ extern int __wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) -- cgit v1.2.3