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-99-g4017615


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  40176158f1bfcf4fd1621169221c1aa8f0c3c300 (commit)
      from  4629c866ad79167d60ca9bf263d871eabb59d3d9 (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=40176158f1bfcf4fd1621169221c1aa8f0c3c300

commit 40176158f1bfcf4fd1621169221c1aa8f0c3c300
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Feb 19 17:18:51 2015 +0000

    Fix scandir scandirat namespace (bug 17999).
    
    The POSIX function scandir calls scandirat, which is not a POSIX
    function.  This patch fixes this by making it use __scandirat and
    making scandirat a weak alias.  There are no changes for scandir64 /
    scandirat64 because those are both _GNU_SOURCE-only functions so no
    namespace issue arises for them.
    
    Tested for x86_64 that the disassembly of installed shared libraries
    is unchanged by this patch.
    
    	[BZ #17999]
    	* dirent/scandir.c [!SCANDIR] (SCANDIRAT): Define to __scandirat
    	instead of scandirat.
    	* dirent/scandirat.c [!SCANDIRAT] (SCANDIRAT): Likewise.
    	[!SCANDIRAT] (SCANDIRAT_WEAK_ALIAS): Define.
    	[SCANDIRAT_WEAK_ALIAS] (scandirat): Define as weak alias of
    	__scandirat.
    	* include/dirent.h (scandirat): Do not use libc_hidden_proto.
    	(__scandirat): Declare.  Use libc_hidden_proto.
    	* conform/Makefile (test-xfail-POSIX2008/dirent.h/linknamespace):
    	Remove variable.
    	(test-xfail-XOPEN2K8/dirent.h/linknamespace): Likewise.

diff --git a/ChangeLog b/ChangeLog
index 8b6dd07..b09206c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2015-02-19  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17999]
+	* dirent/scandir.c [!SCANDIR] (SCANDIRAT): Define to __scandirat
+	instead of scandirat.
+	* dirent/scandirat.c [!SCANDIRAT] (SCANDIRAT): Likewise.
+	[!SCANDIRAT] (SCANDIRAT_WEAK_ALIAS): Define.
+	[SCANDIRAT_WEAK_ALIAS] (scandirat): Define as weak alias of
+	__scandirat.
+	* include/dirent.h (scandirat): Do not use libc_hidden_proto.
+	(__scandirat): Declare.  Use libc_hidden_proto.
+	* conform/Makefile (test-xfail-POSIX2008/dirent.h/linknamespace):
+	Remove variable.
+	(test-xfail-XOPEN2K8/dirent.h/linknamespace): Likewise.
+
 2015-02-18  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #15319]
diff --git a/NEWS b/NEWS
index 0501d51..8d2c51b 100644
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.22
 * The following bugs are resolved with this release:
 
   4719, 15319, 15467, 15790, 16560, 17569, 17792, 17912, 17932, 17944,
-  17949, 17964, 17965, 17967, 17969, 17978, 17987, 17991, 17996.
+  17949, 17964, 17965, 17967, 17969, 17978, 17987, 17991, 17996, 17999.
 
 Version 2.21
 
diff --git a/conform/Makefile b/conform/Makefile
index 39f41bd..3f9721a 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -393,13 +393,11 @@ test-xfail-XOPEN2K/syslog.h/linknamespace = yes
 test-xfail-XOPEN2K/ucontext.h/linknamespace = yes
 test-xfail-XOPEN2K/unistd.h/linknamespace = yes
 test-xfail-XOPEN2K/wordexp.h/linknamespace = yes
-test-xfail-POSIX2008/dirent.h/linknamespace = yes
 test-xfail-POSIX2008/grp.h/linknamespace = yes
 test-xfail-POSIX2008/netdb.h/linknamespace = yes
 test-xfail-POSIX2008/regex.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.h/linknamespace = yes
 test-xfail-POSIX2008/unistd.h/linknamespace = yes
-test-xfail-XOPEN2K8/dirent.h/linknamespace = yes
 test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
 test-xfail-XOPEN2K8/grp.h/linknamespace = yes
 test-xfail-XOPEN2K8/netdb.h/linknamespace = yes
diff --git a/dirent/scandir.c b/dirent/scandir.c
index 1039b9b..99c9681 100644
--- a/dirent/scandir.c
+++ b/dirent/scandir.c
@@ -28,7 +28,7 @@
 
 #ifndef SCANDIR
 # define SCANDIR scandir
-# define SCANDIRAT scandirat
+# define SCANDIRAT __scandirat
 # define DIRENT_TYPE struct dirent
 #endif
 
diff --git a/dirent/scandirat.c b/dirent/scandirat.c
index 1147cee..004b152 100644
--- a/dirent/scandirat.c
+++ b/dirent/scandirat.c
@@ -30,9 +30,10 @@
 #include <bits/libc-lock.h>
 
 #ifndef SCANDIRAT
-# define SCANDIRAT scandirat
+# define SCANDIRAT __scandirat
 # define READDIR __readdir
 # define DIRENT_TYPE struct dirent
+# define SCANDIRAT_WEAK_ALIAS
 #endif
 
 #ifndef SKIP_SCANDIR_CANCEL
@@ -148,6 +149,9 @@ SCANDIRAT (dfd, dir, namelist, select, cmp)
   return c.cnt;
 }
 libc_hidden_def (SCANDIRAT)
+#ifdef SCANDIRAT_WEAK_ALIAS
+weak_alias (__scandirat, scandirat)
+#endif
 
 #ifdef _DIRENT_MATCHES_DIRENT64
 weak_alias (scandirat, scandirat64)
diff --git a/include/dirent.h b/include/dirent.h
index e8e9e42..2e797ae 100644
--- a/include/dirent.h
+++ b/include/dirent.h
@@ -50,7 +50,8 @@ extern void __scandir_cancel_handler (void *arg);
 extern __typeof (rewinddir) __rewinddir;
 
 libc_hidden_proto (__rewinddir)
-libc_hidden_proto (scandirat)
+extern __typeof (scandirat) __scandirat;
+libc_hidden_proto (__scandirat)
 libc_hidden_proto (scandirat64)
 # endif
 

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

Summary of changes:
 ChangeLog          |   15 +++++++++++++++
 NEWS               |    2 +-
 conform/Makefile   |    2 --
 dirent/scandir.c   |    2 +-
 dirent/scandirat.c |    6 +++++-
 include/dirent.h   |    3 ++-
 6 files changed, 24 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]