summary refs log tree commit diff
path: root/conform
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-02-19 17:18:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-02-19 17:18:51 +0000
commit40176158f1bfcf4fd1621169221c1aa8f0c3c300 (patch)
tree52a8351f99e40724de12016b07625877253b6c47 /conform
parent4629c866ad79167d60ca9bf263d871eabb59d3d9 (diff)
downloadglibc-40176158f1bfcf4fd1621169221c1aa8f0c3c300.tar.gz
glibc-40176158f1bfcf4fd1621169221c1aa8f0c3c300.tar.xz
glibc-40176158f1bfcf4fd1621169221c1aa8f0c3c300.zip
Fix scandir scandirat namespace (bug 17999).
The POSIX function scandir calls scandirat, which is not a POSIX
function.  This patch fixes this by making it use __scandirat and
making scandirat a weak alias.  There are no changes for scandir64 /
scandirat64 because those are both _GNU_SOURCE-only functions so no
namespace issue arises for them.

Tested for x86_64 that the disassembly of installed shared libraries
is unchanged by this patch.

	[BZ #17999]
	* dirent/scandir.c [!SCANDIR] (SCANDIRAT): Define to __scandirat
	instead of scandirat.
	* dirent/scandirat.c [!SCANDIRAT] (SCANDIRAT): Likewise.
	[!SCANDIRAT] (SCANDIRAT_WEAK_ALIAS): Define.
	[SCANDIRAT_WEAK_ALIAS] (scandirat): Define as weak alias of
	__scandirat.
	* include/dirent.h (scandirat): Do not use libc_hidden_proto.
	(__scandirat): Declare.  Use libc_hidden_proto.
	* conform/Makefile (test-xfail-POSIX2008/dirent.h/linknamespace):
	Remove variable.
	(test-xfail-XOPEN2K8/dirent.h/linknamespace): Likewise.
Diffstat (limited to 'conform')
-rw-r--r--conform/Makefile2
1 files changed, 0 insertions, 2 deletions
diff --git a/conform/Makefile b/conform/Makefile
index 39f41bd7c5..3f9721abdf 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -393,13 +393,11 @@ test-xfail-XOPEN2K/syslog.h/linknamespace = yes
 test-xfail-XOPEN2K/ucontext.h/linknamespace = yes
 test-xfail-XOPEN2K/unistd.h/linknamespace = yes
 test-xfail-XOPEN2K/wordexp.h/linknamespace = yes
-test-xfail-POSIX2008/dirent.h/linknamespace = yes
 test-xfail-POSIX2008/grp.h/linknamespace = yes
 test-xfail-POSIX2008/netdb.h/linknamespace = yes
 test-xfail-POSIX2008/regex.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.h/linknamespace = yes
 test-xfail-POSIX2008/unistd.h/linknamespace = yes
-test-xfail-XOPEN2K8/dirent.h/linknamespace = yes
 test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
 test-xfail-XOPEN2K8/grp.h/linknamespace = yes
 test-xfail-XOPEN2K8/netdb.h/linknamespace = yes