[10/26] Linux: Clean up pread64/pwrite64 system call names
Commit Message
Linux removed the last definitions of __NR_pread and __NR_pwrite
in commit 4ba66a9760722ccbb691b8f7116cad2f791cca7b, the removal
of the blackfin port. All architectures now define __NR_pread64 and
__NR_pwrite64 only.
---
sysdeps/unix/sysv/linux/generic/sysdep.h | 8 --------
sysdeps/unix/sysv/linux/pread.c | 6 +-----
sysdeps/unix/sysv/linux/pread64.c | 4 ----
sysdeps/unix/sysv/linux/pread64_nocancel.c | 4 ----
sysdeps/unix/sysv/linux/pwrite.c | 6 +-----
sysdeps/unix/sysv/linux/pwrite64.c | 4 ----
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h | 11 -----------
7 files changed, 2 insertions(+), 41 deletions(-)
Comments
On 09/02/2020 17:20, Florian Weimer wrote:
> Linux removed the last definitions of __NR_pread and __NR_pwrite
> in commit 4ba66a9760722ccbb691b8f7116cad2f791cca7b, the removal
> of the blackfin port. All architectures now define __NR_pread64 and
> __NR_pwrite64 only.
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> sysdeps/unix/sysv/linux/generic/sysdep.h | 8 --------
> sysdeps/unix/sysv/linux/pread.c | 6 +-----
> sysdeps/unix/sysv/linux/pread64.c | 4 ----
> sysdeps/unix/sysv/linux/pread64_nocancel.c | 4 ----
> sysdeps/unix/sysv/linux/pwrite.c | 6 +-----
> sysdeps/unix/sysv/linux/pwrite64.c | 4 ----
> sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h | 11 -----------
> 7 files changed, 2 insertions(+), 41 deletions(-)
>
> diff --git a/sysdeps/unix/sysv/linux/generic/sysdep.h b/sysdeps/unix/sysv/linux/generic/sysdep.h
> index 23defce7c3..40b4b955ca 100644
> --- a/sysdeps/unix/sysv/linux/generic/sysdep.h
> +++ b/sysdeps/unix/sysv/linux/generic/sysdep.h
> @@ -25,11 +25,3 @@
> #ifdef __NR_llseek
> # define __NR__llseek __NR_llseek
> #endif
> -
> -#if __WORDSIZE == 64
> -/* By defining the older names, glibc will build syscall wrappers for
> - both pread and pread64; sysdeps/unix/sysv/linux/wordsize-64/pread64.c
> - will suppress generating any separate code for pread64.c. */
> -#define __NR_pread __NR_pread64
> -#define __NR_pwrite __NR_pwrite64
> -#endif
Ok.
> diff --git a/sysdeps/unix/sysv/linux/pread.c b/sysdeps/unix/sysv/linux/pread.c
> index 7a09affd34..8dd87b3976 100644
> --- a/sysdeps/unix/sysv/linux/pread.c
> +++ b/sysdeps/unix/sysv/linux/pread.c
> @@ -21,14 +21,10 @@
>
> #ifndef __OFF_T_MATCHES_OFF64_T
>
> -# ifndef __NR_pread
> -# define __NR_pread __NR_pread64
> -# endif
> -
> ssize_t
> __libc_pread (int fd, void *buf, size_t count, off_t offset)
> {
> - return SYSCALL_CANCEL (pread, fd, buf, count, SYSCALL_LL_PRW (offset));
> + return SYSCALL_CANCEL (pread64, fd, buf, count, SYSCALL_LL_PRW (offset));
> }
>
> strong_alias (__libc_pread, __pread)
Ok.
> diff --git a/sysdeps/unix/sysv/linux/pread64.c b/sysdeps/unix/sysv/linux/pread64.c
> index a7f907186b..3d4ffbafc1 100644
> --- a/sysdeps/unix/sysv/linux/pread64.c
> +++ b/sysdeps/unix/sysv/linux/pread64.c
> @@ -19,10 +19,6 @@
> #include <unistd.h>
> #include <sysdep-cancel.h>
>
> -#ifndef __NR_pread64
> -# define __NR_pread64 __NR_pread
> -#endif
> -
> ssize_t
> __libc_pread64 (int fd, void *buf, size_t count, off64_t offset)
> {
Ok.
> diff --git a/sysdeps/unix/sysv/linux/pread64_nocancel.c b/sysdeps/unix/sysv/linux/pread64_nocancel.c
> index 2eb6873e66..af33985959 100644
> --- a/sysdeps/unix/sysv/linux/pread64_nocancel.c
> +++ b/sysdeps/unix/sysv/linux/pread64_nocancel.c
> @@ -20,10 +20,6 @@
> #include <sysdep-cancel.h>
> #include <not-cancel.h>
>
> -#ifndef __NR_pread64
> -# define __NR_pread64 __NR_pread
> -#endif
> -
> ssize_t
> __pread64_nocancel (int fd, void *buf, size_t count, off64_t offset)
> {
Ok.
> diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c
> index 5ef208e885..17964686e5 100644
> --- a/sysdeps/unix/sysv/linux/pwrite.c
> +++ b/sysdeps/unix/sysv/linux/pwrite.c
> @@ -21,14 +21,10 @@
>
> #ifndef __OFF_T_MATCHES_OFF64_T
>
> -# ifndef __NR_pwrite
> -# define __NR_pwrite __NR_pwrite64
> -# endif
> -
> ssize_t
> __libc_pwrite (int fd, const void *buf, size_t count, off_t offset)
> {
> - return SYSCALL_CANCEL (pwrite, fd, buf, count, SYSCALL_LL_PRW (offset));
> + return SYSCALL_CANCEL (pwrite64, fd, buf, count, SYSCALL_LL_PRW (offset));
> }
>
> strong_alias (__libc_pwrite, __pwrite)
Ok.
> diff --git a/sysdeps/unix/sysv/linux/pwrite64.c b/sysdeps/unix/sysv/linux/pwrite64.c
> index 632f001f5b..709775c207 100644
> --- a/sysdeps/unix/sysv/linux/pwrite64.c
> +++ b/sysdeps/unix/sysv/linux/pwrite64.c
> @@ -19,10 +19,6 @@
> #include <unistd.h>
> #include <sysdep-cancel.h>
>
> -#ifndef __NR_pwrite64
> -# define __NR_pwrite64 __NR_pwrite
> -#endif
> -
> ssize_t
> __libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
> {
Ok.
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
> index 9ff4479dc3..cec1326662 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
> @@ -39,17 +39,6 @@
> /* In newer 2.1 kernels __NR_syscall is missing so we define it here. */
> #define __NR_syscall 0
>
> -/*
> - * Newer kernel versions redefined __NR_pread and __NR_pwrite to
> - * __NR_pread64 and __NR_pwrite64.
> - */
> -#ifndef __NR_pread
> -# define __NR_pread __NR_pread64
> -#endif
> -#ifndef __NR_pwrite
> -# define __NR_pwrite __NR_pwrite64
> -#endif
> -
> #undef SYS_ify
> #define SYS_ify(syscall_name) __NR_##syscall_name
>
>
Ok (although patch does not apply cleanly with recent s390-64 sysdep.h
changes).
@@ -25,11 +25,3 @@
#ifdef __NR_llseek
# define __NR__llseek __NR_llseek
#endif
-
-#if __WORDSIZE == 64
-/* By defining the older names, glibc will build syscall wrappers for
- both pread and pread64; sysdeps/unix/sysv/linux/wordsize-64/pread64.c
- will suppress generating any separate code for pread64.c. */
-#define __NR_pread __NR_pread64
-#define __NR_pwrite __NR_pwrite64
-#endif
@@ -21,14 +21,10 @@
#ifndef __OFF_T_MATCHES_OFF64_T
-# ifndef __NR_pread
-# define __NR_pread __NR_pread64
-# endif
-
ssize_t
__libc_pread (int fd, void *buf, size_t count, off_t offset)
{
- return SYSCALL_CANCEL (pread, fd, buf, count, SYSCALL_LL_PRW (offset));
+ return SYSCALL_CANCEL (pread64, fd, buf, count, SYSCALL_LL_PRW (offset));
}
strong_alias (__libc_pread, __pread)
@@ -19,10 +19,6 @@
#include <unistd.h>
#include <sysdep-cancel.h>
-#ifndef __NR_pread64
-# define __NR_pread64 __NR_pread
-#endif
-
ssize_t
__libc_pread64 (int fd, void *buf, size_t count, off64_t offset)
{
@@ -20,10 +20,6 @@
#include <sysdep-cancel.h>
#include <not-cancel.h>
-#ifndef __NR_pread64
-# define __NR_pread64 __NR_pread
-#endif
-
ssize_t
__pread64_nocancel (int fd, void *buf, size_t count, off64_t offset)
{
@@ -21,14 +21,10 @@
#ifndef __OFF_T_MATCHES_OFF64_T
-# ifndef __NR_pwrite
-# define __NR_pwrite __NR_pwrite64
-# endif
-
ssize_t
__libc_pwrite (int fd, const void *buf, size_t count, off_t offset)
{
- return SYSCALL_CANCEL (pwrite, fd, buf, count, SYSCALL_LL_PRW (offset));
+ return SYSCALL_CANCEL (pwrite64, fd, buf, count, SYSCALL_LL_PRW (offset));
}
strong_alias (__libc_pwrite, __pwrite)
@@ -19,10 +19,6 @@
#include <unistd.h>
#include <sysdep-cancel.h>
-#ifndef __NR_pwrite64
-# define __NR_pwrite64 __NR_pwrite
-#endif
-
ssize_t
__libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
{
@@ -39,17 +39,6 @@
/* In newer 2.1 kernels __NR_syscall is missing so we define it here. */
#define __NR_syscall 0
-/*
- * Newer kernel versions redefined __NR_pread and __NR_pwrite to
- * __NR_pread64 and __NR_pwrite64.
- */
-#ifndef __NR_pread
-# define __NR_pread __NR_pread64
-#endif
-#ifndef __NR_pwrite
-# define __NR_pwrite __NR_pwrite64
-#endif
-
#undef SYS_ify
#define SYS_ify(syscall_name) __NR_##syscall_name