glibc/sysdeps/unix/sysv/linux
Ulrich Drepper 7fb90fb89b Fix Linux getcwd for long paths
The getcwd syscall (so far?) can only handle path up to one page
in size.  There is no limit about directory hierarchy depth, though,
and the POSIX getcwd is supposed to handle this.  In that case fall
back to the generic getcwd.

Additionally, optimize the generic getcwd to use openat when possible
to change the asymptotic performance from O(N^2) to O(n).
2011-05-08 08:37:19 -04:00
..
bits Define CLOCK_BOOTTIME. 2011-04-02 15:27:07 -04:00
i386 Fix typo in cache information table for x86-{32,64}. 2011-04-03 09:32:31 -04:00
ia64 Rename open_by_handle to open_by_handle_at. 2011-04-01 13:05:15 -04:00
net
netash
netatalk
netax25
neteconet
netinet
netipx
netiucv
netpacket
netrom
netrose
nfs
powerpc Remove doubled words. 2011-04-22 21:34:32 -04:00
s390 Rename open_by_handle to open_by_handle_at. 2011-04-01 13:05:15 -04:00
scsi
sh Rename open_by_handle to open_by_handle_at. 2011-04-01 13:05:15 -04:00
sparc Rename open_by_handle to open_by_handle_at. 2011-04-01 13:05:15 -04:00
sys Actually undefine ARG_MAX from <linux/limits.h> 2011-05-07 13:20:33 -04:00
wordsize-64 Really implement fallocate{,64} and sync_file_range as cancellation points. 2011-04-01 11:15:08 -04:00
x86_64 Fix FPU context handling in getcontext on x86-64. 2011-04-17 21:51:26 -04:00
_exit.c
a.out.h
accept4.c
accept.S
adjtime.c
aio_sigqueue.c
bind.S
check_native.c
check_pf.c Remove doubled words. 2011-04-22 21:34:32 -04:00
clock_getcpuclockid.c
clock_getres.c
clock_gettime.c
clock_nanosleep.c
clock_settime.c
clock.c
cmsg_nxthdr.c
configure Remove use of ranlib. 2011-02-15 14:52:29 -05:00
configure.in
connect.S
device-nrs.h
dl-brk.c
dl-execstack.c
dl-getcwd.c Fix Linux getcwd for long paths 2011-05-08 08:37:19 -04:00
dl-librecon.h
dl-origin.c
dl-osinfo.h
dl-sbrk.c
dl-sysdep.c
dl-sysdep.h
dl-vdso.c
dl-vdso.h
epoll_pwait.c
errqueue.h
eventfd_read.c
eventfd_write.c
eventfd.c
execve.c
exit-thread.S
faccessat.c
fallocate64.c Really implement fallocate{,64} and sync_file_range as cancellation points. 2011-04-01 11:15:08 -04:00
fallocate.c Really implement fallocate{,64} and sync_file_range as cancellation points. 2011-04-01 11:15:08 -04:00
fatal-prepare.h
fchmodat.c
fchownat.c
fcntl.c
fd_to_filename.h
fexecve.c
fpathconf.c Avoid namespace pollution. 2010-07-09 19:25:23 -07:00
fstatfs64.c
fstatvfs64.c
fstatvfs.c
ftime.c
ftruncate64.c Remove doubled words. 2011-04-22 21:34:32 -04:00
futimens.c
futimes.c
futimesat.c
fxstat64.c
fxstat.c
fxstatat64.c
fxstatat.c
gai_sigqueue.c
getclktck.c
getcwd.c Fix Linux getcwd for long paths 2011-05-08 08:37:19 -04:00
getdents64.c
getdents.c getdents64 fallback d_type support 2010-09-21 14:02:08 -07:00
getdirentries64.c
getdirentries.c
getdtsz.c
gethostid.c
getipv4sourcefilter.c
getloadavg.c
getlogin_r.c (__getlogin_r_loginuid): Also fail if tpwd after pwuid call is NULL. 2010-08-06 19:18:05 -07:00
getlogin.c Fix error handling in Linux getlogin*. 2010-06-19 09:54:28 -07:00
getpagesize.c
getpeername.S
getpriority.c
getpt.c
getrlimit64.c Clean up PLT use for getrlimit64. 2011-01-13 16:21:04 -05:00
getsockname.S
getsockopt.S
getsourcefilter.c
getsysstats.c
grantpt.c
if_index.c
ifaddrs.c Remove doubled words. 2011-04-22 21:34:32 -04:00
ifreq.c
Implies
init-first.c Remove .ctors' and .dtors' output sections 2010-12-24 20:14:37 -05:00
internal_accept4.S
internal_recvmmsg.S Implement recvmmsg also as socketcall 2010-05-21 12:11:28 -07:00
internal_statvfs64.c
internal_statvfs.c Handle cgroup and btrfs filesystems 2010-10-01 10:49:47 -04:00
ipc_priv.h
kernel_sigaction.h
kernel_stat.h
kernel_termios.h
kernel-features.h Use prlimit64 for 32-bit [gs]etrlimit64 implementation. 2010-12-25 20:12:27 -05:00
kernel-posix-cpu-timers.h
ldd-rewrite.sed
lddlibc4.c
ldsodefs.h
libc_fatal.c
linkat.c
linux_fsinfo.h Fix last checkin. 2010-10-01 19:05:26 -04:00
listen.S
llseek.c
local-setxid.h
lseek64.c
lutimes.c
lxstat64.c
lxstat.c
makedev.c
Makefile Fix Linux getcwd for long paths 2011-05-08 08:37:19 -04:00
mkdirat.c Fix handling of missing syscall in Linux mkdirat. 2011-01-13 12:42:06 -05:00
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
netlinkaccess.h
nice.c
not-cancel.h
nscd_setup_thread.c
ntp_gettime.c
ntp_gettimex.c
open64_2.c
open64.c
open_2.c
openat64.c
openat.c
opendir.c
opensock.c
pathconf.c Better use of open in pathconf. 2011-05-02 21:34:34 -04:00
pathconf.h
paths.h
poll.c
posix_fadvise64.c
posix_fadvise.c
posix_fallocate64.c
posix_fallocate.c
posix_madvise.c
ppoll.c
pread64.c
pread.c
preadv64.c
preadv.c
prlimit.c Fix compilation 2010-08-14 13:19:25 +02:00
prof-freq.c
profil.c
pselect.c
ptrace.c
ptsname.c
pwrite64.c
pwrite.c
pwritev64.c
pwritev.c
readahead.c
readdir64_r.c
readdir64.c
readlinkat.c
readonly-area.c
readv.c
reboot.c
recv.S
recvfrom.S
recvmmsg.c Implement recvmmsg also as socketcall 2010-05-21 12:11:28 -07:00
recvmsg.S
remove.c Handle POSIX-compliant errno value of unlink in remove. 2010-04-04 02:08:37 -07:00
renameat.c
sa_len.c
sched_getaffinity.c
sched_getcpu.c
sched_setaffinity.c
segfault.c
semctl.c
semget.c
semop.c
semtimedop.c
send.S
sendmsg.S
sendto.S
setegid.c
seteuid.c
setgid.c
setgroups.c Change setgroups to affect all the threads in the process. 2011-01-14 08:42:11 -05:00
sethostid.c
setipv4sourcefilter.c
setregid.c
setresgid.c
setresuid.c
setreuid.c
setrlimit64.c Use prlimit64 for 32-bit [gs]etrlimit64 implementation. 2010-12-25 20:12:27 -05:00
setsockopt.S
setsourcefilter.c
setuid.c
shm_open.c
shm_unlink.c
shmat.c
shmctl.c
shmdt.c
shmget.c
shutdown.S
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
sleep.c
socketcall.h Implement recvmmsg also as socketcall 2010-05-21 12:11:28 -07:00
socketpair.S
speed.c
statfs64.c
statvfs64.c
statvfs.c
symlinkat.c
sync_file_range.c Really implement fallocate{,64} and sync_file_range as cancellation points. 2011-04-01 11:15:08 -04:00
syscalls.list Rename open_by_handle to open_by_handle_at. 2011-04-01 13:05:15 -04:00
sysconf.c
sysctl.c
syslog.c
system.c
tcdrain.c
tcflow.c
tcflush.c
tcgetattr.c
tcgetpgrp.c
tcsetattr.c
tcsetpgrp.c
termio.h
testrtsig.h
time.c
times.c
truncate64.c Remove doubled words. 2011-04-22 21:34:32 -04:00
tst-clone.c
tst-getcpu.c
ttyname_r.c Verify in ttyname() that the symlink is valid. 2010-11-03 00:25:45 -04:00
ttyname.c Verify in ttyname() that the symlink is valid. 2010-11-03 00:25:45 -04:00
ualarm.c
ulimit.c
umount2.S
umount.S
unlinkat.c
unlockpt.c
updwtmp.c
usleep.c
ustat.c
utimensat.c
utimes.c
utmp_file.c
Versions Rename open_by_handle to open_by_handle_at. 2011-04-01 13:05:15 -04:00
vfork.c
wait3.c
wait.c
waitid.c
waitpid.c
writev.c
xmknod.c
xmknodat.c
xstat64.c
xstat.c
xstatconv.c
xstatconv.h