Message ID | alpine.DEB.2.10.1412161815590.15637@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
On Tue, Dec 16, 2014 at 10:16 AM, Joseph Myers <joseph@codesourcery.com> wrote: > 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). > > 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. > > diff --git a/conform/Makefile b/conform/Makefile > index e0412de..45a17fb 100644 > --- a/conform/Makefile > +++ b/conform/Makefile > @@ -359,7 +359,6 @@ test-xfail-XPG4/ctype.h/linknamespace = yes > test-xfail-XPG4/fmtmsg.h/linknamespace = yes > test-xfail-XPG4/fnmatch.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/regex.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/fnmatch.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/netdb.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/fnmatch.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/netdb.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/fmtmsg.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/netdb.h/linknamespace = yes > test-xfail-XOPEN2K8/pwd.h/linknamespace = yes > diff --git a/sysdeps/x86_64/memrchr.S b/sysdeps/x86_64/memrchr.S > index ff875f4..3b558b5 100644 > --- a/sysdeps/x86_64/memrchr.S > +++ b/sysdeps/x86_64/memrchr.S > @@ -21,7 +21,7 @@ > #include <sysdep.h> > > .text > -ENTRY (memrchr) > +ENTRY (__memrchr) > movd %rsi, %xmm1 > > sub $16, %rdx > @@ -378,5 +378,5 @@ L(length_less16_part2_return): > lea 16(%rax, %rdi), %rax > ret > > -END (memrchr) > -strong_alias (memrchr, __memrchr) > +END (__memrchr) > +weak_alias (__memrchr, memrchr) > > -- > Joseph S. Myers > joseph@codesourcery.com Looks good to me. Thanks.
OK
diff --git a/conform/Makefile b/conform/Makefile index e0412de..45a17fb 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -359,7 +359,6 @@ test-xfail-XPG4/ctype.h/linknamespace = yes test-xfail-XPG4/fmtmsg.h/linknamespace = yes test-xfail-XPG4/fnmatch.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/regex.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/fnmatch.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/netdb.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/fnmatch.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/netdb.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/fmtmsg.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/netdb.h/linknamespace = yes test-xfail-XOPEN2K8/pwd.h/linknamespace = yes diff --git a/sysdeps/x86_64/memrchr.S b/sysdeps/x86_64/memrchr.S index ff875f4..3b558b5 100644 --- a/sysdeps/x86_64/memrchr.S +++ b/sysdeps/x86_64/memrchr.S @@ -21,7 +21,7 @@ #include <sysdep.h> .text -ENTRY (memrchr) +ENTRY (__memrchr) movd %rsi, %xmm1 sub $16, %rdx @@ -378,5 +378,5 @@ L(length_less16_part2_return): lea 16(%rax, %rdi), %rax ret -END (memrchr) -strong_alias (memrchr, __memrchr) +END (__memrchr) +weak_alias (__memrchr, memrchr)