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.
This commit is contained in:
parent
9a44d530c4
commit
380292ba8b
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
|||||||
2014-12-16 Joseph Myers <joseph@codesourcery.com>
|
2014-12-16 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
[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.
|
||||||
|
|
||||||
[BZ #17717]
|
[BZ #17717]
|
||||||
* inet/if_index.c (if_nametoindex): Rename to __if_nametoindex and
|
* inet/if_index.c (if_nametoindex): Rename to __if_nametoindex and
|
||||||
define as weak alias of __if_nametoindex. Use libc_hidden_weak.
|
define as weak alias of __if_nametoindex. Use libc_hidden_weak.
|
||||||
|
2
NEWS
2
NEWS
@ -14,7 +14,7 @@ Version 2.21
|
|||||||
17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
|
17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
|
||||||
17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
|
17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
|
||||||
17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17630, 17633,
|
17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17630, 17633,
|
||||||
17634, 17647, 17653, 17657, 17664, 17665, 17668, 17682, 17717.
|
17634, 17647, 17653, 17657, 17664, 17665, 17668, 17682, 17717, 17719.
|
||||||
|
|
||||||
* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
|
* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
|
||||||
under certain input conditions resulting in the execution of a shell for
|
under certain input conditions resulting in the execution of a shell for
|
||||||
|
@ -359,7 +359,6 @@ test-xfail-XPG4/ctype.h/linknamespace = yes
|
|||||||
test-xfail-XPG4/fmtmsg.h/linknamespace = yes
|
test-xfail-XPG4/fmtmsg.h/linknamespace = yes
|
||||||
test-xfail-XPG4/fnmatch.h/linknamespace = yes
|
test-xfail-XPG4/fnmatch.h/linknamespace = yes
|
||||||
test-xfail-XPG4/glob.h/linknamespace = yes
|
test-xfail-XPG4/glob.h/linknamespace = yes
|
||||||
test-xfail-XPG4/libgen.h/linknamespace = yes
|
|
||||||
test-xfail-XPG4/netdb.h/linknamespace = yes
|
test-xfail-XPG4/netdb.h/linknamespace = yes
|
||||||
test-xfail-XPG4/regex.h/linknamespace = yes
|
test-xfail-XPG4/regex.h/linknamespace = yes
|
||||||
test-xfail-XPG4/search.h/linknamespace = yes
|
test-xfail-XPG4/search.h/linknamespace = yes
|
||||||
@ -383,7 +382,6 @@ test-xfail-UNIX98/ctype.h/linknamespace = yes
|
|||||||
test-xfail-UNIX98/fmtmsg.h/linknamespace = yes
|
test-xfail-UNIX98/fmtmsg.h/linknamespace = yes
|
||||||
test-xfail-UNIX98/fnmatch.h/linknamespace = yes
|
test-xfail-UNIX98/fnmatch.h/linknamespace = yes
|
||||||
test-xfail-UNIX98/glob.h/linknamespace = yes
|
test-xfail-UNIX98/glob.h/linknamespace = yes
|
||||||
test-xfail-UNIX98/libgen.h/linknamespace = yes
|
|
||||||
test-xfail-UNIX98/mqueue.h/linknamespace = yes
|
test-xfail-UNIX98/mqueue.h/linknamespace = yes
|
||||||
test-xfail-UNIX98/netdb.h/linknamespace = yes
|
test-xfail-UNIX98/netdb.h/linknamespace = yes
|
||||||
test-xfail-UNIX98/regex.h/linknamespace = yes
|
test-xfail-UNIX98/regex.h/linknamespace = yes
|
||||||
@ -398,7 +396,6 @@ test-xfail-XOPEN2K/fcntl.h/linknamespace = yes
|
|||||||
test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes
|
test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K/fnmatch.h/linknamespace = yes
|
test-xfail-XOPEN2K/fnmatch.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K/glob.h/linknamespace = yes
|
test-xfail-XOPEN2K/glob.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K/libgen.h/linknamespace = yes
|
|
||||||
test-xfail-XOPEN2K/mqueue.h/linknamespace = yes
|
test-xfail-XOPEN2K/mqueue.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K/netdb.h/linknamespace = yes
|
test-xfail-XOPEN2K/netdb.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K/regex.h/linknamespace = yes
|
test-xfail-XOPEN2K/regex.h/linknamespace = yes
|
||||||
@ -425,7 +422,6 @@ test-xfail-XOPEN2K8/dirent.h/linknamespace = yes
|
|||||||
test-xfail-XOPEN2K8/fcntl.h/linknamespace = yes
|
test-xfail-XOPEN2K8/fcntl.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
|
test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K8/grp.h/linknamespace = yes
|
test-xfail-XOPEN2K8/grp.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K8/libgen.h/linknamespace = yes
|
|
||||||
test-xfail-XOPEN2K8/mqueue.h/linknamespace = yes
|
test-xfail-XOPEN2K8/mqueue.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K8/netdb.h/linknamespace = yes
|
test-xfail-XOPEN2K8/netdb.h/linknamespace = yes
|
||||||
test-xfail-XOPEN2K8/pwd.h/linknamespace = yes
|
test-xfail-XOPEN2K8/pwd.h/linknamespace = yes
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
|
||||||
.text
|
.text
|
||||||
ENTRY (memrchr)
|
ENTRY (__memrchr)
|
||||||
movd %rsi, %xmm1
|
movd %rsi, %xmm1
|
||||||
|
|
||||||
sub $16, %rdx
|
sub $16, %rdx
|
||||||
@ -378,5 +378,5 @@ L(length_less16_part2_return):
|
|||||||
lea 16(%rax, %rdi), %rax
|
lea 16(%rax, %rdi), %rax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
END (memrchr)
|
END (__memrchr)
|
||||||
strong_alias (memrchr, __memrchr)
|
weak_alias (__memrchr, memrchr)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user