summary refs log tree commit diff
path: root/sysdeps/unix
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 /sysdeps/unix
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.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c2
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c2
2 files changed, 2 insertions, 2 deletions
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)