glibc/sysdeps/unix/sysv/linux/bits
Adhemerval Zanella 456b3c08b6 io: Refactor close_range and closefrom
Now that Hurd implementis both close_range and closefrom (f2c996597d),
we can make close_range() a base ABI, and make the default closefrom()
implementation on top of close_range().

The generic closefrom() implementation based on __getdtablesize() is
moved to generic close_range().  On Linux it will be overriden by
the auto-generation syscall while on Hurd it will be a system specific
implementation.

The closefrom() now calls close_range() and __closefrom_fallback().
Since on Hurd close_range() does not fail, __closefrom_fallback() is an
empty static inline function set by__ASSUME_CLOSE_RANGE.

The __ASSUME_CLOSE_RANGE also allows optimize Linux
__closefrom_fallback() implementation when --enable-kernel=5.9 or
higher is used.

Finally the Linux specific tst-close_range.c is moved to io and
enabled as default.  The Linuxism and CLOSE_RANGE_UNSHARE are
guarded so it can be built for Hurd (I have not actually test it).

Checked on x86_64-linux-gnu, i686-linux-gnu, and with a i686-gnu
build.
2021-11-24 09:09:37 -03:00
..
types y2038: Use a common definition for shmid_ds 2021-06-15 10:42:11 -03:00
a.out.h
dirent_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dirent.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
epoll.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
errno.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
eventfd.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fcntl-linux.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fcntl.h
in.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
initspin.h
inotify.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioctl-types.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioctls.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ipc-perm.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ipc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
local_lim.h Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN 2021-07-12 18:43:32 +02:00
mman-linux.h Add MADV_POPULATE_READ and MADV_POPULATE_WRITE from Linux 5.14 to bits/mman-linux.h 2021-09-14 14:19:24 +00:00
mman-map-flags-generic.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mman-shared.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mman.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mqueue.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
msq.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
param.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
poll.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
posix_opt.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs-extra.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs-id.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs-prregset.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs.h Unify some sys/procfs.h headers. 2018-09-25 16:48:15 +00:00
pthread_stack_min-dynamic.h Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN 2021-07-12 18:43:32 +02:00
pthread_stack_min.h Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) 2021-07-09 15:10:35 -07:00
ptrace-shared.h Add PTRACE_GET_RSEQ_CONFIGURATION from Linux 5.13 to sys/ptrace.h 2021-08-09 16:51:38 +00:00
resource.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sched.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sem.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
semaphore.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
shm.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
shmlba.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigaction.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigcontext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigevent-consts.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
siginfo-arch.h
siginfo-consts-arch.h
siginfo-consts.h Add SEGV_MTEAERR and SEGV_MTESERR from Linux 5.10. 2021-01-06 18:23:00 +00:00
signal_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signalfd.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signum-arch.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigstack.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigstksz.h Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) 2021-07-09 15:10:35 -07:00
socket_type.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
socket-constants.h y2038: Add __USE_TIME_BITS64 support for socket-constants.h 2021-06-15 10:42:11 -03:00
socket.h Add PF_MCTP, AF_MCTP from Linux 5.15 to bits/socket.h 2021-11-17 14:25:16 +00:00
ss_flags.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stat.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statfs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statvfs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statx.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
struct_stat_time64_helper.h y2038: Use a common definition for stat 2021-06-15 10:42:11 -03:00
struct_stat.h y2038: Use a common definition for stat 2021-06-15 10:42:11 -03:00
termios-baud.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_cc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_cflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_iflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_lflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_oflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-misc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-struct.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-tcflow.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
time.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
timerfd.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timex.h timex: Use 64-bit fields on 32-bit TIMESIZE=64 systems (BZ #28469) 2021-10-18 17:17:20 -03:00
uio_lim.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
uio-ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
unistd_ext.h io: Refactor close_range and closefrom 2021-11-24 09:09:37 -03:00
utsname.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
waitflags.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00