Remove legacy configuration knobs from libio.

This patch eliminates the "compatibility defines"
_IO_UNIFIED_JUMPTABLES (always defined to 1, used in a number of #ifs
which are therefore always false), _STDIO_USES_IOSTREAM (unused),
__HAVE_COLUMN (unused), _IO_BE (replaced with __glibc_unlikely), and
yet another redundant definition of EOF.

Installed stripped libraries are unchanged by this patch.

	* libio/libio.h (_IO_UNIFIED_JUMPTABLES, _STDIO_USES_IOSTREAM)
	(__HAVE_COLUMN, _IO_BE): Don't define.
	(_IO_peekc_unlocked, _IO_getwc_unlocked, _IO_putwc_unlocked)
	(_IO_fwide_maybe_incompatible): Use __glibc_unlikely.
	* libio/libioP.h (EOF): Don't define.
	* libio/iofdopen.c, libio/iofopen.c, libio/iopopen.c
	* libio/iovdprintf.c, libio/oldiofdopen.c, libio/oldiofopen.c
	* libio/oldiopopen.c, debug/vdprintf_chk.c: Remove #if block
	testing _IO_UNIFIED_JUMPTABLES.
This commit is contained in:
Zack Weinberg 2018-02-07 19:21:54 -05:00
parent 9964a14579
commit 177aad3ff6
11 changed files with 24 additions and 50 deletions

View File

@ -1,5 +1,15 @@
2018-02-21 Zack Weinberg <zackw@panix.com> 2018-02-21 Zack Weinberg <zackw@panix.com>
* libio/libio.h (_IO_UNIFIED_JUMPTABLES, _STDIO_USES_IOSTREAM)
(__HAVE_COLUMN, _IO_BE): Don't define.
(_IO_peekc_unlocked, _IO_getwc_unlocked, _IO_putwc_unlocked)
(_IO_fwide_maybe_incompatible): Use __glibc_unlikely.
* libio/libioP.h (EOF): Don't define.
* libio/iofdopen.c, libio/iofopen.c, libio/iopopen.c
* libio/iovdprintf.c, libio/oldiofdopen.c, libio/oldiofopen.c
* libio/oldiopopen.c, debug/vdprintf_chk.c: Remove #if block
testing _IO_UNIFIED_JUMPTABLES.
* libio/libio.h (_IO_FILE): Delete; all uses changed to FILE. * libio/libio.h (_IO_FILE): Delete; all uses changed to FILE.
(_IO_fpos_t): Delete; all uses changed to __fpos_t. (_IO_fpos_t): Delete; all uses changed to __fpos_t.
(_IO_fpos64_t): Delete; all uses changed to __fpos64_t. (_IO_fpos64_t): Delete; all uses changed to __fpos64_t.

View File

