aboutsummaryrefslogtreecommitdiff
path: root/io/Makefile
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2015-11-06 11:22:38 +0100
committerMark Wielaard <mjw@redhat.com>2015-11-06 11:24:16 +0100
commit8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5 (patch)
tree1d746e27fde388945a60b17e4855a0463d7892a9 /io/Makefile
parent5a28590adfc5ed898a335f7a3359a9243534eded (diff)
downloadglibc-8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5.zip
glibc-8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5.tar.gz
glibc-8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5.tar.bz2
Add LFS support for fts functions (bug 11460)
fts didn't have large-file support yet and fts.h had an #error preventing usage when _FILE_OFFSET_BITS was set. This required nasty workarounds for programs using fts with LFS. This patch implements LFS support for fts by adding FTS64 and FTENT64 variants plus fts64 functions. Which are simple aliases for 64bit off_t arches. Also includes a simple testcase for some of the fts functions with or without LFS enabled. [BZ #11460] * io/Makefile (routines): Add fts64. (tests): Add tst-fts and tst-fts-lfs. (CFLAGS-fts64.c): New. * io/Versions (GLIBC_2.23): New. * io/fts.c: Replace FTS with FTSOBJ, FTSENT with FTSENTRY. Use function defines FTS_OPEN, FTS_CLOSE, FTS_READ, FTS_SET and FTS_CHILDREN. Define FTSOBJ, FTSENTRY, FTS_OPEN, FTS_CLOSE, FTS_READ, FTS_SET, FTS_CHILDREN, INO_T, STAT and LSTAT if necessary. * io/fts.h (FTS64): New if _USE_LARGEFILE64. (FTSENT64): Likewise. (fts64_children): Likewise. (fts64_close): Likewise. (fts64_open): Likewise. (fts64_read): Likewise. (fts64_set): Likewise. * io/fts64.c: New file. * io/tst-fts.c: New test. * io/tst-fts-lfs.c: Likewise. * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.23): Add GLIBC_2.23, fts64_children, fts64_close, fts64_open, fts64_read and fts64_set. * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. * sysdeps/wordsize-64/fts.c: New file. * sysdeps/wordsize-64/fts64.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/fts.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/fts64.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/fts.c: likewise. * sysdeps/unix/sysv/linux/x86_64/x32/fts64.c: likewise.
Diffstat (limited to 'io/Makefile')
-rw-r--r--io/Makefile5
1 files changed, 3 insertions, 2 deletions
diff --git a/io/Makefile b/io/Makefile
index 613dce0..a9ad919 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -49,7 +49,7 @@ routines := \
ttyname ttyname_r isatty \
link linkat symlink symlinkat readlink readlinkat \
unlink unlinkat rmdir \
- ftw ftw64 fts poll ppoll \
+ ftw ftw64 fts fts64 poll ppoll \
posix_fadvise posix_fadvise64 \
posix_fallocate posix_fallocate64 \
sendfile sendfile64 \
@@ -71,7 +71,7 @@ tests := test-utime test-stat test-stat2 test-lfs tst-getcwd \
tst-renameat tst-fchownat tst-fchmodat tst-faccessat \
tst-symlinkat tst-linkat tst-readlinkat tst-mkdirat \
tst-mknodat tst-mkfifoat tst-ttyname_r bug-ftw5 \
- tst-posix_fallocate
+ tst-posix_fallocate tst-fts tst-fts-lfs
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)ftwtest.out
@@ -90,6 +90,7 @@ CFLAGS-fstatfs.c = -fexceptions
CFLAGS-statvfs.c = -fexceptions
CFLAGS-fstatvfs.c = -fexceptions
CFLAGS-fts.c = -Wno-uninitialized $(uses-callbacks) -fexceptions
+CFLAGS-fts64.c = -Wno-uninitialized $(uses-callbacks) -fexceptions
CFLAGS-ftw.c = $(uses-callbacks) -fexceptions
CFLAGS-ftw64.c = $(uses-callbacks) -fexceptions
CFLAGS-lockf.c = -fexceptions