about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-01-05 18:02:31 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-01-05 18:02:31 +0000
commitac4c11f580fde4cd18ebbd6533deab0d18445db0 (patch)
tree17e91ab178845083eaf16f87ef38f50c13636659
parent03403e3061d33048e287cf712627001e6784dcb4 (diff)
downloadglibc-ac4c11f580fde4cd18ebbd6533deab0d18445db0.tar.gz
glibc-ac4c11f580fde4cd18ebbd6533deab0d18445db0.tar.xz
glibc-ac4c11f580fde4cd18ebbd6533deab0d18445db0.zip
Fix MIPS n64 posix_fadvise namespace (bug 17796).
sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c defines
posix_fadvise64 as a strong alias for posix_fadvise (for
!SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3) - i.e., for static
linking, which is the case when this matters), but it should be a weak
alias.  This patch makes it a weak alias.

Tested for MIPS that this fixes the observed linknamespace test
failures.

	[BZ #17796]
	* sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
	[!SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)] (posix_fadvise64):
	Define as weak alias not strong alias.
-rw-r--r--ChangeLog7
-rw-r--r--NEWS2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4aa2e4b9a5..4674e7215c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-01-05  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17796]
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
+	[!SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)] (posix_fadvise64):
+	Define as weak alias not strong alias.
+
 2015-01-05  Steve Ellcey  <sellcey@imgtec.com>
 
 	* sysdeps/mips/dl-machine.h (elf_machine_load_address): Replace
diff --git a/NEWS b/NEWS
index f18ace18b8..63918df4b3 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,7 @@ Version 2.21
   17583, 17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17630,
   17633, 17634, 17635, 17647, 17653, 17657, 17664, 17665, 17668, 17682,
   17717, 17719, 17722, 17723, 17724, 17725, 17732, 17733, 17744, 17745,
-  17746, 17747, 17775, 17777, 17780, 17781, 17782, 17793
+  17746, 17747, 17775, 17777, 17780, 17781, 17782, 17793, 17796
 
 * i386 memcpy functions optimized with SSE2 unaligned load/store.
 
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
index 3b5daf15a0..9687e34c7a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c
@@ -46,5 +46,5 @@ compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2);
 strong_alias (posix_fadvise, __posix_fadvise64_l64);
 versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3);
 #else
-strong_alias (posix_fadvise, posix_fadvise64);
+weak_alias (posix_fadvise, posix_fadvise64);
 #endif