summary refs log tree commit diff
path: root/conform
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-05-22 17:09:36 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-05-22 17:09:36 +0000
commitcf06a4e3579d834c3330184c4ff127c98bc00fcc (patch)
tree8021cc34ee92db51ed9075a719e517a0a79458b3 /conform
parent7348824c39c45d401f62f724ecad4e3479180578 (diff)
downloadglibc-cf06a4e3579d834c3330184c4ff127c98bc00fcc.tar.gz
glibc-cf06a4e3579d834c3330184c4ff127c98bc00fcc.tar.xz
glibc-cf06a4e3579d834c3330184c4ff127c98bc00fcc.zip
Fix pathconf basename namespace (bug 18444).
pathconf (sysdeps/unix/sysv/linux/pathconf.c) uses basename.  But
pathconf is in POSIX back to 1990 while basename is only reserved with
external linkage in those standards including XPG functions.  This
patch fixes this namespace issue in the usual way, renaming basename
to __basename and making it into a weak alias.

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

	[BZ #18444]
	* string/basename.c (basename): Rename to __basename and define as
	weak alias of __basename.  Use libc_hidden_weak.
	* include/string.h (__basename): Declare.  Use libc_hidden_proto.
	* sysdeps/unix/sysv/linux/pathconf.c (distinguish_extX): Call
	__basename instead of basename.
	* conform/Makefile (test-xfail-POSIX2008/unistd.h/linknamespace):
	Remove variable.
	(test-xfail-XOPEN2K8/unistd.h/linknamespace): Likewise.
Diffstat (limited to 'conform')
-rw-r--r--conform/Makefile2
1 files changed, 0 insertions, 2 deletions
diff --git a/conform/Makefile b/conform/Makefile
index bdd7203f9e..a81ed54812 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -395,10 +395,8 @@ test-xfail-XOPEN2K/wordexp.h/linknamespace = yes
 test-xfail-POSIX2008/grp.h/linknamespace = yes
 test-xfail-POSIX2008/netdb.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.h/linknamespace = yes
-test-xfail-POSIX2008/unistd.h/linknamespace = yes
 test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
 test-xfail-XOPEN2K8/grp.h/linknamespace = yes
 test-xfail-XOPEN2K8/netdb.h/linknamespace = yes
 test-xfail-XOPEN2K8/pwd.h/linknamespace = yes
 test-xfail-XOPEN2K8/syslog.h/linknamespace = yes
-test-xfail-XOPEN2K8/unistd.h/linknamespace = yes