From 45dcd79f6eb37ad4e9e6967f1d459ffc3629eb1f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 17 Jun 2015 20:15:22 +0000 Subject: Fix swscanf vswscanf namespace (bug 18542). swscanf (added in C90 Amendment 1, present in UNIX98) calls vswscanf (added in C99, not in C90 Amendment 1 or UNIX98). This patch fixes this by using __vswscanf instead and making vswscanf into a weak alias. (I intend to add conform/ test support for C90 Amendment 1 - and various other standard versions supported by glibc but not yet by conform/ tests - at some point, once the results for currently tested standards are cleaner.) Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #18542] * libio/iovswscanf.c (__vswscanf): Use libc_hidden_def. (vswscanf): Use ldbl_weak_alias instead of ldbl_strong_alias * include/wchar.h (__vswscanf): Declare. Use libc_hidden_proto. * libio/swscanf.c (__swscanf): Call __vswscanf instead of vswscanf. * conform/Makefile (test-xfail-UNIX98/wchar.h/linknamespace): Remove variable. --- ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 046b1ae27d..ea4aeebaad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2015-06-17 Joseph Myers + [BZ #18542] + * libio/iovswscanf.c (__vswscanf): Use libc_hidden_def. + (vswscanf): Use ldbl_weak_alias instead of ldbl_strong_alias + * include/wchar.h (__vswscanf): Declare. Use libc_hidden_proto. + * libio/swscanf.c (__swscanf): Call __vswscanf instead of + vswscanf. + * conform/Makefile (test-xfail-UNIX98/wchar.h/linknamespace): + Remove variable. + [BZ #18540] * libio/iofflush.c [!_IO_MTSAFE_IO] (__fflush_unlocked): Define as strong alias of _IO_fflush. Use libc_hidden_def. -- cgit v1.2.3