aboutsummaryrefslogtreecommitdiff
path: root/libio/stdio.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-02-18 11:49:54 +0100
committerFlorian Weimer <fweimer@redhat.com>2019-02-18 16:37:00 +0100
commita5406364ac949f91867352cb2ae867629f083c5b (patch)
tree0aeeedc3748d3b21cf8e8ea2e670670df1e441db /libio/stdio.c
parent6c29942cbf059aca47fd4bbd852ea42c9d46b71f (diff)
downloadglibc-a5406364ac949f91867352cb2ae867629f083c5b.zip
glibc-a5406364ac949f91867352cb2ae867629f083c5b.tar.gz
glibc-a5406364ac949f91867352cb2ae867629f083c5b.tar.bz2
libio: Eliminate _IO_stdin, _IO_stdout, _IO_stderr
These variables are only used to determine if a stdio stream is a pre-allocated stream, but it is possible to do so by comparing a FILE * to all pre-allocated stream objects. As a result, it is not necessary to keep those pointers in separate variables. Behavior with symbol interposition is unchanged because _IO_stdin_, _IO_stdout_, _IO_stderr_ are exported, and refer to objects outside of libc if symbol interposition or copy relocations are involved. (The removed variables _IO_stdin, _IO_stdout, _IO_stderr were not exported, of course.)
Diffstat (limited to 'libio/stdio.c')
-rw-r--r--libio/stdio.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/libio/stdio.c b/libio/stdio.c
index 1294d28..522de44 100644
--- a/libio/stdio.c
+++ b/libio/stdio.c
@@ -33,14 +33,3 @@
FILE *stdin = (FILE *) &_IO_2_1_stdin_;
FILE *stdout = (FILE *) &_IO_2_1_stdout_;
FILE *stderr = (FILE *) &_IO_2_1_stderr_;
-
-#undef _IO_stdin
-#undef _IO_stdout
-#undef _IO_stderr
-#define AL(name) AL2 (name, _IO_##name)
-#define AL2(name, al) \
- extern __typeof (name) al __attribute__ ((alias (#name), \
- visibility ("hidden")))
-AL(stdin);
-AL(stdout);
-AL(stderr);