glibc/io
Adhemerval Zanella e442e40de5 io: Consolidate lockf implementation
With internal fcntl64 internal (commit 06ab719d), it is possible to
consolidate lockf implementation by using the LFS fcntl interface
instead of using arch and system-specific implementations.

For Linux, the i386 implementation is used as generic implementation
by replacing the direct syscall with fcntl64 call.  The LFS symbol
alias for default LFS ABI (__OFF_T_MATCHES_OFF64_T) is used to avoid
the duplicate symbol (instead of overriding the implementation with an
empty file).

For Hurd lockf64 semantic is changed: previous generic lockf64
implementation returned EOVERFLOW if LEN input is larger than 32-bit
off_t.  However, Hurd fcntl64 implementation for F_GETLK64, F_SETLK64,
and F_SETLKW64 do accept off64_t inputs (__f_setlk accepts only off64_t
inputs).

Checked on i686-linux-gnu and x86_64-linux-gnu along with a i686-gnu
build.

	* io/Makefile (tests): Add tst-lockf.
	* io/lockf.c (lockf): Use __fcntl and only define for
	!__OFF_T_MATCHES_OFF64_T.
	* io/lockf64.c (__lockf64): Call __fcntl64 and alias to lockf for
	__OFF_T_MATCHES_OFF64_T case.
	* io/tst-lockf.c: New file.
	* sysdeps/unix/sysv/linux/i386/lockf64.c: Remove file.
	* sysdeps/unix/sysv/linux/arm/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/m68k/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c: Likewise.
2019-02-15 18:45:39 -02:00
..
bits Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sys Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
access.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
bug-ftw1.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
bug-ftw2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
bug-ftw3.c
bug-ftw4.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
bug-ftw5.c
chdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
chmod.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
chown.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
close.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
copy_file_range-compat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
copy_file_range.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
creat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
creat.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
dup2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dup3.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dup.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
euidaccess.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
faccessat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fchdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fchmod.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fchmodat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fchown.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fchownat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fcntl64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fcntl.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fcntl.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
flock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstatat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstatat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstatfs64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstatfs.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstatvfs64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstatvfs.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fts64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fts.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fts.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftw64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftw.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftw.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftwtest-sh Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftwtest.c
futimens.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fxstat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fxstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fxstatat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fxstatat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getcwd.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getdirname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getwd.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
isatty.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lchmod.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lchown.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
link.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
linkat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lockf64.c io: Consolidate lockf implementation 2019-02-15 18:45:39 -02:00
lockf.c io: Consolidate lockf implementation 2019-02-15 18:45:39 -02:00
lseek64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lseek.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lstat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lxstat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Makefile io: Consolidate lockf implementation 2019-02-15 18:45:39 -02:00
mkdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkdirat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkfifo.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkfifoat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mknod.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mknodat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
open64_2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
open64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
open_2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
open.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
openat64_2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
openat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
openat_2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
openat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pipe2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pipe.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
poll.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
poll.h
posix_fadvise64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
posix_fadvise.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
posix_fallocate64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
posix_fallocate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ppoll.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
pwd.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
read.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readlinkat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
rmdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sendfile64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sendfile.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
stat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
stat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
statfs64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
statfs.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
statvfs64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
statvfs.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
statx_generic.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
statx.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
symlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
symlinkat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
test-lfs.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
test-stat2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
test-stat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
test-utime.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-copy_file_range-compat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-copy_file_range.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-faccessat.c
tst-fchmodat.c
tst-fchownat.c Revert "hurd: Fix building io/tst-fchownat.c" 2018-01-28 19:13:20 +01:00
tst-fcntl.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-fstatat.c
tst-fts-lfs.c
tst-fts.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-futimesat.c
tst-getcwd-abspath.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-getcwd.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-linkat.c
tst-lockf.c io: Consolidate lockf implementation 2019-02-15 18:45:39 -02:00
tst-mkdirat.c
tst-mkfifoat.c
tst-mknodat.c
tst-open-tmpfile.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-openat.c
tst-posix_fallocate64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-posix_fallocate-common.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-posix_fallocate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-readlinkat.c
tst-renameat.c
tst-statvfs.c
tst-statx.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-symlinkat.c
tst-ttyname_r.c
tst-unlinkat.c
ttyname_r.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ttyname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
umask.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
unlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
unlinkat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
utime.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
utime.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
utimensat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Versions Add the statx function 2018-07-10 16:14:45 +02:00
write.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmknod.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmknodat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xstat64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00