This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.21-390-gcf06a4e


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  cf06a4e3579d834c3330184c4ff127c98bc00fcc (commit)
      from  7348824c39c45d401f62f724ecad4e3479180578 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=cf06a4e3579d834c3330184c4ff127c98bc00fcc

commit cf06a4e3579d834c3330184c4ff127c98bc00fcc
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri May 22 17:09:36 2015 +0000

    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.

diff --git a/ChangeLog b/ChangeLog
index 27267b1..6a44067 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 324f437..56aa6d7 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 bdd7203..a81ed54 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 034e295..89f00fd 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 5052ebf..4caabca 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 e6fd7b5..37f308b 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;

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                          |   12 ++++++++++++
 NEWS                               |    2 +-
 conform/Makefile                   |    2 --
 include/string.h                   |    2 ++
 string/basename.c                  |    6 ++++--
 sysdeps/unix/sysv/linux/pathconf.c |    2 +-
 6 files changed, 20 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]