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
sys
access.c
bug-ftw1.c
bug-ftw2.c
bug-ftw3.c
bug-ftw4.c
bug-ftw5.c
chdir.c
chmod.c
chown.c
close.c
copy_file_range-compat.c
copy_file_range.c
creat64.c
creat.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
dup2.c
dup3.c
dup.c
euidaccess.c
faccessat.c
fchdir.c
fchmod.c
fchmodat.c
fchown.c
fchownat.c
fcntl64.c
fcntl.c
fcntl.h
flock.c
fstat64.c
fstat.c
fstatat64.c
fstatat.c
fstatfs64.c
fstatfs.c
fstatvfs64.c
fstatvfs.c
fts64.c
fts.c
fts.h
ftw64.c
ftw.c
ftw.h
ftwtest-sh
ftwtest.c
futimens.c
fxstat64.c
fxstat.c
fxstatat64.c
fxstatat.c
getcwd.c
getdirname.c
getwd.c
isatty.c
lchmod.c
lchown.c
link.c
linkat.c
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
lseek.c
lstat64.c
lstat.c
lxstat64.c
lxstat.c
Makefile io: Consolidate lockf implementation 2019-02-15 18:45:39 -02:00
mkdir.c
mkdirat.c
mkfifo.c
mkfifoat.c
mknod.c
mknodat.c
open64_2.c
open64.c
open_2.c
open.c
openat64_2.c
openat64.c
openat_2.c
openat.c
pipe2.c
pipe.c
poll.c
poll.h
posix_fadvise64.c
posix_fadvise.c
posix_fallocate64.c
posix_fallocate.c
ppoll.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
pwd.c
read.c
readlink.c
readlinkat.c
rmdir.c
sendfile64.c
sendfile.c
stat64.c
stat.c
statfs64.c
statfs.c
statvfs64.c
statvfs.c
statx_generic.c
statx.c
symlink.c
symlinkat.c
test-lfs.c
test-stat2.c
test-stat.c
test-utime.c
tst-copy_file_range-compat.c
tst-copy_file_range.c
tst-faccessat.c
tst-fchmodat.c
tst-fchownat.c
tst-fcntl.c
tst-fstatat.c
tst-fts-lfs.c
tst-fts.c
tst-futimesat.c
tst-getcwd-abspath.c
tst-getcwd.c
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
tst-openat.c
tst-posix_fallocate64.c
tst-posix_fallocate-common.c
tst-posix_fallocate.c
tst-readlinkat.c
tst-renameat.c
tst-statvfs.c
tst-statx.c
tst-symlinkat.c
tst-ttyname_r.c
tst-unlinkat.c
ttyname_r.c
ttyname.c
umask.c
unlink.c
unlinkat.c
utime.c
utime.h
utimensat.c
Versions
write.c
xmknod.c
xmknodat.c
xstat64.c
xstat.c