about summary refs log tree commit diff
path: root/ChangeLog
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 /ChangeLog
parent6c29942cbf059aca47fd4bbd852ea42c9d46b71f (diff)
downloadglibc-a5406364ac949f91867352cb2ae867629f083c5b.tar.gz
glibc-a5406364ac949f91867352cb2ae867629f083c5b.tar.xz
glibc-a5406364ac949f91867352cb2ae867629f083c5b.zip
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 'ChangeLog')
-rw-r--r--ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 269c7569c9..a359b0631b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2019-02-18  Florian Weimer  <fweimer@redhat.com>
+
+	* libio/libio.h (_IO_stdin, _IO_stdout, _IO_stderr): Remove
+	declaration.
+	* libio/stdio.c (AL, AL2, _IO_stdin, _IO_stdout, _IO_stderr):
+	Remove definitions.
+	* libio/stdfiles.c: Update comment.
+	* libio/oldstdfiles.c (_IO_check_libio): Update comment.  Do not
+	set _IO_stdin, _IO_stdout, _IO_stderr.
+	* libio/libioP.h (_IO_fake_stdiobuf): Remove unused declaration.
+	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)] (_IO_legacy_file): New
+	inline function.
+	(_IO_deallocate_file): New inline function.
+	* libio/iolibio.h (_IO_vprintf): Remove definition.
+	* libio/iofclose.c (_IO_new_fclose): Use _IO_deallocate_file.
+	* libio/oldiofclose.c (_IO_old_fclose): Likewise.
+	* libio/iofwide.c (_IO_fwide): Use __glibc_unlikely and
+	_IO_legacy_file.
+	* libio/oldfileops.c (_IO_old_file_init_internal): Remove
+	__builtin_expect.  Use _IO_legacy_file.
+
 2019-02-18  Stefan Liebler  <stli@linux.ibm.com>
 
 	* sysdeps/unix/sysv/linux/tst-clone3.c (do_test):