diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/make-syscalls.sh | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/lseek64.c | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/x32/llseek.S | 1 |
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. */ |