glibc/sysdeps/unix/sysv/linux/wordsize-64
Adhemerval Zanella d4d8a12960 Consolidate Linux truncate implementations
This patch consolidates all Linux truncate implementation on
sysdeps/unix/sysv/linux/truncate{64}.c.  It is based on
{INTERNAL,INLINE}_SYSCALL patch [1] to simplify the syscall
construction.

General idea is to build ftruncate iff __OFF_T_MATCHES_OFF64_T is not
defined, otherwise ftruncate64 will be build and ftruncate will be an
alias.  The fallocate will use old compat syscall and pass 32-bit off_t
argument, while fallocate64 will handle the correct off64_t passing using
__ALIGNMENT_ARG and SYSCALL_LL64 macros.

Tested on x86_64, i386, aarch64, and armhf.

	* sysdeps/unix/sysv/linux/arm/truncate64.c: Remove file.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/truncate.c: Likewise.
	* sysdeps/sysv/linux/generic/wordsize-32/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/wordsize-64/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/truncate.c: New file.
	* sysdeps/unix/sysv/linux/truncate64.c (truncate64): Use
	INLINE_SYSCALL_CALL, __ALIGNMENT_ARG and SYSCALL_LL64 macros.
	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list (truncate):
	Remove.
	* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list (truncate):
	Likewise.

[1] https://sourceware.org/ml/libc-alpha/2016-08/msg00646.html
2016-11-09 17:46:17 -02:00
..
aio_read64.c
aio_read.c
aio_write64.c
aio_write.c
creat64.c
dl-fxstatat64.c Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/. 2014-06-20 15:41:35 +00:00
fstatfs64.c
fstatvfs64.c
fstatvfs.c Fix pathconf statvfs namespace (bug 18507). 2015-06-09 19:52:01 +00:00
fxstat64.c
fxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fxstatat64.c
fxstatat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdents64.c
getdents.c
getdirentries64.c
getdirentries.c
getrlimit64.c
glob64.c Fix glob64 broken by cleanup. 2013-05-06 17:11:12 -07:00
internal_statvfs64.c
lio_listio64.c
lio_listio.c
lxstat64.c
lxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mmap64.c
mmap.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
open64.c
openat64.c
openat.c Remove unused definition of __openat(64)_nocancel 2015-08-11 09:37:38 +02:00
readdir64_r.c
readdir64.c
readdir_r.c CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r 2013-08-16 09:40:34 +02:00
readdir.c
sendfile64.c
setrlimit64.c
statfs64.c
statvfs64.c
statvfs.c Fix pathconf statvfs namespace (bug 18507). 2015-06-09 19:52:01 +00:00
syscalls.list Consolidate Linux truncate implementations 2016-11-09 17:46:17 -02:00
Versions
xstat64.c
xstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00