about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--NEWS2
-rw-r--r--conform/Makefile2
-rw-r--r--include/string.h2
-rw-r--r--string/basename.c6
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.c2
6 files changed, 20 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 27267b1f22..6a44067db4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2015-05-22  Joseph Myers  <joseph@codesourcery.com>
+
+	[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.
+
 2015-05-18  Florian Weimer  <fweimer@redhat.com>
 
 	* libio/libioP.h (_IO_MEMBER_TYPE, _IO_CAST_FIELD_ACCESS)
diff --git a/NEWS b/NEWS
index 324f437a87..56aa6d7f7e 100644
--- a/NEWS
+++ b/NEWS
@@ -18,7 +18,7 @@ Version 2.22
   18030, 18032, 18036, 18038, 18039, 18042, 18043, 18046, 18047, 18049,
   18068, 18080, 18093, 18100, 18104, 18110, 18111, 18125, 18128, 18138,
   18185, 18196, 18197, 18206, 18210, 18211, 18217, 18220, 18221, 18244,
-  18247, 18287, 18319, 18333, 18346, 18397, 18409, 18418, 18434.
+  18247, 18287, 18319, 18333, 18346, 18397, 18409, 18418, 18434, 18444.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
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
diff --git a/include/string.h b/include/string.h
index 034e2953df..89f00fda4e 100644
--- a/include/string.h
+++ b/include/string.h
@@ -82,6 +82,8 @@ libc_hidden_proto (__strndup)
 libc_hidden_proto (__strerror_r)
 libc_hidden_proto (__strverscmp)
 libc_hidden_proto (basename)
+extern char *__basename (const char *__filename) __THROW __nonnull ((1));
+libc_hidden_proto (__basename)
 libc_hidden_proto (strcoll)
 libc_hidden_proto (__strcoll_l)
 libc_hidden_proto (__strxfrm_l)
diff --git a/string/basename.c b/string/basename.c
index 5052ebf4df..4caabca8f0 100644
--- a/string/basename.c
+++ b/string/basename.c
@@ -19,9 +19,11 @@
 #include <string.h>
 
 char *
-basename (const char *filename)
+__basename (const char *filename)
 {
   char *p = strrchr (filename, '/');
   return p ? p + 1 : (char *) filename;
 }
-libc_hidden_def (basename)
+libc_hidden_def (__basename)
+weak_alias (__basename, basename)
+libc_hidden_weak (basename)
diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c
index e6fd7b5c61..37f308bad7 100644
--- a/sysdeps/unix/sysv/linux/pathconf.c
+++ b/sysdeps/unix/sysv/linux/pathconf.c
@@ -79,7 +79,7 @@ distinguish_extX (const struct statfs *fsbuf, const char *file, int fd)
   if (n != -1 && n < sizeof (path))
     {
       path[n] = '\0';
-      char *base = strdupa (basename (path));
+      char *base = strdupa (__basename (path));
       __snprintf (path, sizeof (path), "/sys/fs/ext4/%s", base);
 
       return __access (path, F_OK) == 0 ? EXT4_LINK_MAX : EXT2_LINK_MAX;