Consolidate pwrite/pwrite64 implementations
commit071af4769fcdfe2cd349157b01f27c9571478ace
authorAdhemerval Zanella <adhemerval.zanella@linaro.com>
Fri, 23 Oct 2015 12:59:32 +0000 (23 10:59 -0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 11 Apr 2016 13:08:01 +0000 (11 10:08 -0300)
treeae400fe4325a3888e8ee4c124c49fbe262e143fa
parent77a4fbd53611720cd6ae845de560df5dd332b28e
Consolidate pwrite/pwrite64 implementations

This patch consolidates all the pwrite/pwrite64 implementation for Linux
in only one (sysdeps/unix/sysv/linux/pwrite{64}.c).  It also removes the
syscall from the auto-generation using assembly macros.

For pwrite{64} offset argument placement the new SYSCALL_LL{64} macro
is used.  For pwrite ports that do not define __NR_pwrite will use
__NR_pwrite64 and for pwrite64 ports that dot define __NR_pwrite64 will
use __NR_pwrite for the syscall.

Checked on x86_64, x32, i386, aarch64, and ppc64le.

* sysdeps/unix/sysv/linux/arm/pwrite.c: Remove file.
* sysdeps/unix/sysv/linux/arm/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list (prite): Remove
syscalls generation.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
[__NR_pwrite64] (__NR_write): Remove define.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
[__NR_pwrite64] (__NR_write): Remove define.
* sysdeps/unix/sysv/linux/pwrite.c [__NR_pwrite64] (__NR_pwrite):
Remove define.
(__libc_pwrite): Use SYSCALL_LL macro on offset argument.
* sysdeps/unix/sysv/linux/pwrite64.c [__NR_pwrite64] (__NR_pwrite):
Remove define.
(__libc_pwrite64): Use SYSCALL_LL64 macro on offset argument.
* sysdeps/unix/sysv/linux/sh/pwrite.c: Rewrite using default
Linux implementation as base.
* sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
15 files changed:
ChangeLog
sysdeps/unix/sysv/linux/arm/pwrite.c [deleted file]
sysdeps/unix/sysv/linux/arm/pwrite64.c [deleted file]
sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c [deleted file]
sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c [deleted file]
sysdeps/unix/sysv/linux/mips/pwrite.c [deleted file]
sysdeps/unix/sysv/linux/mips/pwrite64.c [deleted file]
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
sysdeps/unix/sysv/linux/pwrite.c
sysdeps/unix/sysv/linux/pwrite64.c
sysdeps/unix/sysv/linux/sh/pwrite.c [moved from sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c with 67% similarity]
sysdeps/unix/sysv/linux/sh/pwrite64.c [moved from sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c with 60% similarity]
sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c [deleted file]
sysdeps/unix/sysv/linux/wordsize-64/syscalls.list