about summary refs log tree commit diff
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.tar.gz
glibc-a287953a45b0759ce08349a299a458c89b7d8276.tar.xz
glibc-a287953a45b0759ce08349a299a458c89b7d8276.zip
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 e460e9b984..01b3832ef3 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 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)