+2012-08-29 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ [BZ #14516]
+ * sysdeps/unix/sysv/linux/ttyname.c (ttyname): Don't return
+ failure if reading from procfs failed.
+ * sysdeps/unix/sysv/linux/ttyname_r.c (ttyname_r): Likewise.
+
2012-08-27 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/kernel-features.h
3479, 5400, 6778, 6808, 9685, 11607, 13717, 13696, 13939, 14042, 14090,
14166, 14150, 14151, 14154, 14157, 14166, 14173, 14195, 14252, 14283,
14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349, 14459,
- 14505, 14519
+ 14505, 14516, 14519
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
New configure option --disable-build-nscd avoids building nscd itself;
this is the default if --disable-nscd is used.
+* The ttyname and ttyname_r functions on Linux now fall back to searching for
+ the tty file descriptor in /dev/pts or /dev if /proc is not available. This
+ allows creation of chroots without the procfs mounted on /proc.
+
\f
Version 2.16
}
ssize_t len = __readlink (procname, ttyname_buf, buflen);
- if (__builtin_expect (len == -1 && errno == ENOENT, 0))
- {
- __set_errno (EBADF);
- return NULL;
- }
-
if (__builtin_expect (len != -1, 1))
{
if ((size_t) len >= buflen)
*_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';
ssize_t ret = __readlink (procname, buf, buflen - 1);
- if (__builtin_expect (ret == -1 && errno == ENOENT, 0))
- {
- __set_errno (EBADF);
- return EBADF;
- }
-
if (__builtin_expect (ret == -1 && errno == ENAMETOOLONG, 0))
{
__set_errno (ERANGE);