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-463-g9acacaa


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  9acacaa02f3b75fddc07a56f3d848df45281a5de (commit)
      from  4b9c2b707b1383b4e3b3c50e445afd0af8922788 (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=9acacaa02f3b75fddc07a56f3d848df45281a5de

commit 9acacaa02f3b75fddc07a56f3d848df45281a5de
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Jun 12 10:10:18 2015 +0000

    Fix h_errno namespace (bug 18520).
    
    The 2008 edition of POSIX removed h_errno, but some functions still
    bring in references to the h_errno external symbol.  As this symbol is
    not a part of the public ABI (only __h_errno_location is), this patch
    fixes this by renaming the GLIBC_PRIVATE TLS symbol to __h_errno.
    
    Tested for x86_64 and x86 (testsuite, and comparison of installed
    shared libraries).  Disassembly of all shared libraries using h_errno
    changes because of the renaming (and changes to associated TLS / GOT
    offsets in some cases); disassembly of libpthread on x86_64 changes
    more substantially because the enlargement of .dynsym affects
    subsequent addresses.
    
    	[BZ #18520]
    	* inet/herrno.c (h_errno): Rename to __h_errno.
    	(__libc_h_errno): Define as alias of __h_errno not h_errno.
    	* include/netdb.h [IS_IN_LIB && !IS_IN (libc)] (h_errno): Define
    	to __h_errno instead of h_errno.
    	* nptl/herrno.c (h_errno): Rename to __h_errno.
    	(__h_errno_location): Refer to __h_errno not h_errno.
    	* resolv/Versions (h_errno): Rename to __h_errno.
    	* conform/Makefile (test-xfail-XOPEN2K8/grp.h/linknamespace):
    	Remove variable.
    	(test-xfail-XOPEN2K8/pwd.h/linknamespace): Likewise.

diff --git a/ChangeLog b/ChangeLog
index 1e0ec7e..6ca1c20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2015-06-12  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #18520]
+	* inet/herrno.c (h_errno): Rename to __h_errno.
+	(__libc_h_errno): Define as alias of __h_errno not h_errno.
+	* include/netdb.h [IS_IN_LIB && !IS_IN (libc)] (h_errno): Define
+	to __h_errno instead of h_errno.
+	* nptl/herrno.c (h_errno): Rename to __h_errno.
+	(__h_errno_location): Refer to __h_errno not h_errno.
+	* resolv/Versions (h_errno): Rename to __h_errno.
+	* conform/Makefile (test-xfail-XOPEN2K8/grp.h/linknamespace):
+	Remove variable.
+	(test-xfail-XOPEN2K8/pwd.h/linknamespace): Likewise.
+
 2015-06-11  Andrew Senkevich  <andrew.senkevich@intel.com>
 
 	* configure.ac: More strict check for AVX512 assembler support.
diff --git a/NEWS b/NEWS
index 423d315..9d1ce0d 100644
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,8 @@ Version 2.22
   18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210,
   18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324,
   18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444,
-  18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498, 18507.
+  18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498, 18507,
+  18520.
 
 * 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 8e76bcb..c259d34 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -373,7 +373,5 @@ test-xfail-POSIX2008/grp.h/linknamespace = yes
 test-xfail-POSIX2008/netdb.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.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
diff --git a/include/netdb.h b/include/netdb.h
index 9e64a15..e1f051d 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -9,7 +9,7 @@
 #  if IS_IN (libc)
 #   define h_errno __libc_h_errno
 #  else
-#   define h_errno h_errno	/* For #ifndef h_errno tests.  */
+#   define h_errno __h_errno
 #  endif
 extern __thread int h_errno attribute_tls_model_ie;
 # endif /* IS_IN_LIB */
diff --git a/inet/herrno.c b/inet/herrno.c
index 829f032..672a91d 100644
--- a/inet/herrno.c
+++ b/inet/herrno.c
@@ -24,7 +24,7 @@
 /* We need to have the error status variable of the resolver
    accessible in the libc.  */
 
-__thread int h_errno;
-extern __thread int __libc_h_errno __attribute__ ((alias ("h_errno")))
+__thread int __h_errno;
+extern __thread int __libc_h_errno __attribute__ ((alias ("__h_errno")))
   attribute_hidden;
 #define h_errno __libc_h_errno
diff --git a/nptl/herrno.c b/nptl/herrno.c
index 281c47e..9c91528 100644
--- a/nptl/herrno.c
+++ b/nptl/herrno.c
@@ -23,12 +23,12 @@
 
 /* We need to have the error status variable of the resolver
    accessible in the libc.  */
-extern __thread int h_errno;
+extern __thread int __h_errno;
 
 
 /* When threaded, h_errno may be a per-thread variable.  */
 int *
 __h_errno_location (void)
 {
-  return &h_errno;
+  return &__h_errno;
 }
diff --git a/resolv/Versions b/resolv/Versions
index 04072ac..e561bce 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -24,7 +24,7 @@ libc {
   GLIBC_PRIVATE {
     __gai_sigqueue;
 
-    h_errno; __resp;
+    __h_errno; __resp;
 
     __res_maybe_init; __res_iclose;
   }

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

Summary of changes:
 ChangeLog        |   14 ++++++++++++++
 NEWS             |    3 ++-
 conform/Makefile |    2 --
 include/netdb.h  |    2 +-
 inet/herrno.c    |    4 ++--
 nptl/herrno.c    |    4 ++--
 resolv/Versions  |    2 +-
 7 files changed, 22 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]