diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-06-12 10:10:18 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-06-12 10:10:18 +0000 |
commit | 9acacaa02f3b75fddc07a56f3d848df45281a5de (patch) | |
tree | f1ed18d61032595c7f9a643c1e8330faaf486a7a /NEWS | |
parent | 4b9c2b707b1383b4e3b3c50e445afd0af8922788 (diff) | |
download | glibc-9acacaa02f3b75fddc07a56f3d848df45281a5de.zip glibc-9acacaa02f3b75fddc07a56f3d848df45281a5de.tar.gz glibc-9acacaa02f3b75fddc07a56f3d848df45281a5de.tar.bz2 |
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.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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. |