about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/make-syscalls.sh2
-rw-r--r--sysdeps/unix/sysv/linux/lseek64.c11
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/llseek.S1
4 files changed, 7 insertions, 9 deletions
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 874ad691cd..e39b2d6d52 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -103,7 +103,7 @@ emit_weak_aliases()
 	fi
 	echo "	 echo 'versioned_symbol (libc, $source, $base, $ver)'; \\"
 	echo "	 echo '#else'; \\"
-	echo "	 echo 'strong_alias ($strong, $base)'; \\"
+	echo "	 echo 'weak_alias ($strong, $base)'; \\"
 	echo "	 echo '#endif'; \\"
 	;;
       *@*)
diff --git a/sysdeps/unix/sysv/linux/lseek64.c b/sysdeps/unix/sysv/linux/lseek64.c
index 504d008782..2ad6a610c8 100644
--- a/sysdeps/unix/sysv/linux/lseek64.c
+++ b/sysdeps/unix/sysv/linux/lseek64.c
@@ -21,6 +21,7 @@
 #include <sys/types.h>
 #include <sysdep.h>
 #include <errno.h>
+#include <shlib-compat.h>
 
 off64_t
 __lseek64 (int fd, off64_t offset, int whence)
@@ -46,9 +47,7 @@ libc_hidden_def (__lseek)
 strong_alias (__lseek64, __libc_lseek64)
 weak_alias (__lseek64, lseek64)
 
-/* llseek doesn't have a prototype.  Since the second parameter is a
-   64bit type, this results in wrong behaviour if no prototype is
-   provided.  */
-weak_alias (__lseek64, llseek)
-link_warning (llseek, "\
-the `llseek' function may be dangerous; use `lseek64' instead.")
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_28)
+strong_alias (__lseek64, __compat_llseek)
+compat_symbol (libc, __compat_llseek, llseek, GLIBC_2_0);
+#endif
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
index 33d968fe0a..9e6a584685 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
@@ -2,7 +2,7 @@
 
 # C syscall macros cannot be used because this syscall has a 64-bit
 # return value.
-lseek64		-	lseek		i:iii	__lseek64	__libc_lseek64 lseek64 llseek
+lseek64		-	lseek		i:iii	__lseek64	__libc_lseek64 lseek64@@GLIBC_2.2 llseek@GLIBC_2.0:GLIBC_2.28
 
 prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
 
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S b/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S
deleted file mode 100644
index 5084d0ebd2..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S
+++ /dev/null
@@ -1 +0,0 @@
-/* No llseek for x32.  */