about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-12-17 18:09:11 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-12-17 18:09:11 +0000
commit8ac5a76a99e51a91eac9cecbe941fc05ddf11e03 (patch)
tree76a65f8b81308ff6f6c84f5b6b3628673b2178cf /ChangeLog
parent66ce3cb12f74d3dbd4018ce6498a36348acf7e83 (diff)
downloadglibc-8ac5a76a99e51a91eac9cecbe941fc05ddf11e03.tar.gz
glibc-8ac5a76a99e51a91eac9cecbe941fc05ddf11e03.tar.xz
glibc-8ac5a76a99e51a91eac9cecbe941fc05ddf11e03.zip
Fix resolver inet_* namespace (bug 17722).
Parts of the resolver brought in by pthreads (at least) use inet_*
functions that aren't in the 1995/6 edition of POSIX that introduced
pthreads (or in one case, use __inet_aton which is then defined in the
same file as non-weak inet_addr).  This patch fixes this by making the
affected functions into weak alias for __inet_* and using those names
in the problematic resolver code.

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

	[BZ #17722]
	* inet/inet_mkadr.c (inet_makeaddr): Rename to __inet_makeaddr and
	define as weak alias of __inet_makeaddr.
	* resolv/inet_addr.c (inet_addr): Rename to __inet_addr and define
	as weak alias of __inet_addr.
	* resolv/inet_pton.c (inet_pton): Rename to __inet_pton and define
	as weak alias of __inet_pton.  Use libc_hidden_weak.
	* include/arpa/inet.h (__inet_pton): Declare.  Use
	libc_hidden_proto.
	(inet_makeaddr): Don't use libc_hidden_proto.
	(__inet_makeaddr): Declare.  Use libc_hidden_proto.
	* resolv/res_init.c (__res_vinit): Use __inet_pton instead of
	inet_pton.  Use __inet_makeaddr instead of inet_makeaddr.
	* conform/Makefile (test-xfail-POSIX/pthread.h/linknamespace):
	Remove variable.
	(test-xfail-POSIX/sched.h/linknamespace): Likewise.
	(test-xfail-POSIX/time.h/linknamespace): Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog20
1 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a7cb40e3b6..2fc8cde873 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2014-12-17  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17722]
+	* inet/inet_mkadr.c (inet_makeaddr): Rename to __inet_makeaddr and
+	define as weak alias of __inet_makeaddr.
+	* resolv/inet_addr.c (inet_addr): Rename to __inet_addr and define
+	as weak alias of __inet_addr.
+	* resolv/inet_pton.c (inet_pton): Rename to __inet_pton and define
+	as weak alias of __inet_pton.  Use libc_hidden_weak.
+	* include/arpa/inet.h (__inet_pton): Declare.  Use
+	libc_hidden_proto.
+	(inet_makeaddr): Don't use libc_hidden_proto.
+	(__inet_makeaddr): Declare.  Use libc_hidden_proto.
+	* resolv/res_init.c (__res_vinit): Use __inet_pton instead of
+	inet_pton.  Use __inet_makeaddr instead of inet_makeaddr.
+	* conform/Makefile (test-xfail-POSIX/pthread.h/linknamespace):
+	Remove variable.
+	(test-xfail-POSIX/sched.h/linknamespace): Likewise.
+	(test-xfail-POSIX/time.h/linknamespace): Likewise.
+
 2014-12-17  Steve Ellcey  <sellcey@imgtec.com>
 
 	* inet/getnetgrent_r.c: Move while loop to be inside if statement.