From a287953a45b0759ce08349a299a458c89b7d8276 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 5 Jan 2015 14:37:07 +0000 Subject: [PATCH] Fix wordsize-64 posix_fadvise64, posix_fallocate64 namespace (bug 17777). On systems using sysdeps/unix/sysv/linux/wordsize-64, posix_fadvise64 and posix_fallocate64 (non-POSIX) are strong aliases for posix_fadvise and posix_fallocate (POSIX), meaning references to the latter wrongly bring in definitions of the former. They should be weak aliases; this patch makes them so. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #17777] * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c (posix_fadvise64): Define as weak alias not strong alias. * sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c (posix_fallocate64): Likewise. * conform/Makefile (test-xfail-XOPEN2K/fcntl.h/linknamespace): Remove variable. (test-xfail-XOPEN2K/mqueue.h/linknamespace): Likewise. (test-xfail-POSIX2008/fcntl.h/linknamespace): Likewise. (test-xfail-POSIX2008/mqueue.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/fcntl.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/mqueue.h/linknamespace): Likewise. --- ChangeLog | 15 +++++++++++++++ NEWS | 2 +- conform/Makefile | 6 ------ .../unix/sysv/linux/wordsize-64/posix_fadvise.c | 2 +- .../unix/sysv/linux/wordsize-64/posix_fallocate.c | 2 +- 5 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index e460e9b984..01b3832ef3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2015-01-05 Joseph Myers + + [BZ #17777] + * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c + (posix_fadvise64): Define as weak alias not strong alias. + * sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c + (posix_fallocate64): Likewise. + * conform/Makefile (test-xfail-XOPEN2K/fcntl.h/linknamespace): + Remove variable. + (test-xfail-XOPEN2K/mqueue.h/linknamespace): Likewise. + (test-xfail-POSIX2008/fcntl.h/linknamespace): Likewise. + (test-xfail-POSIX2008/mqueue.h/linknamespace): Likewise. + (test-xfail-XOPEN2K8/fcntl.h/linknamespace): Likewise. + (test-xfail-XOPEN2K8/mqueue.h/linknamespace): Likewise. + 2015-01-05 Matthew Fortune [BZ #16191] diff --git a/NEWS b/NEWS index fd00cac35a..56d739ee5d 100644 --- a/NEWS +++ b/NEWS @@ -16,7 +16,7 @@ Version 2.21 17583, 17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17630, 17633, 17634, 17647, 17653, 17657, 17664, 17665, 17668, 17682, 17717, 17719, 17722, 17723, 17724, 17725, 17732, 17733, 17744, 17745, 17746, - 17747, 17775, 17780, 17781, 17782 + 17747, 17775, 17777, 17780, 17781, 17782 * i386 memcpy functions optimized with SSE2 unaligned load/store. diff --git a/conform/Makefile b/conform/Makefile index 1cae510055..0c21c28df3 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -389,11 +389,9 @@ test-xfail-UNIX98/syslog.h/linknamespace = yes test-xfail-UNIX98/unistd.h/linknamespace = yes test-xfail-UNIX98/wchar.h/linknamespace = yes test-xfail-UNIX98/wordexp.h/linknamespace = yes -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/mqueue.h/linknamespace = yes test-xfail-XOPEN2K/netdb.h/linknamespace = yes test-xfail-XOPEN2K/regex.h/linknamespace = yes test-xfail-XOPEN2K/search.h/linknamespace = yes @@ -407,19 +405,15 @@ test-xfail-XOPEN2K/unistd.h/linknamespace = yes test-xfail-XOPEN2K/wordexp.h/linknamespace = yes test-xfail-POSIX2008/ctype.h/linknamespace = yes test-xfail-POSIX2008/dirent.h/linknamespace = yes -test-xfail-POSIX2008/fcntl.h/linknamespace = yes test-xfail-POSIX2008/grp.h/linknamespace = yes -test-xfail-POSIX2008/mqueue.h/linknamespace = yes test-xfail-POSIX2008/netdb.h/linknamespace = yes test-xfail-POSIX2008/regex.h/linknamespace = yes test-xfail-POSIX2008/semaphore.h/linknamespace = yes test-xfail-POSIX2008/spawn.h/linknamespace = yes test-xfail-POSIX2008/unistd.h/linknamespace = yes 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/mqueue.h/linknamespace = yes test-xfail-XOPEN2K8/netdb.h/linknamespace = yes test-xfail-XOPEN2K8/pwd.h/linknamespace = yes test-xfail-XOPEN2K8/regex.h/linknamespace = yes diff --git a/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c index 95f598286a..40253d75dd 100644 --- a/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c @@ -37,4 +37,4 @@ posix_fadvise (int fd, off_t offset, off_t len, int advise) return ENOSYS; #endif } -strong_alias (posix_fadvise, posix_fadvise64) +weak_alias (posix_fadvise, posix_fadvise64) diff --git a/sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c b/sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c index 11a54c36cb..ecc6505014 100644 --- a/sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c @@ -61,4 +61,4 @@ posix_fallocate (int fd, __off_t offset, __off_t len) return internal_fallocate (fd, offset, len); } -strong_alias (posix_fallocate, posix_fallocate64) +weak_alias (posix_fallocate, posix_fallocate64) -- 2.43.5