about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-12 22:41:03 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-12 22:41:03 +0000
commit9975e3d37d8585b41db075321bade3495cf58cdb (patch)
tree416cb16185348b44feb8e0fdb778325a52598e21 /ChangeLog
parentc4eae75271734f820a7477dbce33f8752af6f003 (diff)
downloadglibc-9975e3d37d8585b41db075321bade3495cf58cdb.tar.gz
glibc-9975e3d37d8585b41db075321bade3495cf58cdb.tar.xz
glibc-9975e3d37d8585b41db075321bade3495cf58cdb.zip
Fix locale memmem namespace (bug 17585).
Locale code, brought in by ISO C functions, calls memmem, which is not
an ISO C function.  This isn't an ISO C conformance bug, because all
mem* names are reserved, but glibc practice is not to rely on that
reservation (thus, memmem is only declared in string.h if __USE_GNU
even though ISO C would allow it to be declared unconditionally, for
example).  This patch changes that code to use __memmem.

Note: there are uses of memmem elsewhere in glibc that I didn't
change, although it may turn out some of those also need to use
__memmem.

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

	[BZ #17585]
	* string/memmem.c [!_LIBC] (__memmem): Define to memmem.
	(memmem): Rename to __memmem and define as weak alias of
	__memmem.  Use libc_hidden_weak.
	(__memmem): Use libc_hidden_def.
	* include/string.h (__memmem): Declare.  Use libc_hidden_proto.
	* locale/findlocale.c (valid_locale_name): Use __memmem instead of
	memmem.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 90ea96b355..9ef09070b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2014-11-12  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #17585]
+	* string/memmem.c [!_LIBC] (__memmem): Define to memmem.
+	(memmem): Rename to __memmem and define as weak alias of
+	__memmem.  Use libc_hidden_weak.
+	(__memmem): Use libc_hidden_def.
+	* include/string.h (__memmem): Declare.  Use libc_hidden_proto.
+	* locale/findlocale.c (valid_locale_name): Use __memmem instead of
+	memmem.
+
 	[BZ #17582]
 	* libio/iofgets.c [weak_alias && !_IO_MTSAFE_IO]
 	(__fgets_unlocked): Add alias of _IO_fgets.  Use libc_hidden_def.