mirror of git://sourceware.org/git/glibc.git
This patch consolidates all Linux setrlimit and getrlimit on the default
sysdeps/unix/sysv/linux/{set,get}rlimit{64}.c. It contains two exceptions:
1. mips32 and mips64n32 which requires a versioned symbol for GLIBC 2.19
and higher due a broken RLIM64_INFINITY constant.
2. sparc32 does not define a compat symbol for getrlimit64 for old 2GB
limit. I am not sure if it is required, but a RLIM_INFINITY fix [1]
change its definition without adding a compat symbol. This patch does
not aim to address this possible issue, it follow current symbol
export.
The default implementation uses prlimit64 for 64 bit rlim_t ({set,get}rlimit64)
and if it fails with ENOSYS it fall back to {get,set}rlimit syscall. This
code path is only used on kernel older than 2.6.36 (basically now only x86)
and I avoid to user __ASSUME_PRLIMTI64 to simplify the implementation. Once
x86 moves to be on par with other architectures regarding minimum kernel
supported we can get rid of using old syscalls and default path.
A new type size define is added, __RLIM_T_MATCHES_RLIM64_T, where is set as
default for 64 bits ports. This allows the default implementation to avoid
{get,set}rlimit building and alias {get,set}rlimit64 to {get,set}rlimit.
Checked on x86_64, i386, armhf, aarch64, and powerpc64le. I also did a
sanity build plus check-abi on all other supported architectures.
[1] Commit
|
||
---|---|---|
.. | ||
aarch64 | ||
alpha | ||
arm | ||
bits | ||
generic | ||
hppa | ||
i386 | ||
ia64 | ||
include/sys | ||
m68k | ||
microblaze | ||
mips | ||
net | ||
netash | ||
netatalk | ||
netax25 | ||
neteconet | ||
netinet | ||
netipx | ||
netiucv | ||
netpacket | ||
netrom | ||
netrose | ||
nfs | ||
nios2 | ||
powerpc | ||
s390 | ||
scsi | ||
sh | ||
sparc | ||
sys | ||
tile | ||
wordsize-64 | ||
x86 | ||
x86_64 | ||
Implies | ||
Makefile | ||
Versions | ||
_G_config.h | ||
_exit.c | ||
a.out.h | ||
accept.c | ||
accept4.c | ||
access.c | ||
adjtime.c | ||
aio_misc.h | ||
aio_sigqueue.c | ||
arch-fork.h | ||
bind.c | ||
check_native.c | ||
check_pf.c | ||
clock.c | ||
clock_getcpuclockid.c | ||
clock_getres.c | ||
clock_gettime.c | ||
clock_nanosleep.c | ||
clock_settime.c | ||
cmsg_nxthdr.c | ||
configure | ||
configure.ac | ||
connect.c | ||
createthread.c | ||
default-sched.h | ||
device-nrs.h | ||
dl-brk.c | ||
dl-execstack.c | ||
dl-fxstatat64.c | ||
dl-getcwd.c | ||
dl-librecon.h | ||
dl-openat64.c | ||
dl-opendir.c | ||
dl-origin.c | ||
dl-osinfo.h | ||
dl-sbrk.c | ||
dl-sysdep.c | ||
dl-sysdep.h | ||
dl-vdso.c | ||
dl-vdso.h | ||
dl-writev.h | ||
epoll_pwait.c | ||
errqueue.h | ||
eventfd_read.c | ||
eventfd_write.c | ||
exit-thread.h | ||
faccessat.c | ||
fallocate.c | ||
fallocate64.c | ||
fatal-prepare.h | ||
fchmodat.c | ||
fcntl.c | ||
fd_to_filename.h | ||
fexecve.c | ||
fips-private.h | ||
fpathconf.c | ||
fstatfs64.c | ||
fstatvfs.c | ||
fstatvfs64.c | ||
ftime.c | ||
ftruncate.c | ||
ftruncate64.c | ||
futex-internal.h | ||
futimens.c | ||
futimes.c | ||
futimesat.c | ||
fxstat.c | ||
fxstat64.c | ||
fxstatat.c | ||
fxstatat64.c | ||
gai_sigqueue.c | ||
getclktck.c | ||
getcwd.c | ||
getdents.c | ||
getdents64.c | ||
getdirentries.c | ||
getdirentries64.c | ||
getdtsz.c | ||
gethostid.c | ||
getipv4sourcefilter.c | ||
getloadavg.c | ||
getlogin.c | ||
getlogin_r.c | ||
getpagesize.c | ||
getpeername.c | ||
getpid.c | ||
getpriority.c | ||
getpt.c | ||
getrlimit.c | ||
getrlimit64.c | ||
getsockname.c | ||
getsockopt.c | ||
getsourcefilter.c | ||
getsysstats.c | ||
gettimeofday.c | ||
grantpt.c | ||
if_index.c | ||
ifaddrs.c | ||
ifreq.c | ||
internal_statvfs.c | ||
internal_statvfs64.c | ||
ipc_priv.h | ||
kernel-features.h | ||
kernel-posix-cpu-timers.h | ||
kernel-posix-timers.h | ||
kernel_sigaction.h | ||
kernel_stat.h | ||
kernel_termios.h | ||
ldd-rewrite.sed | ||
lddlibc4.c | ||
ldsodefs.h | ||
libc_fatal.c | ||
linux_fsinfo.h | ||
listen.c | ||
local-setxid.h | ||
lowlevellock-futex.h | ||
lseek.c | ||
lseek64.c | ||
lutimes.c | ||
lxstat.c | ||
lxstat64.c | ||
malloc-sysdep.h | ||
mmap64.c | ||
mq_close.c | ||
mq_getattr.c | ||
mq_notify.c | ||
mq_open.c | ||
mq_receive.c | ||
mq_send.c | ||
mq_unlink.c | ||
msgctl.c | ||
msgget.c | ||
msgrcv.c | ||
msgsnd.c | ||
netlink_assert_response.c | ||
netlinkaccess.h | ||
nice.c | ||
not-cancel.h | ||
nptl-signals.h | ||
nscd_setup_thread.c | ||
ntp_gettime.c | ||
ntp_gettimex.c | ||
open64.c | ||
openat.c | ||
openat64.c | ||
opendir.c | ||
opensock.c | ||
pathconf.c | ||
pathconf.h | ||
paths.h | ||
personality.c | ||
posix_fadvise.c | ||
posix_fadvise64.c | ||
posix_fallocate.c | ||
posix_fallocate64.c | ||
posix_madvise.c | ||
ppoll.c | ||
pread.c | ||
pread64.c | ||
preadv.c | ||
preadv64.c | ||
prlimit.c | ||
prof-freq.c | ||
profil.c | ||
pselect.c | ||
pt-raise.c | ||
pthread-pids.h | ||
pthread_getaffinity.c | ||
pthread_getcpuclockid.c | ||
pthread_getname.c | ||
pthread_kill.c | ||
pthread_setaffinity.c | ||
pthread_setname.c | ||
pthread_sigmask.c | ||
pthread_sigqueue.c | ||
ptrace.c | ||
ptsname.c | ||
pwrite.c | ||
pwrite64.c | ||
pwritev.c | ||
pwritev64.c | ||
raise.c | ||
readahead.c | ||
readdir64.c | ||
readdir64_r.c | ||
readonly-area.c | ||
reboot.c | ||
recv.c | ||
recvfrom.c | ||
recvmmsg.c | ||
recvmsg.c | ||
remove.c | ||
sa_len.c | ||
safe-fatal.h | ||
sched_getaffinity.c | ||
sched_getcpu.c | ||
sched_setaffinity.c | ||
segfault.c | ||
semctl.c | ||
semget.c | ||
semop.c | ||
semtimedop.c | ||
send.c | ||
sendmmsg.c | ||
sendmsg.c | ||
sendto.c | ||
setegid.c | ||
seteuid.c | ||
setgid.c | ||
setgroups.c | ||
sethostid.c | ||
setipv4sourcefilter.c | ||
setregid.c | ||
setresgid.c | ||
setresuid.c | ||
setreuid.c | ||
setrlimit.c | ||
setrlimit64.c | ||
setsockopt.c | ||
setsourcefilter.c | ||
setuid.c | ||
shlib-versions | ||
shm-directory.c | ||
shmat.c | ||
shmctl.c | ||
shmdt.c | ||
shmget.c | ||
shutdown.c | ||
sigaction.c | ||
siglist.h | ||
signal.c | ||
signalfd.c | ||
sigpending.c | ||
sigprocmask.c | ||
sigqueue.c | ||
sigreturn.c | ||
sigset-cvt-mask.h | ||
sigstack.c | ||
sigsuspend.c | ||
sigtimedwait.c | ||
sigwait.c | ||
sigwaitinfo.c | ||
sizes.h | ||
socket.c | ||
socketcall.h | ||
socketpair.c | ||
spawni.c | ||
speed.c | ||
statfs64.c | ||
statvfs.c | ||
statvfs64.c | ||
sync_file_range.c | ||
syscalls.list | ||
sysconf.c | ||
sysctl.c | ||
sysctl.mk | ||
sysdep-vdso.h | ||
sysdep.h | ||
syslog.c | ||
system.c | ||
tcdrain.c | ||
tcflow.c | ||
tcflush.c | ||
tcgetattr.c | ||
tcgetpgrp.c | ||
tcsendbrk.c | ||
tcsetattr.c | ||
tcsetpgrp.c | ||
termio.h | ||
time.c | ||
timer_create.c | ||
timer_delete.c | ||
timer_getoverr.c | ||
timer_gettime.c | ||
timer_routines.c | ||
timer_settime.c | ||
times.c | ||
timespec_get.c | ||
truncate.c | ||
truncate64.c | ||
tst-affinity-pid.c | ||
tst-affinity.c | ||
tst-align-clone.c | ||
tst-clone.c | ||
tst-clone2.c | ||
tst-fallocate-common.c | ||
tst-fallocate.c | ||
tst-fallocate64.c | ||
tst-fanotify.c | ||
tst-getpid1.c | ||
tst-personality.c | ||
tst-quota.c | ||
tst-setgetname.c | ||
tst-skeleton-affinity.c | ||
tst-skeleton-thread-affinity.c | ||
tst-sync_file_range.c | ||
tst-thread-affinity-pthread.c | ||
tst-thread-affinity-pthread2.c | ||
tst-thread-affinity-sched.c | ||
ttyname.c | ||
ttyname_r.c | ||
ualarm.c | ||
umount.S | ||
umount2.S | ||
unlockpt.c | ||
updwtmp.c | ||
ustat.c | ||
utimensat.c | ||
utimes.c | ||
utmp_file.c | ||
vfork.c | ||
wait.c | ||
wait3.c | ||
waitid.c | ||
waitpid.c | ||
xmknod.c | ||
xmknodat.c | ||
xstat.c | ||
xstat64.c | ||
xstatconv.c | ||
xstatconv.h |