aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-01-05 14:37:07 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-01-05 14:37:07 +0000
commita287953a45b0759ce08349a299a458c89b7d8276 (patch)
treefbba74ac7d798ce064330f5a6ddcdab4d55be8cf
parentb1efe3bbcfd94941556ffd5b60539207023c8224 (diff)
downloadglibc-a287953a45b0759ce08349a299a458c89b7d8276.zip
glibc-a287953a45b0759ce08349a299a458c89b7d8276.tar.gz
glibc-a287953a45b0759ce08349a299a458c89b7d8276.tar.bz2
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.
-rw-r--r--ChangeLog15
-rw-r--r--NEWS2
-rw-r--r--conform/Makefile6
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c2
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c2
5 files changed, 18 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index e460e9b..01b3832 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2015-01-05 Joseph Myers <joseph@codesourcery.com>
+
+ [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 <matthew.fortune@imgtec.com>
[BZ #16191]
diff --git a/NEWS b/NEWS
index fd00cac..56d739e 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 1cae510..0c21c28 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 95f5982..40253d7 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 11a54c3..ecc6505 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)