From 9744496f8a479c23174cc330e4d422f130804c04 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 24 Nov 2014 15:59:15 +0000 Subject: Fix perror fileno namespace (bug 17633). perror, an ISO C function, uses fileno, which is not an ISO C function. This patch makes it use __fileno instead. (The nearby call to fdopen is not a problem because that's #defined to _IO_new_fdopen.) Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by this patch). [BZ #17633] * stdio-common/perror.c (perror): Call __fileno instead of fileno. * conform/Makefile (test-xfail-ISO/stdio.h/linknamespace): Remove variable. (test-xfail-ISO99/stdio.h/linknamespace): Likewise. (test-xfail-ISO11/stdio.h/linknamespace): Likewise. --- stdio-common/perror.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'stdio-common') diff --git a/stdio-common/perror.c b/stdio-common/perror.c index 4b470156a6..7de83e4d32 100644 --- a/stdio-common/perror.c +++ b/stdio-common/perror.c @@ -56,7 +56,7 @@ perror (const char *s) oriented yet? In this case we'll create a new stream which is using the same underlying file descriptor. */ if (__builtin_expect (_IO_fwide (stderr, 0) != 0, 1) - || (fd = fileno (stderr)) == -1 + || (fd = __fileno (stderr)) == -1 || (fd = __dup (fd)) == -1 || (fp = fdopen (fd, "w+")) == NULL) { -- cgit v1.2.1