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-485-geb1fae6


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  eb1fae6a450b3cce5a75c1ed1a734520c56a6457 (commit)
      from  68f1ba4ba4b9cb4661ca3ed446d0967ca79c2a47 (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=eb1fae6a450b3cce5a75c1ed1a734520c56a6457

commit eb1fae6a450b3cce5a75c1ed1a734520c56a6457
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 17 20:14:18 2015 +0000

    Fix getpass fflush_unlocked namespace (bug 18540).
    
    The getpass function (XPG3 / XPG4 / UNIX98) calls fflush_unlocked (not
    in any of those standards).  This patch fixes this by making
    fflush_unlocked into a weak alias for __fflush_unlocked and calling
    __fflush_unlocked from getpass.
    
    Tested for x86_64 and x86 (testsuite, and that disassembly of
    installed stripped shared libraries is unchanged by the patch).
    
    	[BZ #18540]
    	* libio/iofflush.c [!_IO_MTSAFE_IO] (__fflush_unlocked): Define as
    	strong alias of _IO_fflush.  Use libc_hidden_def.
    	* libio/iofflush_u.c (fflush_unlocked): Rename to
    	__fflush_unlocked and define as weak alias of __fflush_unlocked.
    	Use libc_hidden_weak.
    	* include/stdio.h (__fflush_unlocked): Declare.  Use
    	libc_hidden_proto.
    	* misc/getpass.c (getpass): Call __fflush_unlocked instead of
    	fflush_unlocked.
    	* conform/Makefile (test-xfail-UNIX98/unistd.h/linknamespace):
    	Remove variable.

diff --git a/ChangeLog b/ChangeLog
index 2b516b6..046b1ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2015-06-17  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #18540]
+	* libio/iofflush.c [!_IO_MTSAFE_IO] (__fflush_unlocked): Define as
+	strong alias of _IO_fflush.  Use libc_hidden_def.
+	* libio/iofflush_u.c (fflush_unlocked): Rename to
+	__fflush_unlocked and define as weak alias of __fflush_unlocked.
+	Use libc_hidden_weak.
+	* include/stdio.h (__fflush_unlocked): Declare.  Use
+	libc_hidden_proto.
+	* misc/getpass.c (getpass): Call __fflush_unlocked instead of
+	fflush_unlocked.
+	* conform/Makefile (test-xfail-UNIX98/unistd.h/linknamespace):
+	Remove variable.
+
 	[BZ #18539]
 	* stdlib/fmtmsg.c (addseverity): Rename to __addseverity and
 	define as weak alias of __addseverity.
diff --git a/NEWS b/NEWS
index 6f3d7d8..17a11ab 100644
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,7 @@ Version 2.22
   18324, 18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434,
   18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498,
   18507, 18512, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532,
-  18533, 18534, 18536, 18539.
+  18533, 18534, 18536, 18539, 18540.
 
 * 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 4bbc1e6..32d2985 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -348,5 +348,4 @@ test-xfail-XPG3/unistd.h/linknamespace = yes
 test-xfail-XPG4/unistd.h/linknamespace = yes
 test-xfail-POSIX/mqueue.h/linknamespace = yes
 test-xfail-UNIX98/mqueue.h/linknamespace = yes
-test-xfail-UNIX98/unistd.h/linknamespace = yes
 test-xfail-UNIX98/wchar.h/linknamespace = yes
diff --git a/include/stdio.h b/include/stdio.h
index 9cd324b..5e50e63 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -155,6 +155,8 @@ extern __typeof (ftello) __ftello;
 libc_hidden_proto (__ftello)
 libc_hidden_proto (fflush)
 libc_hidden_proto (fflush_unlocked)
+extern __typeof (fflush_unlocked) __fflush_unlocked;
+libc_hidden_proto (__fflush_unlocked)
 extern __typeof (fread_unlocked) __fread_unlocked;
 libc_hidden_proto (__fread_unlocked)
 libc_hidden_proto (fwrite_unlocked)
diff --git a/libio/iofflush.c b/libio/iofflush.c
index 106f55f..236e145 100644
--- a/libio/iofflush.c
+++ b/libio/iofflush.c
@@ -50,6 +50,8 @@ weak_alias (_IO_fflush, fflush)
 libc_hidden_weak (fflush)
 
 #ifndef _IO_MTSAFE_IO
+strong_alias (_IO_fflush, __fflush_unlocked)
+libc_hidden_def (__fflush_unlocked)
 weak_alias (_IO_fflush, fflush_unlocked)
 libc_hidden_weak (fflush_unlocked)
 #endif
diff --git a/libio/iofflush_u.c b/libio/iofflush_u.c
index 6cc325a..e004479 100644
--- a/libio/iofflush_u.c
+++ b/libio/iofflush_u.c
@@ -28,7 +28,7 @@
 #include <stdio.h>
 
 int
-fflush_unlocked (fp)
+__fflush_unlocked (fp)
      _IO_FILE *fp;
 {
   if (fp == NULL)
@@ -39,4 +39,6 @@ fflush_unlocked (fp)
       return _IO_SYNC (fp) ? EOF : 0;
     }
 }
-libc_hidden_def (fflush_unlocked)
+libc_hidden_def (__fflush_unlocked)
+weak_alias (__fflush_unlocked, fflush_unlocked)
+libc_hidden_weak (fflush_unlocked)
diff --git a/misc/getpass.c b/misc/getpass.c
index 36796db..dcaff38 100644
--- a/misc/getpass.c
+++ b/misc/getpass.c
@@ -91,7 +91,7 @@ getpass (prompt)
 
   /* Write the prompt.  */
   __fxprintf (out, "%s", prompt);
-  fflush_unlocked (out);
+  __fflush_unlocked (out);
 
   /* Read the password.  */
   nread = __getline (&buf, &bufsize, in);

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

Summary of changes:
 ChangeLog          |   13 +++++++++++++
 NEWS               |    2 +-
 conform/Makefile   |    1 -
 include/stdio.h    |    2 ++
 libio/iofflush.c   |    2 ++
 libio/iofflush_u.c |    6 ++++--
 misc/getpass.c     |    2 +-
 7 files changed, 23 insertions(+), 5 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]