]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix x86_64 memrchr namespace (bug 17719).
authorJoseph Myers <joseph@codesourcery.com>
Tue, 16 Dec 2014 18:31:31 +0000 (18:31 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 16 Dec 2014 18:31:31 +0000 (18:31 +0000)
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

index eb60f80606a062e6136048612e731ae7e1789ee2..76a9849e7742691157abe25897fd846f7758e6d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 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]
        * inet/if_index.c (if_nametoindex): Rename to __if_nametoindex and
        define as weak alias of __if_nametoindex.  Use libc_hidden_weak.
diff --git a/NEWS b/NEWS
index 443475980adad050a62fe3363471990c8cd8108a..c46f51ade3659d496267edf2f475bc6f51b4bce8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -14,7 +14,7 @@ Version 2.21
   17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
   17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
   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
   under certain input conditions resulting in the execution of a shell for
index e0412de1a482231b32ed3a072ffec5bd75d5aa8b..45a17fb525f4809528bbf7e38be4a40c3b7db4ff 100644 (file)
@@ -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
index ff875f44ab9e39e383d88b20ec2380eb630b2737..3b558b54c4b8b064d0efb9f48d2d885809f0c463 100644 (file)
@@ -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)