glibc/sysdeps/posix
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
..
clock_getres.c * sysdeps/posix/clock_getres.c (hp_timing_getres): Remove inline 2008-08-02 15:53:18 +00:00
clock.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
ctermid.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
cuserid.c Fix typo in cuserid 2010-03-25 11:36:02 +01:00
dup2.c Update. 2002-08-03 07:02:10 +00:00
dup.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
euidaccess.c [BZ #2648] 2007-02-17 18:58:25 +00:00
flock.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
fpathconf.c Update. 2003-03-14 06:28:45 +00:00
gai_strerror-strs.h * sysdeps/posix/gai_strerror.c: Complete rewrite. Avoid relocations. 2005-12-20 17:53:00 +00:00
gai_strerror.c * sysdeps/posix/gai_strerror.c: Complete rewrite. Avoid relocations. 2005-12-20 17:53:00 +00:00
getaddrinfo.c getaddrinfo(AF_INET6) does not return scope_id info provided by NSS modules 2011-05-02 21:11:17 -04:00
getcwd.c Fix Linux getcwd for long paths 2011-05-08 08:37:19 -04:00
getdtsz.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
getpagesize.c Update. 2002-08-03 07:02:10 +00:00
gettimeofday.c * configure.in: Remove gnu_ld definition and everything using it. 2005-11-06 02:06:06 +00:00
isatty.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
isfdtype.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
killpg.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
libc_fatal.c Preserve message printed before abort. 2009-06-15 16:17:09 -07:00
Makefile 2006-02-27 Roland McGrath <roland@redhat.com> 2006-02-28 07:05:34 +00:00
open64.c Update. 2002-12-15 10:26:23 +00:00
pathconf.c Update. 2003-03-14 06:28:45 +00:00
pause.c * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed. 2006-07-31 05:58:51 +00:00
posix_fallocate64.c * sysdeps/posix/posix_fallocate64.c: Undefine 2007-07-28 18:13:45 +00:00
posix_fallocate.c (posix_fallocate): If len == 0, call ftruncate if offset is bigger than current size. Make sure the file is offset + len bytes long if that is more than current size. Don't overwrite previous content of the file. 2005-05-03 15:07:47 +00:00
pread64.c 2002-09-04 Bruno Haible <bruno@clisp.org> 2002-09-06 19:20:20 +00:00
pread.c 2002-09-04 Bruno Haible <bruno@clisp.org> 2002-09-06 19:20:20 +00:00
preadv64.c * misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64. 2009-04-03 19:57:16 +00:00
preadv.c * sysdeps/unix/sysv/linux/preadv.c: The kernel API changed. Adjust. 2009-04-23 22:52:24 +00:00
profil.c [BZ #2268] 2006-02-03 22:28:47 +00:00
pwrite64.c 2002-09-04 Bruno Haible <bruno@clisp.org> 2002-09-06 19:20:20 +00:00
pwrite.c 2002-09-04 Bruno Haible <bruno@clisp.org> 2002-09-06 19:20:20 +00:00
pwritev64.c * misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64. 2009-04-03 19:57:16 +00:00
pwritev.c * sysdeps/unix/sysv/linux/preadv.c: The kernel API changed. Adjust. 2009-04-23 22:52:24 +00:00
raise.c Update. 2002-12-07 04:21:51 +00:00
readv.c * sysdeps/posix/preadv.c: Reading of zero bytes is no error. 2009-04-17 21:26:34 +00:00
remove.c Handle POSIX-compliant errno value of unlink in remove. 2010-04-04 02:08:37 -07:00
rename.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
shm_open.c * sysdeps/alpha/fpu/s_cacosf.c: Don't use sysdeps/generic/. 2005-12-15 21:13:14 +00:00
shm_unlink.c * sysdeps/alpha/fpu/s_cacosf.c: Don't use sysdeps/generic/. 2005-12-15 21:13:14 +00:00
sigblock.c * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Replace 2002-08-27 02:43:22 +00:00
sigignore.c * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup): 2005-06-17 23:11:35 +00:00
sigintr.c Update. 2002-03-14 00:57:10 +00:00
signal.c * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup): 2005-06-17 23:11:35 +00:00
sigpause.c Update. 2004-05-10 04:49:53 +00:00
sigset.c [BZ #1951] 2006-04-23 19:05:33 +00:00
sigsetmask.c * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Replace 2002-08-27 02:43:22 +00:00
sigsuspend.c Update. 2002-08-03 07:02:10 +00:00
sigvec.c Update. 2004-09-14 04:41:35 +00:00
sigwait.c Update. 2002-12-15 10:26:23 +00:00
sleep.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
spawni.c Relax requirement on close in child created by posix_spawn. 2011-01-13 13:27:46 -05:00
sprofil.c Remove useless "if" before "free". 2008-03-19 06:43:34 +00:00
sysconf.c .. 2009-02-25 00:36:33 +00:00
system.c * sysdeps/posix/system.c: Remove NO_WAITPID support, it cannot 2007-01-17 04:39:59 +00:00
sysv_signal.c * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup): 2005-06-17 23:11:35 +00:00
tempname.c Implement mkstemps and mkstemps64. 2009-10-30 00:11:07 -07:00
truncate.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
ttyname_r.c Update. 2004-09-14 04:41:35 +00:00
ttyname.c * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn): 2002-11-01 20:44:15 +00:00
utimes.c Update. 2003-09-17 09:18:37 +00:00
wait3.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
wait.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
waitid.c 2004-07-26 Roland McGrath <roland@redhat.com> 2004-07-27 01:20:15 +00:00
writev.c * sysdeps/unix/sysv/linux/kernel-features.h: Define 2009-04-03 17:23:13 +00:00