about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-13 19:50:55 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-13 19:50:55 +0000
commit2a1cfd94a26e0fa96d8f284897213b65c60142d6 (patch)
tree4ea3d0832469c75ddf3cc5d147f96a15e6c98868 /ChangeLog
parent20ed0d266f2c04f5612e2cedf02ede0d0c152e73 (diff)
downloadglibc-2a1cfd94a26e0fa96d8f284897213b65c60142d6.tar.gz
glibc-2a1cfd94a26e0fa96d8f284897213b65c60142d6.tar.xz
glibc-2a1cfd94a26e0fa96d8f284897213b65c60142d6.zip
Fix strtoll / strtoull namespace for 32-bit (bug 17594).
For 32-bit platforms, strtoll and strtoull are strong symbols in libc,
but they are not in ISO C90, and are brought in by references to
__strtoll_internal / __strtoull_internal from scanf.  (For 64-bit
platforms, they are properly weak.)  This patch makes them weak for
32-bit (it has a side-effect of making other symbols weak that don't
need to be weak, such as strtol, but that's harmless).

Tested for x86 (testsuite, and that the disassembly of installed
shared libraries is unchanged by the patch).  This fixes all 120
unXFAILed FAILs of the new linknamespace tests seen for x86 (in fact,
there are now seven XPASSes of those tests for x86

XPASS: conform/POSIX2008/fcntl.h/linknamespace
XPASS: conform/UNIX98/libgen.h/linknamespace
XPASS: conform/XOPEN2K/fcntl.h/linknamespace
XPASS: conform/XOPEN2K/libgen.h/linknamespace
XPASS: conform/XOPEN2K8/fcntl.h/linknamespace
XPASS: conform/XOPEN2K8/libgen.h/linknamespace
XPASS: conform/XPG4/libgen.h/linknamespace

so suggesting that the failures seen for those on x86_64 are in some
way architecture-specific or 64-bit-specific).

	[BZ #17594]
	* stdlib/strtol.c (SYM__): New macro.
	(SYM__1): Likewise.
	(__strtol): Likewise.
	(strtol): Rename to __strtol and define as weak alias of
	__strtol.  Use libc_hidden_weak.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 91f8746ca5..59c30e09a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-11-13  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17594]
+	* stdlib/strtol.c (SYM__): New macro.
+	(SYM__1): Likewise.
+	(__strtol): Likewise.
+	(strtol): Rename to __strtol and define as weak alias of
+	__strtol.  Use libc_hidden_weak.
+
 2014-11-13  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
 	* sysdeps/s390/s390-32/dl-machine.h (RTLD_START):