about summary refs log tree commit diff
path: root/io/Versions
Commit message (Collapse)AuthorAgeFilesLines
* io: Add closefrom [BZ #10353]Adhemerval Zanella2021-07-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function closes all open file descriptors greater than or equal to input argument. Negative values are clamped to 0, i.e, it will close all file descriptors. As indicated by the bug report, this is a common symbol provided by different systems (Solaris, OpenBSD, NetBSD, FreeBSD) and, although its has inherent issues with not taking in consideration internal libc file descriptors (such as syslog), this is also a common feature used in multiple projects [1][2][3][4][5]. The Linux fallback implementation iterates over /proc and close all file descriptors sequentially. Although it was raised the questioning whether getdents on /proc/self/fd might return disjointed entries when file descriptor are closed; it does not seems the case on my testing on multiple kernel (v4.18, v5.4, v5.9) and the same strategy is used on different projects [1][2][3][5]. Also, the interface is set a fail-safe meaning that a failure in the fallback results in a process abort. Checked on x86_64-linux-gnu and i686-linux-gnu on kernel 5.11 and 4.15. [1] https://github.com/systemd/systemd/blob/5238e9575906297608ff802a27e2ff9effa3b338/src/basic/fd-util.c#L217 [2] https://github.com/lxc/lxc/blob/ddf4b77e11a4d08f09b7b9cd13e593f8c047edc5/src/lxc/start.c#L236 [3] https://github.com/python/cpython/blob/9e4f2f3a6b8ee995c365e86d976937c141d867f8/Modules/_posixsubprocess.c#L220 [4] https://github.com/rust-lang/rust/blob/5f47c0613ed4eb46fca3633c1297364c09e5e451/src/libstd/sys/unix/process2.rs#L303-L308 [5] https://github.com/openjdk/jdk/blob/master/src/java.base/unix/native/libjava/childproc.c#L82
* Add missing symbols to Version filesFlorian Weimer2021-06-021-0/+1
| | | | | | | | | Some symbols have explicit versioned_symbol or compat_symbol markers in the sources, but no corresponding entry in the Versions files. This presently works because the local: * directive is only applied to the base version. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* Remove mknod wrapper functions, move them to symbolsAdhemerval Zanella2020-10-091-0/+1
| | | | | | | | | | | | | | | | | | | This patch removes the mknod and mknodat static wrapper and add the symbols on the libc with the expected names. Both the prototypes of the internal symbol linked by the static wrappers and the inline redirectors are also removed from the installed sys/stat.h header file. The wrapper implementation license LGPL exception is also removed since it is no longer statically linked to binaries. Internally the _STAT_VER* definitions are moved to the arch-specific xstatver.h file. Checked with a build for all affected ABIs. I also checked on x86_64, i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x. Reviewed-by: Lukasz Majewski <lukma@denx.de>
* Remove stat wrapper functions, move them to exported symbolsAdhemerval Zanella2020-10-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | This patch removes the stat, stat64, lstat, lstat64, fstat, fstat64, fstatat, and fstatat64 static wrapper and add the symbol on the libc with the expected names. Both the prototypes of the internal symbol linked by the static wrappers and the inline redirectors are also removed from the installed sys/stat.h header file. The wrapper implementation license LGPL exception is also removed since it is no longer statically linked to binaries. Internally the _STAT_VER* definitions are moved to a arch-specific xstatver.h file. The internal defines that redirects internals {f}stat{at} to their {f}xstat{at} counterparts are removed for Linux (!NO_RTLD_HIDDEN). Hurd still requires them since {f}stat{at} pulls extra objects that makes the loader build fail otherwise (I haven't dig into why exactly). Checked with a build for all affected ABIs. I also checked on x86_64, i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x. Reviewed-by: Lukasz Majewski <lukma@denx.de>
* Move implementation of <file_change_detection.h> into a C fileFlorian Weimer2020-02-181-0/+4
| | | | | | | | | | | file_change_detection_for_stat partially initialize struct file_change_detection in some cases, when the size member alone determines the outcome of all comparisons. This results in maybe-uninitialized compiler warnings in case of sufficiently aggressive inlining. Once the implementation is moved into a separate C file, this kind of inlining is no longer possible, so the compiler warnings are gone.
* Add the statx functionFlorian Weimer2018-07-101-0/+1
|
* Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251)Adhemerval Zanella2018-06-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the OFD ("file private") locks for architectures that support non-LFS flock definition (__USE_FILE_OFFSET64 not defined). The issue in this case is both F_OFD_{GETLK,SETLK,SETLKW} and F_{SET,GET}L{W}K64 expects a flock64 argument and when using old F_OFD_* flags with a non LFS flock argument the kernel might interpret the underlying data wrongly. Kernel idea originally was to avoid using such flags in non-LFS syscall, but since GLIBC uses fcntl with LFS semantic as default it is possible to provide the functionality and avoid the bogus struct kernel passing by adjusting the struct manually for the required flags. The idea follows other LFS interfaces that provide two symbols: 1. A new LFS fcntl64 is added on default ABI with the usual macros to select it for FILE_OFFSET_BITS=64. 2. The Linux non-LFS fcntl use a stack allocated struct flock64 for F_OFD_{GETLK,SETLK,SETLKW} copy the results on the user provided struct. 3. Keep a compat symbol with old broken semantic for architectures that do not define __OFF_T_MATCHES_OFF64_T. So for architectures which defines __USE_FILE_OFFSET64, fcntl64 will aliased to fcntl and no adjustment would be required. So to actually use F_OFD_* with LFS support the source must be built with LFS support (_FILE_OFFSET_BITS=64). Also F_OFD_SETLKW command is handled a cancellation point, as for F_SETLKW{64}. Checked on x86_64-linux-gnu and i686-linux-gnu. [BZ #20251] * NEWS: Mention fcntl64 addition. * csu/check_fds.c: Replace __fcntl_nocancel by __fcntl64_nocancel. * login/utmp_file.c: Likewise. * sysdeps/posix/fdopendir.c: Likewise. * sysdeps/posix/opendir.c: Likewise. * sysdeps/unix/pt-fcntl.c: Likewise. * include/fcntl.h (__libc_fcntl64, __fcntl64, __fcntl64_nocancel_adjusted): New prototype. (__fcntl_nocancel_adjusted): Remove prototype. * io/Makefile (routines): Add fcntl64. (CFLAGS-fcntl64.c): New rule. * io/Versions [GLIBC_2.28] (fcntl64): New symbol. [GLIBC_PRIVATE] (__libc_fcntl): Rename to __libc_fcntl64. * io/fcntl.h (fcntl64): Add prototype and redirect if __USE_FILE_OFFSET64 is defined. * io/fcntl64.c: New file. * manual/llio.text: Add a note for which commands fcntl acts a cancellation point. * nptl/Makefile (CFLAGS-fcntl64.c): New rule. * sysdeps/mach/hurd/fcntl.c: Alias fcntl to fcntl64 symbols. * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl, fcntl64): New symbols. * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Fix F_GETLK64, F_OFD_GETLK, F_SETLK64, F_SETLKW64, F_OFD_SETLK, and F_OFD_SETLKW for non-LFS case. * sysdeps/unix/sysv/linux/fcntl64.c: New file. * sysdeps/unix/sysv/linux/fcntl_nocancel.c (__fcntl_nocancel): Rename to __fcntl64_nocancel. (__fcntl_nocancel_adjusted): Rename to __fcntl64_nocancel_adjusted. * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Rename to __fcntl64_nocancel. * sysdeps/unix/sysv/linux/tst-ofdlocks.c: New file. * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise. * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-ofdlocks. (tests-internal): Add tst-ofdlocks-compat. * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28] (fcntl64): New symbol. * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/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/riscv/rv64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.28] (fcntl, fcntl64): Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilis: 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/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/s390/s390-32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
* Avoid cancellable I/O primitives in ld.so.Zack Weinberg2018-06-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither the <dlfcn.h> entry points, nor lazy symbol resolution, nor initial shared library load-up, are cancellation points, so ld.so should exclusively use I/O primitives that are not cancellable. We currently achieve this by having the cancellation hooks compile as no-ops when IS_IN(rtld); this patch changes to using exclusively _nocancel primitives in the source code instead, which makes the intent clearer and significantly reduces the amount of code compiled under IS_IN(rtld) as well as IS_IN(libc) -- in particular, elf/Makefile no longer thinks we require a copy of unwind.c in rtld-libc.a. (The older mechanism is preserved as a backstop.) The bulk of the change is splitting up the files that define the _nocancel I/O functions, so they don't also define the variants that *are* cancellation points; after which, the existing logic for picking out the bits of libc that need to be recompiled as part of ld.so Just Works. I did this for all of the _nocancel functions, not just the ones used by ld.so, for consistency. fcntl was a little tricky because it's only a cancellation point for certain opcodes (F_SETLKW(64), which can block), and the existing __fcntl_nocancel wasn't applying the FCNTL_ADJUST_CMD hook, which strikes me as asking for trouble, especially as the only nontrivial definition of FCNTL_ADJUST_CMD (for powerpc64) changes F_*LK* opcodes. To fix this, fcntl_common moves to fcntl_nocancel.c along with __fcntl_nocancel, and changes its name to the extern (but hidden) symbol __fcntl_nocancel_adjusted, so that regular fcntl can continue calling it. __fcntl_nocancel now applies FCNTL_ADJUST_CMD; so that both both fcntl.c and fcntl_nocancel.c can see it, the only nontrivial definition moves from sysdeps/u/s/l/powerpc/powerpc64/fcntl.c to .../powerpc64/sysdep.h and becomes entirely a macro, instead of a macro that calls an inline function. The nptl version of libpthread also changes a little, because its "compat-routines" formerly included files that defined all the _nocancel functions it uses; instead of continuing to duplicate them, I exported the relevant ones from libc.so as GLIBC_PRIVATE. Since the Linux fcntl.c calls a function defined by fcntl_nocancel.c, it can no longer be used from libpthread.so; instead, introduce a custom forwarder, pt-fcntl.c, and export __libc_fcntl from libc.so as GLIBC_PRIVATE. The nios2-linux ABI doesn't include a copy of vfork() in libpthread, and it was handling that by manipulating libpthread-routines in .../linux/nios2/Makefile; it is cleaner to do what other such ports do, and have a pt-vfork.S that defines no symbols. Right now, it appears that Hurd does not implement _nocancel I/O, so sysdeps/generic/not-cancel.h will forward everything back to the regular functions. This changed the names of some of the functions that sysdeps/mach/hurd/dl-sysdep.c needs to interpose. * elf/dl-load.c, elf/dl-misc.c, elf/dl-profile.c, elf/rtld.c * sysdeps/unix/sysv/linux/dl-sysdep.c Include not-cancel.h. Use __close_nocancel instead of __close, __open64_nocancel instead of __open, __read_nocancel instead of __libc_read, and __write_nocancel instead of __libc_write. * csu/check_fds.c (check_one_fd) * sysdeps/posix/fdopendir.c (__fdopendir) * sysdeps/posix/opendir.c (__alloc_dir): Use __fcntl_nocancel instead of __fcntl and/or __libc_fcntl. * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np) * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np) * sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Use __open64_nocancel instead of __open_nocancel. * sysdeps/unix/sysv/linux/not-cancel.h: Move all of the hidden_proto declarations to the end and issue them if either IS_IN(libc) or IS_IN(rtld). * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add close_nocancel, fcntl_nocancel, nanosleep_nocancel, open_nocancel, open64_nocancel, openat_nocancel, pause_nocancel, read_nocancel, waitpid_nocancel, write_nocancel. * io/Versions [GLIBC_PRIVATE]: Add __libc_fcntl, __fcntl_nocancel, __open64_nocancel, __write_nocancel. * posix/Versions: Add __nanosleep_nocancel, __pause_nocancel. * nptl/pt-fcntl.c: New file. * nptl/Makefile (pthread-compat-wrappers): Remove fcntl. (libpthread-routines): Add pt-fcntl. * include/fcntl.h (__fcntl_nocancel_adjusted): New function. (__libc_fcntl): Remove attribute_hidden. * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Call __fcntl_nocancel_adjusted, not fcntl_common. (__fcntl_nocancel): Move to new file fcntl_nocancel.c. (fcntl_common): Rename to __fcntl_nocancel_adjusted; also move to fcntl_nocancel.c. * sysdeps/unix/sysv/linux/fcntl_nocancel.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Remove file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Define FCNTL_ADJUST_CMD here, as a self-contained macro. * sysdeps/unix/sysv/linux/close.c: Move __close_nocancel to... * sysdeps/unix/sysv/linux/close_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/nanosleep.c: Move __nanosleep_nocancel to... * sysdeps/unix/sysv/linux/nanosleep_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/open.c: Move __open_nocancel to... * sysdeps/unix/sysv/linux/open_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/open64.c: Move __open64_nocancel to... * sysdeps/unix/sysv/linux/open64_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/openat.c: Move __openat_nocancel to... * sysdeps/unix/sysv/linux/openat_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/openat64.c: Move __openat64_nocancel to... * sysdeps/unix/sysv/linux/openat64_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/pause.c: Move __pause_nocancel to... * sysdeps/unix/sysv/linux/pause_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/read.c: Move __read_nocancel to... * sysdeps/unix/sysv/linux/read_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/waitpid.c: Move __waitpid_nocancel to... * sysdeps/unix/sysv/linux/waitpid_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/write.c: Move __write_nocancel to... * sysdeps/unix/sysv/linux/write_nocancel.c: ...this new file. * sysdeps/unix/sysv/linux/nios2/Makefile: Don't override libpthread-routines. * sysdeps/unix/sysv/linux/nios2/pt-vfork.S: New file which defines nothing. * sysdeps/mach/hurd/dl-sysdep.c: Define __read instead of __libc_read, and __write instead of __libc_write. Define __open64 in addition to __open.
* copy_file_range: New function to copy file dataFlorian Weimer2017-12-221-0/+3
| | | | | The semantics are based on the Linux system call, but a very close emulation in user space is provided.
* Add LFS support for fts functions (bug 11460)Mark Wielaard2015-11-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * Versions.def (glibc): Add GLIBC_2.9.Ulrich Drepper2008-07-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * io/Makefile (routines): Add dup3 and pipe2. * io/Versions [glibc] (GLIBC_2.9): Add dup3 and pipe2. * io/dup3.c: New file. * io/pipe2.c: New file. * posix/unistd.h: Declare dup3 and pipe2. * socket/Makefile (routines): Add paccept. * socket/Versions [glibc] (GLIBC_2.9): Add paccept. * socket/paccept.c: New file. * socket/sys/socket.h: Declare paccept. * sysdeps/unix/syscalls.list: Add entry for dup3. * sysdeps/unix/sysv/linux/Versions [glibc] (GLIBC_2.9): Add epoll_create2 and inotify_init1. * sysdeps/unix/sysv/linux/eventfd.c: Use eventfd1 syscall if possible. * sysdeps/unix/sysv/linux/paccept.c: New file. * sysdeps/unix/sysv/linux/signalfd.c: Use signalfd4 syscall if possible. * sysdeps/unix/sysv/linux/socketcall.h: Add SOCKOP_paccept. * sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create2, inotify_init1, and pipe2 entries. * sysdeps/unix/sysv/linux/alpha/sys/epoll.h: New file. * sysdeps/unix/sysv/linux/alpha/sys/eventfd.h: New file. * sysdeps/unix/sysv/linux/alpha/sys/inotify.h: New file. * sysdeps/unix/sysv/linux/alpha/sys/signalfd.h: New file. * sysdeps/unix/sysv/linux/alpha/sys/timerfd.h: New file. * sysdeps/unix/sysv/linux/bits/socket.h: Define SOCK_CLOEXEC and SOCK_NONBLOCK. * sysdeps/unix/sysv/linux/i386/paccept.S: New file. * sysdeps/unix/sysv/linux/sparc/sys/epoll.h: New file. * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: New file. * sysdeps/unix/sysv/linux/sparc/sys/inotify.h: New file. * sysdeps/unix/sysv/linux/sparc/sys/signalfd.h: New file. * sysdeps/unix/sysv/linux/sparc/sys/timerfd.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/socket.h: New file. * sysdeps/unix/sysv/linux/sys/epoll.h: Define EPOLL_CLOEXEC and EPOLL_NONBLOCK. Declare epoll_create2. * sysdeps/unix/sysv/linux/sys/eventfd.h: Define EFD_CLOEXEC and EFD_NONBLOCK. * sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOEXEC and IN_NONBLOCK. Declare inotify_init1. * sysdeps/unix/sysv/linux/sys/signalfd.h: Define SFD_CLOEXEC and SFD_NONBLOCK. * sysdeps/unix/sysv/linux/sys/timerfd.h: Define TFD_CLOEXEC and TFD_NONBLOCK.
* * Makerules (sysd-rules): Define PTW for ptw-* files.Ulrich Drepper2007-05-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Versions: Define GLIBC_2.7 for libc. * include/stdio.h: Declare __fortify_fail. * debug/fortify_fail.c: New file. * debug/Makefile (routines): Add fortify_fail. * debug/chk_fail.c: Use __fortify_fail. * debug/stack_chk_fail.c: Likewise. * io/Versions: Export __open_2, __open64_2, __openat_2, and __openat64_2 for GLIBC_2.7. * io/fcntl.h: When compiling with fortification, include bits/fcntl2.h. * io/open.c: Define *_2 variant of function which checks for O_CREAT and fails if necessary. * io/open64.c: Likewise. * io/openat.c: Likewise. * io/openat64.c: Likewise. * sysdeps/unix/sysv/linux/open64.c: Likewise. * sysdeps/unix/sysv/linux/openat.c: Likewise. * sysdeps/unix/sysv/linux/openat64.c: Likewise. * io/bits/fcntl2.h: New file. * include/fcntl.h: Declare __open_2, __open64_2, __openat_2, and __openat64_2. * include/bits/fcntl2.h: New file. * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add open_2. * sysdeps/unix/sysv/linux/open_2.c: New file.
* * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Define UTIME_NOW andUlrich Drepper2007-05-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | UTIME_OMIT. * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_UTIMENSAT. * io/sys/stat.h: Declare utimensat, futimens. * io/utimensat.c: New file. * io/futimens.c: New file. * sysdeps/unix/sysv/linux/utimensat.c: New file. * sysdeps/unix/sysv/linux/futimens.c: New file. * io/Makefile (routines): Add utimensat, futimens. * io/Versions: Add utimensat, futimens to GLIBC_2.6. * sysdeps/unix/sysv/linux/lutimes.c: New file. * sysdeps/unix/sysv/linux/futimes.c: Use utimensat syscall if available. * include/sys/cdefs.h: Redefine __nonnull so that test for incorrect parameters in the libc code itself are not omitted.
* * include/fcntl.h: Declare __have_atfcts.Ulrich Drepper2006-01-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/unix/sysv/linux/faccessat.c: Use syscall if available. * sysdeps/unix/sysv/linux/fchmodat.c: Likewise. * sysdeps/unix/sysv/linux/fchownat.c: Likewise. * sysdeps/unix/sysv/linux/futimesat.c: Likewise. * sysdeps/unix/sysv/linux/linkat.c: Likewise. * sysdeps/unix/sysv/linux/mkdirat.c: Likewise. * sysdeps/unix/sysv/linux/openat.c: Likewise. * sysdeps/unix/sysv/linux/readlinkat.c: Likewise. * sysdeps/unix/sysv/linux/renameat.c: Likewise. * sysdeps/unix/sysv/linux/symlinkat.c: Likewise. * sysdeps/unix/sysv/linux/unlinkat.c: Likewise. * sysdeps/unix/sysv/linux/xmknodat.c: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PSELECT, __ASSUME_PPOLL, and __ASSUME_ATFCTS if possible. * io/ppoll.c: New file. * io/Makefile (routines): Add ppoll. (CFLAGS-ppoll.c): Define. * io/Versions: Export ppoll for GLIBC_2.4. * io/sys/poll.h: Declare ppoll. * sysdeps/unix/sysv/linux/ppoll.c: New file. * misc/pselect.c: Make it possible to include this file to define the generic code as a static function. * sysdeps/unix/sysv/linux/pselect.c: New file.
* * io/fcntl.h [__USE_ATFILE] (AT_EACCESS): New macro.Roland McGrath2006-01-061-0/+1
| | | | | | | | | | | | * posix/unistd.h [__USE_ATFILE]: Declare faccessat. * io/faccessat.c: New file. * sysdeps/unix/sysv/linux/faccessat.c: New file. * io/Makefile (routines): Add faccessat. * io/Versions (libc: GLIBC_2.4): Likewise. * io/tst-faccessat.c: New file. * io/Makefile (tests): Add it. * io/sys/stat.h: Likewise.
* * io/euidaccess.c: Add eaccess as an alias.Roland McGrath2006-01-061-0/+2
| | | | | | | * sysdeps/mach/hurd/euidaccess.c: Likewise. * sysdeps/posix/euidaccess.c: Likewise. * posix/unistd.h [__USE_GNU]: Declare eaccess. * io/Versions (libc: GLIBC_2.4): Add eaccess.
* * io/sys/stat.h [__USE_GNU]: Declare fchmodat.Roland McGrath2006-01-051-0/+1
| | | | | | | | | * io/fchmodat.c: New file. * io/Makefile (routines): Add fchmodat. * io/Versions (libc: GLIBC_2.4): Likewise. * sysdeps/unix/sysv/linux/fchmodat.c: New file. * io/tst-fchmodat.c: New file. * io/Makefile (tests): Add it.
* * sysdeps/unix/sysv/linux/renameat.c: Move errno setting code inUlrich Drepper2005-12-161-0/+3
| | | | | | | | | | | | | | separate function __atfct_seterrno_2. * include/fcntl.h: Declare __atfct_seterrno_2. * posix/unistd.h: Declare linkat, symlinkat, readlinkat. * io/Makefile (routines): Add linkat, symlinkat, readlinkat. * io/Versions [GLIBC_2.4]: Export linkat, symlinkat, readlinkat. * io/linkat.c: New file. * io/readlinkat.c: New file. * io/symlinkat.c: New file. * sysdeps/unix/sysv/linux/linkat.c: New file. * sysdeps/unix/sysv/linux/readlinkat.c: New file. * sysdeps/unix/sysv/linux/symlinkat.c: New file.
* * io/Makefile (routines): Add mknodat, xmknodat, mkdirat, mkfifoat.Ulrich Drepper2005-12-021-0/+1
| | | | | | | | | | | | | | | | | (static-only-routines): Add mknodat. * io/Versions [GLIBC_2.4]: Add mkdirat, mkfifoat, __xmknodat. * io/sys/stat.h: Declare mkditat, mknodat, mkfifoat, __xmknodat. Define mknodat inline function. * include/sys/stat.h: Add hidden proto for __xmknodat. * sysdeps/generic/mkdirat.c: New file. * sysdeps/generic/mkfifoat.c: New file. * sysdeps/generic/mknodat.c: New file. * sysdeps/generic/xmknodat.c: New file. * sysdeps/unix/mkfifoat.c: New file. * sysdeps/unix/sysv/linux/mkdirat.c: New file. * sysdeps/unix/sysv/linux/xmknodat.c: New file. * sysdeps/generic/xmknod.c: Add one more parameter check.
* * io/Makefile (routines): Add fstatat, fstatat64, fxstatat, fxstatat64,Ulrich Drepper2005-11-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fchownat, and unlinkat. (static-only-routines): Add fstatat and fstatat64. (tests): Add tst-unlinkat, tst-fstatat, tst-futimesat, tst-renameat, and tst-fchownat. * io/Versions [GLIBC_2.4]: Add fchownat, __fxstatat, __fxstatat64, and unlinkat. * io/fcntl.h: Define AT_FDCWD, AT_SYMLINK_NOFOLLOW, and AT_REMOVEDIR. * io/fstatat.c: New file. * io/fstatat64.c: New file. * io/sys/stat.h: Declare fstatat, fstatat64, __fxstatat, __fxstatat64 and define fstatat and fstatat64 inline functions. * libio/stdio.h: Declare renameat. * misc/Makefile (routines): Add futimesat. * misc/Versions [GLIBC_2.4]: Add futimesat. * posix/unistd.h: Declare fchownat and unlinkat. * stdio-common/Makefile (routines): Add renameat. * stdio-common/Versions [GLIBC_2.4]: Add renameat. * sysdeps/generic/fchownat.c: New file. * sysdeps/generic/futimesat.c: New file. * sysdeps/generic/fxstatat.c: New file. * sysdeps/generic/fxstatat64.c: New file. * sysdeps/generic/renameat.c: New file. * sysdeps/generic/unlinkat.c: New file. * sysdeps/unix/sysv/linux/fchownat.c: New file. * sysdeps/unix/sysv/linux/futimesat.c: New file. * sysdeps/unix/sysv/linux/fxstatat.c: New file. * sysdeps/unix/sysv/linux/fxstatat64.c: New file. * sysdeps/unix/sysv/linux/renameat.c: New file. * sysdeps/unix/sysv/linux/unlinkat.c: New file. * sysdeps/unix/sysv/linux/alpha/fxstatat.c: New file. * sysdeps/unix/sysv/linux/i386/fchownat.c: New file. * sysdeps/unix/sysv/linux/i386/fxstatat.c: New file. * sysdeps/unix/sysv/linux/m68k/fchownat.c: New file. * sysdeps/unix/sysv/linux/m68k/fxstatat.c: New file. * sysdeps/unix/sysv/linux/powerpc/fchownat.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c: New file. * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: New file. * sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c: New file. * sysdeps/unix/sysv/linux/sh/fchownat.c: New file. * sysdeps/unix/sysv/linux/sh/fxstatat.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c: New file. * time/sys/time.h: Declare futimesat. * include/fcntl.h: Declare __atfct_seterrno. * sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): New function. Split out from openat code and called. (do_test): Allow openat to fail with ENOSYS. Handle AT_FDCWD. * sysdeps/generic/openat.c: Handle AT_FDCWD. * sysdeps/generic/openat64.c: Likewise. * io/tst-unlinkat.c: New file. * io/tst-fstatat.c: New file. * io/tst-futimesat.c: New file. * io/tst-renameat.c: New file. * io/tst-fchownat.c: New file. * io/tst-openat.c: Don't fail if openat is not implemented. * sysdeps/unix/sysv/linux/powerpc/chown.c: Don't provide backward compatibility code if new kernel is guaranteed. * time/sys/time.h: Add a few nonnull attributes.
* * io/fcntl.h: Declare openat and openat64.Ulrich Drepper2005-11-101-0/+3
| | | | | | | | | | | | | * io/Makefile (routines): Add openat and openat64. (tests): Add tst-openat. * io/Versions: Add openat and openat64 for GLIBC_2.4. * sysdeps/generic/openat.c: New file. * sysdeps/generic/openat64.c: New file. * sysdeps/unix/sysv/linux/openat.c: New file. * sysdeps/unix/sysv/linux/openat64.c: New file. * io/tst-openat.c: New file. * sysdeps/unix/sysv/linux/device-nrs.h: Add info for /dev/full.
* (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper2004-12-221-16/+0
|
* 2.5-18.1Jakub Jelinek2007-07-121-0/+16
|
* Update.Ulrich Drepper2004-05-031-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-03 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if __USE_BSD or __USE_UNIX98. * sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. *sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise. 2004-05-01 Jakub Jelinek <jakub@redhat.com> * posix/Versions (libc): Remove __libc_wait, __libc_waitpid, __libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64, __libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE. * stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/Versions (libc): Remove __libc_sigaction@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove __modify_ldt@@GLIBC_PRIVATE. * socket/Versions (libc): Remove __libc_accept, __libc_send, __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto and __libc_connect @@GLIBC_PRIVATE. * stdio-common/Versions (libc): Remove _itoa_upper_digits@@GLIBC_PRIVATE. * resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE. * misc/Versions (libc): Remove __libc_fsync, __libc_msync, __libc_readv and __libc_writev @@GLIBC_PRIVATE. * termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE. * io/Versions (libc): Remove __libc_open, __libc_close, __libc_read, __libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and __libc_lseek64 @@GLIBC_PRIVATE. 2004-04-30 Jakub Jelinek <jakub@redhat.com> * elf/dl-load.c (open_verify): Move e_phentsize check after e_type check. 2004-04-29 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file. * math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX mantissa for AIX long double format. * misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX long double format. * misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise. * stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (_fpioconst_pow10): AIX long double format has same exponent range as double. * stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range as double. 2004-04-23 Art Haas <ahaas@airmail.net> * sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'.
* Update.Ulrich Drepper2003-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-07 Jakub Jelinek <jakub@redhat.com> * io/ftw.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define. (ftw_dir, ftw_startup): Add __attribute ((noinline)). (NFTW_OLD_NAME, NFTW_NEW_NAME): New functions. (NFTW_NAME): Only define if !_LIBC, add versioned_symbol and compat_symbol. * io/ftw64.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define. * io/Versions (libc): Export nftw@@GLIBC_2.3.3 and nftw64@@GLIBC_2.3.3. * io/ftw.h (FTW_ACTIONRETVAL): New flag. (FTW_CONTINUE, FTW_STOP, FTW_SKIP_SUBTREE, FTW_SKIP_SIBLINGS): New. * io/ftw.c (ftw_dir): Add old_dir argument. Clear result if it was FTW_SKIP_SIBLINGS after processing all dir entries. Change cwd back if old_dir != NULL. (process_entry): Adjust caller. Don't change cwd back here. Change FTW_SKIP_SUBTREE result to 0. (ftw_startup): Adjust ftw_dir caller. Clear result if it was FTW_SKIP_SUBTREE or FTW_SKIP_SIBLINGS. * io/ftwtest.c (skip_subtree, skip_siblings): New variables. (options, main): Add --skip-subtree and --skip-siblings options. (cb): Use return FTW_CONTINUE instead of return 0. Handle --skip-subtree and --skip-siblings. * io/ftwtest-sh: Add tests for FTW_ACTIONRETVAL. * manual/filesys.texi: Document FTW_ACTIONRETVAL.
* Update.Ulrich Drepper2003-08-161-3/+0
| | | | | | | * sysdeps/unix/sysv/linux/i386/Versions [GLIBC_2.3.3]: Add posix_fadvise64. * sysdeps/unix/sysv/linux/i386/Makefile [subdir=io] (subdir_routines): Add posix_fadvise64_64.
* Update.Ulrich Drepper2003-08-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-15 Ulrich Drepper <drepper@redhat.com> * io/Versions [GLIBC_2.3.3]: Add posix_fadvise64. * io/fcntl.h (posix_fadvise64): Change type of third parameter to off_t. * sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition. * sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter description indicating the error value is returned, not -1. * sysdeps/unix/sysv/linux/Makefile [subdir=io] (subdir_routines): Add posix_fadvise64_64. * sysdeps/unix/sysv/linux/kernel-features.h: Add definition of __ASSUME_FADVISE64_64_SYSCALL. * sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and posix_madvise in one file. Have posix_madvise defined with error value returned. Define posix_fadvise64_64 entry. Add version info to posix_fadvise64 entry. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Define posix_fadvise64_64 entry. Add version info to posix_fadvise64 entry. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL, PSEUDO_END_ERRVAL, and ret_ERRVAL. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * posix/Makefile (routines): Add posix_madvise. * sysdeps/generic/madvise.c: Don't define posix_madvise. * sysdeps/generic/posix_madvise.c: New file. * sysdeps/unix/sysv/aix/posix_madvise.c: New file.
* * configure: Regenerated (using Autoconf 2.54).Roland McGrath2002-10-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/alpha/elf/configure: Likewise. * sysdeps/generic/configure: Likewise. * sysdeps/i386/elf/configure: Likewise. * sysdeps/ia64/elf/configure: Likewise. * sysdeps/mach/hurd/configure: Likewise. * sysdeps/mach/configure: Likewise. * sysdeps/unix/configure: Likewise. * sysdeps/unix/common/configure: Likewise. * sysdeps/unix/sysv/aix/configure: Likewise. * sysdeps/unix/sysv/linux/configure: Likewise. * sysdeps/unix/sysv/linux/mips/configure: Likewise. * sysdeps/x86_64/elf/configure: Likewise. * config.make.in: Nix completely-soft nonsense. * configure.in: Likewise. Under --without-fp, use nofpu subdirectory of machine directories instead of fpu subdirectory. * sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change. * sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead. * sysdeps/powerpc/soft-fp/sim-full.c: Moved to ... * sysdeps/powerpc/nofpu/sim-full.c: ... here. * sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ... * sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here. * sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ... * sysdeps/powerpc/nofpu/fegetexcept.c: ... here. * sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ... * sysdeps/powerpc/nofpu/fclrexcpt.c: ... here. * sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ... * sysdeps/powerpc/nofpu/ftestexcept.c: ... here. * sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ... * sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here. * sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ... * sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here. * sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ... * sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here. * sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ... * sysdeps/powerpc/nofpu/feenablxcpt.c: ... here. * sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ... * sysdeps/powerpc/nofpu/fegetenv.c: ... here. * sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ... * sysdeps/powerpc/nofpu/fesetenv.c: ... here. * sysdeps/powerpc/soft-fp/fegetround.c: Moved to ... * sysdeps/powerpc/nofpu/fegetround.c: ... here. * sysdeps/powerpc/soft-fp/fesetround.c: Moved to ... * sysdeps/powerpc/nofpu/fesetround.c: ... here. * sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ... * sysdeps/powerpc/nofpu/feupdateenv.c: ... here. * sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ... * sysdeps/powerpc/nofpu/feholdexcpt.c: ... here. * sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ... * sysdeps/powerpc/nofpu/fenv_const.c: ... here. * sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ... * sysdeps/powerpc/nofpu/libm-test-ulps: ... here. * sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ... * sysdeps/powerpc/nofpu/soft-supp.h: ... here. * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ... * sysdeps/powerpc/nofpu/Versions: ... here, new file. 2002-10-19 Bruno Haible <bruno@clisp.org> * sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file. 2002-10-18 Roland McGrath <roland@redhat.com> * io/Makefile (routines): Add lchmod. * io/sys/stat.h [__USE_BSD] (lchmod): Declare it. * sysdeps/generic/lchmod.c: New file. * sysdeps/mach/hurd/lchmod.c: New file. * io/Versions (libc: GLIBC_2.3.2): New set, add lchmod.
* * io/Makefile (routines): Add sendfile and sendfile64.Roland McGrath2002-06-051-0/+5
| | | | | | | | | | | | | | | | (headers): Add sys/sendfile.h to the list. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add it here. * sysdeps/unix/sysv/linux/sys/sendfile.h: Moved to ... * io/sys/sendfile.h: ... here. * sysdeps/generic/sendfile.c: New file. * sysdeps/generic/sendfile64.c: New file. * sysdeps/unix/sysv/linux/Versions (GLIBC_2.1, GLIBC_2.3): Move sendfile, sendfile64 to ... * io/Versions (GLIBC_2.1, GLIBC_2.3): ... here. * sysdeps/mach/hurd/sendfile.c: New file. * sysdeps/mach/hurd/sendfile64.c: New file. * sysdeps/mach/nanosleep.c: New file.
* Update.Ulrich Drepper2002-02-011-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-01 Jakub Jelinek <jakub@redhat.com> * Versions.def (libc): Add GLIBC_PRIVATE. (libdb, libnss_db, libdb1): Remove. (libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis, libnss_nisplus): Move all symbols to GLIBC_PRIVATE. (libpthread): Add GLIBC_PRIVATE. (libresolv): Likewise, remove GLIBC_2.1. (ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1, GLIBC_2.2.3, GLIBC_2.3. * catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE. * elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first, _dl_sym, _dl_vsym): Likewise. (__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error, _dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize, _dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute, _dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip, _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip, _dl_map_object, _dl_map_object_deps, _dl_out_of_memory, _dl_relocate_object, _dl_signal_error, _dl_start_profile, _dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global): Likewise. (_dl_object_relocation_scope): Remove. * hesiod/Versions: Move all symbols to GLIBC_PRIVATE. * iconv/Versions (__gconv_alias_db, __gconv_modules_db, __gconv_cache): Move to GLIBC_PRIVATE. * inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r, __internal_setnetgrent): Likewise. * io/Versions (__libc_open, __libc_close, __libc_read, __libc_write, __libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise. * locale/Versions (__collate_element_hash, __collate_element_strings, __collate_symbol_classes, __collate_symbol_hash, __collate_symbol_strings, _nl_current_LC_COLLATE, _nl_current_LC_CTYPE): Likewise. * misc/Versions (__libc_fsync, __libc_msync): Likewise. * nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE. (libnss_nis, libnss_nisplus): Likewise. * nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent, _nss_files_parse_spent): Move to GLIBC_PRIVATE. (libnss_files): Move all symbols to GLIBC_PRIVATE. * posix/Versions (__libc_wait, __libc_waitpid, __libc_pause, __libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64, __libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE. * resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop, __ns_get16, __ns_samename): Likewise. (libnss_dns): Move all symbols to GLIBC_PRIVATE. * setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to GLIBC_PRIVATE. * socket/Versions (__libc_accept, __libc_send, __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto, __libc_connect): Likewise. * stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits): Likewise. * stdlib/Versions (__libc_system): Likewise. * sunrpc/Versions (__rpc_thread_destroy): Likewise. * sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE. * sysdeps/ia64/fpu/Versions: Likewise. * sysdeps/ia64/Versions: Likewise. * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. * sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move to GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise. * sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo, __libc_sigaction): Likewise. * termios/Versions (__libc_tcdrain): Likewise. * misc/sys/cdefs (__attribute_noinline__): Define. * elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add __attribute_noinline__. * elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64. * elf/dl-xstat64.c: New file. * elf/dl-fxstat64.c: New file. * sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined, don't export __fxstat64 at multiple versions. * sysdeps/unix/sysv/linux/lxstat64.c: Similarly. * sysdeps/unix/sysv/linux/xstat64.c: Similarly.
* Update.Ulrich Drepper2000-11-101-4/+0
| | | | | * io/Versions (GLIBC_2.1.1): Remove lockf64. See ChangeLog.11 for earlier changes.
* Update.Ulrich Drepper2000-11-091-0/+2
| | | | | | 2000-11-09 H.J. Lu <hjl@gnu.org> * io/Versions (GLIBC_2.2): Add __open64.
* update.Ulrich Drepper2000-04-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-14 Ulrich Drepper <drepper@redhat.com> * include/sys/statfs.h: Add prototypes for __statfs64 and __fstatfs64. * sysdeps/generic/fstatfs64.c (__fstatfs64): Renamed to fstatfs64. Make old name weak alias. * sysdeps/unix/sysv/linux/fstatfs64.c: Likewise. * sysdeps/generic/statfs64.c (__statfs64): Renamed to statfs64. Make old name weak alias. * sysdeps/unix/sysv/linux/statfs64.c: Likewise. * io/Makefile (routines): Add posix_fadvise, posix_fadvise64, posix_fallocate, and posix_fallocate64. * io/Versions [libc] (GLIBC_2.2): Add posix_fadvise, posix_fadvise64, posix_fallocate, and posix_fallocate64. * io/fcntl.h: Declare posix_fadvise, posix_fadvise64, posix_fallocate, and posix_fallocate64. * sysdeps/generic/fadvise.c: New file. * sysdeps/generic/fadvise64.c: New file. * sysdeps/generic/fallocate.c: New file. * sysdeps/generic/fallocate64.c: New file. * sysdeps/posix/fallocate.c: New file. * sysdeps/posix/fallocate64.c: New file. * sysdeps/generic/bits/fcntl.h: Define POSIX_FADV_NORMAL, POSIX_FADV_RANDOM, POSIX_FADV_SEQUENTIAL, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED, and POSIX_FADV_NOREUSE. * sysdeps/mach/hurd/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. * sysdeps/generic/madvise.c (__madvise): Renamed to posix_madvise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* Update.Ulrich Drepper1999-12-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-18 Ulrich Drepper <drepper@cygnus.com> * include/unistd.h: Declare __libc_open64, __libc_lseek64, __libc_pread, __libc_pread64, __libc_pwrite, and __libc_pwrite64. * io/Versions: Export __libc_open64 and __libc_lseek64. * posix/Versions: Export __libc_pread, __libc_pread64, __libc_pwrite, and __libc_pwrite64. * sysdeps/generic/open64.c: Define __libc_* variant for cancelation wrapper. * sysdeps/generic/pread.c: Likewise. * sysdeps/generic/pread64.c: Likewise. * sysdeps/generic/pwrite.c: Likewise. * sysdeps/generic/pwrite64.c: Likewise. * sysdeps/posix/open64.c: Likewise. * sysdeps/posix/pread.c: Likewise. * sysdeps/posix/pread64.c: Likewise. * sysdeps/posix/pwrite.c: Likewise. * sysdeps/posix/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/llseek.c: Likewise. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/i386/pread.c: Likewise. * sysdeps/unix/sysv/linux/i386/pread64.c: Likewise. * sysdeps/unix/sysv/linux/i386/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/i386/pwrite64.c: Likewise. * sysdeps/posix/open64.c: Help gcc generating better code. * sysdeps/generic/libc-start.c (check_one_fd): Use __libc_open instead of __open.
* * scripts/test-installation.pl (installation_problem): SkipAndreas Schwab1999-04-091-0/+3
| | | | | | | | | | | | libnss1_* libraries from glibc-compat add-on. Wed Apr 7 22:52:39 1999 H.J. Lu <hjl@gnu.org> * io/Versions (__dup2, __pipe): Added to GLIBC_2.0 for libstdc++ 2.7.2. * posix/Versions (__waitpid): Likewise. 1999-04-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Update.Ulrich Drepper1999-02-181-0/+4
| | | | | | | | 1999-02-18 Ulrich Drepper <drepper@cygnus.com> * io/Makefile (routines): Add lock64. * io/Versions: Add lockf64 for GLIBC_2.1.1. * sysdeps/generic/lockf64.c: New file.
* Update.Ulrich Drepper1998-07-021-0/+83
1998-07-02 21:51 Ulrich Drepper <drepper@cygnus.com> * Makeconfig: Define list of subdirs as all-subdirs and make subdirs a copy. * Makefile: Add rules to generate map files. (distribute): Remove libc.map, add Versions.def and versions.awk. * Makerules: Change rules to find map files on common-objpfx. * elf/Makefile: Likewise. * md5-crypt/Makefile: Likewise. * nis/Makefile (libnsl-map): Remove. * Versions.def: New file. * versions.awk: New file. * argp/Versions: New file. * assert/Versions: New file. * catgets/Versions: New file. * csu/Versions: New file. * ctype/Versions: New file. * db/Versions: New file. * debug/Versions: New file. * dirent/Versions: New file. * elf/Versions: New file. * gmon/Versions: New file. * grp/Versions: New file. * hesiod/Versions: New file. * hurd/Versions: New file. * iconv/Versions: New file. * inet/Versions: New file. * intl/Versions: New file. * io/Versions: New file. * libio/Versions: New file. * linuxthreads/Versions: New file. * locale/Versions: New file. * login/Versions: New file. * malloc/Versions: New file. * math/Versions: New file. * md5-crypt/Versions: New file. * misc/Versions: New file. * nis/Versions: New file. * nss/Versions: New file. * posix/Versions: New file. * pwd/Versions: New file. * resolv/Versions: New file. * resource/Versions: New file. * rt/Versions: New file. * setjmp/Versions: New file. * shadow/Versions: New file. * signal/Versions: New file. * socket/Versions: New file. * stdio/Versions: New file. * stdio-common/Versions: New file. * stdlib/Versions: New file. * streams/Versions: New file. * string/Versions: New file. * sunrpc/Versions: New file. * sysdeps/alpha/Versions: New file. * sysdeps/alpha/fpu/Versions: New file. * sysdeps/i386/Versions: New file. * sysdeps/sparc/Versions: New file. * sysdeps/unix/sysv/Versions: New file. * sysdeps/unix/sysv/linux/Versions: New file. * sysdeps/unix/sysv/linux/alpha/Versions: New file. * sysdeps/unix/sysv/linux/i386/Versions: New file. * sysdeps/unix/sysv/linux/mips/Versions: New file. * sysvipc/Versions: New file. * termios/Versions: New file. * time/Versions: New file. * wcsmbs/Versions: New file. * wctype/Versions: New file. * libc.map: Removed. * db/libdb.map: Removed. * elf/libdl.map: Removed. * hesiod/libnss_hesiod.map: Removed. * hurd/libhurduser.map: Removed. * hurd/libmachuser.map: Removed. * linuxthreads/libpthread.map: Removed. * locale/libBrokenLocale.map: Removed. * login/libutil.map: Removed. * math/libm.map: Removed. * md5-crypt/libcrypt.map: Removed. * nis/libnsl.map: Removed. * nis/libnsl_compat.map: Removed. * nis/libnss_nis.map: Removed. * nis/libnss_nisplus.map: Removed. * nss/libnss_db.map: Removed. * nss/libnss_files.map: Removed. * resolv/libnss_dns.map: Removed. * resolv/libresolv.map: Removed. * rt/librt.map: Removed. * elf/dl-load.c (fillin_rpath): Fix test for trusted directory. Fix typos. * elf/rtld.c (process_dl_debug): Recognize 'all'. (process_envvars): LD_BIND_NOW must be followed by y, Y, or 1. * sysdeps/generic/elf/backtracesyms.c: Allocate string memory of correct size. * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Fix typo in comment.