Fix scandir scandirat namespace (bug 17999).
commit40176158f1bfcf4fd1621169221c1aa8f0c3c300
authorJoseph Myers <joseph@codesourcery.com>
Thu, 19 Feb 2015 17:18:51 +0000 (19 17:18 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 19 Feb 2015 17:18:51 +0000 (19 17:18 +0000)
tree52a8351f99e40724de12016b07625877253b6c47
parent4629c866ad79167d60ca9bf263d871eabb59d3d9
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.
ChangeLog
NEWS
conform/Makefile
dirent/scandir.c
dirent/scandirat.c
include/dirent.h