Fix x86_64 memrchr namespace (bug 17719).
commit380292ba8b97c82a8ede3ed35f6a3c42b7b47466
authorJoseph Myers <joseph@codesourcery.com>
Tue, 16 Dec 2014 18:31:31 +0000 (16 18:31 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 16 Dec 2014 18:31:31 +0000 (16 18:31 +0000)
tree8fb260047cae35d5301e848906d1c145d5a736ad
parent9a44d530c464d081e925b1c1af2b8bbe6e7b3207
Fix x86_64 memrchr namespace (bug 17719).

On x86_64, memrchr (not a standard function) is defined as a strong
symbol, instead of a weak alias of __memrchr as on other
architectures.  This results in linknamespace test failures from the
use of __memrchr from dirname.  (Not a conformance issue because of
the mem* reservation, but contrary to glibc conventions.)  This patch
makes x86_64 follow other architectures by defining memrchr as a weak
alias.

Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch).

[BZ #17719]
* sysdeps/x86_64/memrchr.S (memrchr): Rename to __memrchr and
define as weak alias of __memrchr.
(__memrchr): Do not define as strong alias of memrchr.
* conform/Makefile (test-xfail-XPG4/libgen.h/linknamespace):
Remove variable.
(test-xfail-UNIX98/libgen.h/linknamespace): Likewise.
(test-xfail-XOPEN2K/libgen.h/linknamespace): Likewise.
(test-xfail-XOPEN2K8/libgen.h/linknamespace): Likewise.
ChangeLog
NEWS
conform/Makefile
sysdeps/x86_64/memrchr.S