@ -40,9 +40,6 @@ __vdprintf_chk (int d, int flags, const char *format, va_list arg)
_IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps); _IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps);
_IO_JUMPS (&tmpfil) = &_IO_file_jumps; _IO_JUMPS (&tmpfil) = &_IO_file_jumps;
_IO_new_file_init_internal (&tmpfil); _IO_new_file_init_internal (&tmpfil);
#if !_IO_UNIFIED_JUMPTABLES
tmpfil.vtable = NULL;
#endif
if (_IO_file_attach (&tmpfil.file, d) == NULL) if (_IO_file_attach (&tmpfil.file, d) == NULL)
{ {
_IO_un_link (&tmpfil); _IO_un_link (&tmpfil);

View File

@ -137,9 +137,6 @@ _IO_new_fdopen (int fd, const char *mode)
#endif #endif
&_IO_file_jumps; &_IO_file_jumps;
_IO_new_file_init_internal (&new_f->fp); _IO_new_file_init_internal (&new_f->fp);
#if !_IO_UNIFIED_JUMPTABLES
new_f->fp.vtable = NULL;
#endif
/* We only need to record the fd because _IO_file_init_internal will /* We only need to record the fd because _IO_file_init_internal will
have unset the offset. It is important to unset the cached have unset the offset. It is important to unset the cached
offset because the real offset in the file could change between offset because the real offset in the file could change between

View File

@ -72,9 +72,6 @@ __fopen_internal (const char *filename, const char *mode, int is32)
_IO_no_init (&new_f->fp.file, 0, 0, &new_f->wd, &_IO_wfile_jumps); _IO_no_init (&new_f->fp.file, 0, 0, &new_f->wd, &_IO_wfile_jumps);
_IO_JUMPS (&new_f->fp) = &_IO_file_jumps; _IO_JUMPS (&new_f->fp) = &_IO_file_jumps;
_IO_new_file_init_internal (&new_f->fp); _IO_new_file_init_internal (&new_f->fp);
#if !_IO_UNIFIED_JUMPTABLES
new_f->fp.vtable = NULL;
#endif
if (_IO_file_fopen ((FILE *) new_f, filename, mode, is32) != NULL) if (_IO_file_fopen ((FILE *) new_f, filename, mode, is32) != NULL)
return __fopen_maybe_mmap (&new_f->fp.file); return __fopen_maybe_mmap (&new_f->fp.file);

View File

@ -200,9 +200,6 @@ _IO_new_popen (const char *command, const char *mode)
_IO_init_internal (fp, 0); _IO_init_internal (fp, 0);
_IO_JUMPS (&new_f->fpx.file) = &_IO_proc_jumps; _IO_JUMPS (&new_f->fpx.file) = &_IO_proc_jumps;
_IO_new_file_init_internal (&new_f->fpx.file); _IO_new_file_init_internal (&new_f->fpx.file);
#if !_IO_UNIFIED_JUMPTABLES
new_f->fpx.file.vtable = NULL;
#endif
if (_IO_new_proc_open (fp, command, mode) != NULL) if (_IO_new_proc_open (fp, command, mode) != NULL)
return (FILE *) &new_f->fpx.file; return (FILE *) &new_f->fpx.file;
_IO_un_link (&new_f->fpx.file); _IO_un_link (&new_f->fpx.file);

View File

@ -40,9 +40,6 @@ _IO_vdprintf (int d, const char *format, va_list arg)
_IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps); _IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps);
_IO_JUMPS (&tmpfil) = &_IO_file_jumps; _IO_JUMPS (&tmpfil) = &_IO_file_jumps;
_IO_new_file_init_internal (&tmpfil); _IO_new_file_init_internal (&tmpfil);
#if !_IO_UNIFIED_JUMPTABLES
tmpfil.vtable = NULL;
#endif
if (_IO_file_attach (&tmpfil.file, d) == NULL) if (_IO_file_attach (&tmpfil.file, d) == NULL)
{ {
_IO_un_link (&tmpfil); _IO_un_link (&tmpfil);

View File

@ -61,9 +61,6 @@ typedef union
#include <shlib-compat.h> #include <shlib-compat.h>
/* compatibility defines */ /* compatibility defines */
#define _STDIO_USES_IOSTREAM
#define _IO_UNIFIED_JUMPTABLES 1
#define __HAVE_COLUMN
#define _IO_file_flags _flags #define _IO_file_flags _flags
/* open modes */ /* open modes */
@ -228,28 +225,23 @@ extern wint_t __wunderflow (FILE *);
extern wint_t __wuflow (FILE *); extern wint_t __wuflow (FILE *);
extern wint_t __woverflow (FILE *, wint_t); extern wint_t __woverflow (FILE *, wint_t);
#if __GNUC__ >= 3
# define _IO_BE(expr, res) __builtin_expect ((expr), res)
#else
# define _IO_BE(expr, res) (expr)
#endif
#define _IO_getc_unlocked(_fp) __getc_unlocked_body (_fp) #define _IO_getc_unlocked(_fp) __getc_unlocked_body (_fp)
#define _IO_peekc_unlocked(_fp) \ #define _IO_peekc_unlocked(_fp) \
(_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \ (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \
&& __underflow (_fp) == EOF ? EOF \ && __underflow (_fp) == EOF \
: *(unsigned char *) (_fp)->_IO_read_ptr) ? EOF \
: *(unsigned char *) (_fp)->_IO_read_ptr)
#define _IO_putc_unlocked(_ch, _fp) __putc_unlocked_body (_ch, _fp) #define _IO_putc_unlocked(_ch, _fp) __putc_unlocked_body (_ch, _fp)
# define _IO_getwc_unlocked(_fp) \ # define _IO_getwc_unlocked(_fp) \
(_IO_BE ((_fp)->_wide_data == NULL \ (__glibc_unlikely ((_fp)->_wide_data == NULL \
|| ((_fp)->_wide_data->_IO_read_ptr \ || ((_fp)->_wide_data->_IO_read_ptr \
>= (_fp)->_wide_data->_IO_read_end), 0) \ >= (_fp)->_wide_data->_IO_read_end)) \
? __wuflow (_fp) : (wint_t) *(_fp)->_wide_data->_IO_read_ptr++) ? __wuflow (_fp) : (wint_t) *(_fp)->_wide_data->_IO_read_ptr++)
# define _IO_putwc_unlocked(_wch, _fp) \ # define _IO_putwc_unlocked(_wch, _fp) \
(_IO_BE ((_fp)->_wide_data == NULL \ (__glibc_unlikely ((_fp)->_wide_data == NULL \
|| ((_fp)->_wide_data->_IO_write_ptr \ || ((_fp)->_wide_data->_IO_write_ptr \
>= (_fp)->_wide_data->_IO_write_end), 0) \ >= (_fp)->_wide_data->_IO_write_end)) \
? __woverflow (_fp, _wch) \ ? __woverflow (_fp, _wch) \
: (wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch))) : (wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))
@ -304,7 +296,7 @@ extern int _IO_fwide (FILE *__fp, int __mode) __THROW;
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
# define _IO_fwide_maybe_incompatible \ # define _IO_fwide_maybe_incompatible \
(__builtin_expect (&_IO_stdin_used == NULL, 0)) (__glibc_unlikely (&_IO_stdin_used == NULL))
extern const int _IO_stdin_used; extern const int _IO_stdin_used;
weak_extern (_IO_stdin_used); weak_extern (_IO_stdin_used);
#else #else

View File

@ -690,10 +690,6 @@ extern off64_t _IO_seekoff_unlocked (FILE *, off64_t, int, int)
extern off64_t _IO_seekpos_unlocked (FILE *, off64_t, int) extern off64_t _IO_seekpos_unlocked (FILE *, off64_t, int)
attribute_hidden; attribute_hidden;
#ifndef EOF
# define EOF (-1)
#endif
#if _G_HAVE_MMAP #if _G_HAVE_MMAP
# include <unistd.h> # include <unistd.h>

View File

@ -102,9 +102,6 @@ _IO_old_fdopen (int fd, const char *mode)
_IO_old_init (&new_f->fp.file._file, 0); _IO_old_init (&new_f->fp.file._file, 0);
_IO_JUMPS_FILE_plus (&new_f->fp) = &_IO_old_file_jumps; _IO_JUMPS_FILE_plus (&new_f->fp) = &_IO_old_file_jumps;
_IO_old_file_init_internal ((struct _IO_FILE_plus *) &new_f->fp); _IO_old_file_init_internal ((struct _IO_FILE_plus *) &new_f->fp);
#if !_IO_UNIFIED_JUMPTABLES
new_f->fp.vtable = NULL;
#endif
if (_IO_old_file_attach (&new_f->fp.file._file, fd) == NULL) if (_IO_old_file_attach (&new_f->fp.file._file, fd) == NULL)
{ {
_IO_un_link ((struct _IO_FILE_plus *) &new_f->fp); _IO_un_link ((struct _IO_FILE_plus *) &new_f->fp);

View File

@ -52,9 +52,6 @@ _IO_old_fopen (const char *filename, const char *mode)
_IO_old_init (&new_f->fp.file._file, 0); _IO_old_init (&new_f->fp.file._file, 0);
_IO_JUMPS_FILE_plus (&new_f->fp) = &_IO_old_file_jumps; _IO_JUMPS_FILE_plus (&new_f->fp) = &_IO_old_file_jumps;
_IO_old_file_init_internal ((struct _IO_FILE_plus *) &new_f->fp); _IO_old_file_init_internal ((struct _IO_FILE_plus *) &new_f->fp);
#if !_IO_UNIFIED_JUMPTABLES
new_f->fp.vtable = NULL;
#endif
if (_IO_old_file_fopen ((FILE *) &new_f->fp, filename, mode) != NULL) if (_IO_old_file_fopen ((FILE *) &new_f->fp, filename, mode) != NULL)
return (FILE *) &new_f->fp; return (FILE *) &new_f->fp;
_IO_un_link ((struct _IO_FILE_plus *) &new_f->fp); _IO_un_link ((struct _IO_FILE_plus *) &new_f->fp);

View File

@ -157,9 +157,6 @@ _IO_old_popen (const char *command, const char *mode)
_IO_old_init (fp, 0); _IO_old_init (fp, 0);
_IO_JUMPS_FILE_plus (&new_f->fpx.file) = &_IO_old_proc_jumps; _IO_JUMPS_FILE_plus (&new_f->fpx.file) = &_IO_old_proc_jumps;
_IO_old_file_init_internal ((struct _IO_FILE_plus *) &new_f->fpx.file); _IO_old_file_init_internal ((struct _IO_FILE_plus *) &new_f->fpx.file);
#if !_IO_UNIFIED_JUMPTABLES
new_f->fpx.file.vtable = NULL;
#endif
if (_IO_old_proc_open (fp, command, mode) != NULL) if (_IO_old_proc_open (fp, command, mode) != NULL)
return fp; return fp;
_IO_un_link ((struct _IO_FILE_plus *) &new_f->fpx.file); _IO_un_link ((struct _IO_FILE_plus *) &new_f->fpx.file);