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.20-172-g2f5c1b0


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  2f5c1b000aaeb2c25b1df52453bba8de7f9453e2 (commit)
      from  5a6fa4d7ed465c2f7da9d73004c972519dc2100e (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=2f5c1b000aaeb2c25b1df52453bba8de7f9453e2

commit 2f5c1b000aaeb2c25b1df52453bba8de7f9453e2
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Nov 12 16:24:16 2014 +0000

    Fix __getcwd rewinddir namespace (bug 17584).
    
    __getcwd is called from dcigettext.o (brought in by various ISO C
    functionality), but calls rewinddir, which is not an ISO C function.
    This patch makes __getcwd call __rewinddir instead and makes rewinddir
    a weak alias for __rewinddir.
    
    Since getcwd.c is shared with gnulib (albeit not merged in either
    direction for a long time, and omitted from gnulib's
    config/srclist.txt list of shared files) I put in a #ifndef _LIBC
    define of __rewinddir to rewinddir, although a future merged version
    of getcwd could end up looking significantly different.
    
    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by this patch).
    
    	[BZ #17584]
    	* dirent/rewinddir.c (rewinddir): Rename to __rewinddir and define
    	as weak alias of __rewinddir.  Don't use libc_hidden_def.
    	(__rewinddir): Use libc_hidden_def.
    	* sysdeps/mach/hurd/rewinddir.c: Rename to __rewinddir and define
    	as weak alias of __rewinddir.  Don't use libc_hidden_def.
    	(__rewinddir): Use libc_hidden_def.
    	* sysdeps/posix/rewinddir.c: Rename to __rewinddir and define as
    	weak alias of __rewinddir.  Don't use libc_hidden_def.
    	(__rewinddir): Use libc_hidden_def.
    	* include/dirent.h (rewinddir): Don't use libc_hidden_proto.
    	(__rewinddir): Use libc_hidden_proto.
    	* sysdeps/posix/getcwd.c [!_LIBC] (__rewinddir): Define to
    	rewinddir.
    	(__getcwd): Use __rewinddir instead of rewinddir.

diff --git a/ChangeLog b/ChangeLog
index ee9f312..42a3e82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
 2014-11-12  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #17584]
+	* dirent/rewinddir.c (rewinddir): Rename to __rewinddir and define
+	as weak alias of __rewinddir.  Don't use libc_hidden_def.
+	(__rewinddir): Use libc_hidden_def.
+	* sysdeps/mach/hurd/rewinddir.c: Rename to __rewinddir and define
+	as weak alias of __rewinddir.  Don't use libc_hidden_def.
+	(__rewinddir): Use libc_hidden_def.
+	* sysdeps/posix/rewinddir.c: Rename to __rewinddir and define as
+	weak alias of __rewinddir.  Don't use libc_hidden_def.
+	(__rewinddir): Use libc_hidden_def.
+	* include/dirent.h (rewinddir): Don't use libc_hidden_proto.
+	(__rewinddir): Use libc_hidden_proto.
+	* sysdeps/posix/getcwd.c [!_LIBC] (__rewinddir): Define to
+	rewinddir.
+	(__getcwd): Use __rewinddir instead of rewinddir.
+
 	[BZ #17583]
 	* libio/fileno.c (fileno): Rename to __fileno and define as weak
 	alias of __fileno.  Use libc_hidden_weak.
diff --git a/NEWS b/NEWS
index 4727ea2..63b0a86 100644
--- a/NEWS
+++ b/NEWS
@@ -11,7 +11,7 @@ Version 2.21
 
   6652, 12926, 14132, 14138, 14171, 15215, 15884, 17266, 17344, 17363,
   17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508, 17522,
-  17555, 17583.
+  17555, 17583, 17584.
 
 * New locales: tu_IN, bh_IN.
 
diff --git a/dirent/rewinddir.c b/dirent/rewinddir.c
index 86d9fbd..ba5b002 100644
--- a/dirent/rewinddir.c
+++ b/dirent/rewinddir.c
@@ -22,13 +22,14 @@
 
 /* Rewind DIRP to the beginning of the directory.  */
 void
-rewinddir (dirp)
+__rewinddir (dirp)
      DIR *dirp;
 {
   __set_errno (ENOSYS);
   /* No way to indicate failure.	*/
 }
-libc_hidden_def (rewinddir)
+libc_hidden_def (__rewinddir)
+weak_alias (__rewinddir, rewinddir)
 
 
 stub_warning (rewinddir)
diff --git a/include/dirent.h b/include/dirent.h
index 096a977..e8e9e42 100644
--- a/include/dirent.h
+++ b/include/dirent.h
@@ -47,8 +47,9 @@ extern DIR *__alloc_dir (int fd, bool close_fd, int flags,
 			 const struct stat64 *statp)
      internal_function;
 extern void __scandir_cancel_handler (void *arg);
+extern __typeof (rewinddir) __rewinddir;
 
-libc_hidden_proto (rewinddir)
+libc_hidden_proto (__rewinddir)
 libc_hidden_proto (scandirat)
 libc_hidden_proto (scandirat64)
 # endif
diff --git a/sysdeps/mach/hurd/rewinddir.c b/sysdeps/mach/hurd/rewinddir.c
index bccd549..284a48b 100644
--- a/sysdeps/mach/hurd/rewinddir.c
+++ b/sysdeps/mach/hurd/rewinddir.c
@@ -22,9 +22,10 @@
 
 /* Rewind DIRP to the beginning of the directory.  */
 void
-rewinddir (dirp)
+__rewinddir (dirp)
      DIR *dirp;
 {
   seekdir (dirp, (off_t) 0L);
 }
-libc_hidden_def (rewinddir)
+libc_hidden_def (__rewinddir)
+weak_alias (__rewinddir, rewinddir)
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
index 6201916..92cb22e 100644
--- a/sysdeps/posix/getcwd.c
+++ b/sysdeps/posix/getcwd.c
@@ -195,6 +195,10 @@ extern char *alloca ();
 #ifndef __GNU_LIBRARY__
 # define __lstat64	stat64
 #endif
+
+#ifndef _LIBC
+# define __rewinddir	rewinddir
+#endif
 
 #ifndef _LIBC
 # define __getcwd getcwd
@@ -390,7 +394,7 @@ __getcwd (buf, size)
 		  if (use_d_ino)
 		    {
 		      use_d_ino = false;
-		      rewinddir (dirstream);
+		      __rewinddir (dirstream);
 		      continue;
 		    }
 
diff --git a/sysdeps/posix/rewinddir.c b/sysdeps/posix/rewinddir.c
index 5a4a715..e9bc78d 100644
--- a/sysdeps/posix/rewinddir.c
+++ b/sysdeps/posix/rewinddir.c
@@ -23,7 +23,7 @@
 
 /* Rewind DIRP to the beginning of the directory.  */
 void
-rewinddir (dirp)
+__rewinddir (dirp)
      DIR *dirp;
 {
 #ifndef NOT_IN_libc
@@ -38,4 +38,5 @@ rewinddir (dirp)
   __libc_lock_unlock (dirp->lock);
 #endif
 }
-libc_hidden_def (rewinddir)
+libc_hidden_def (__rewinddir)
+weak_alias (__rewinddir, rewinddir)

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

Summary of changes:
 ChangeLog                     |   16 ++++++++++++++++
 NEWS                          |    2 +-
 dirent/rewinddir.c            |    5 +++--
 include/dirent.h              |    3 ++-
 sysdeps/mach/hurd/rewinddir.c |    5 +++--
 sysdeps/posix/getcwd.c        |    6 +++++-
 sysdeps/posix/rewinddir.c     |    5 +++--
 7 files changed, 33 insertions(+), 9 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]