glibc/libio
Joseph Myers ec481ad81b Fix -Os ferror_unlocked linknamespace, localplt issues (bug 15105, bug 19463).
Continuing the fixes for linknamespace and localplt test failures with
-Os that arise from functions not being inlined in that case, this
patch fixes such failures for ferror_unlocked.

The usual approach is followed of adding __ferror_unlocked (inlined
when ferror_unlocked is), making calls use it when required for
namespace reasons (only one such call), and using libc_hidden_proto /
libc_hidden_weak for the ferror_unlocked weak alias when only localplt
but not namespace issues are involved.

Tested for x86_64 (both without -Os to make sure that case continues
to work, and with -Os to make sure all the relevant linknamespace and
localplt test failures are resolved).  Because of other such failures
that remain after this patch, neither of the bugs can yet be closed.

	[BZ #15105]
	[BZ #19463]
	* libio/ferror_u.c (ferror_unlocked): Rename to __ferror_unlocked
	and define as weak alias of __ferror_unlocked.  Use
	libc_hidden_weak.
	* include/stdio.h [!_ISOMAC] (ferror_unlocked): Use
	libc_hidden_proto.
	[!_ISOMAC] (__ferror_unlocked) New declaration, and inline
	function if [__USE_EXTERN_INLINES].
	* time/getdate.c (__getdate_r): Call __ferror_unlocked instead of
	ferror_unlocked.
2018-02-19 17:32:34 +00:00
..
bits Post-cleanup 1: move libio.h back out of bits/. 2018-02-07 10:09:47 -05:00
__fbufsize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__flbf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fpending.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fpurge.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__freadable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__freading.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fsetlocking.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fwritable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fwriting.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-fopena+.c
bug-fseek.c
bug-ftell.c
bug-memstream1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
bug-mmap-fflush.c
bug-rewind2.c Fix warnings in fwscanf / rewind tests. 2014-11-26 12:54:39 +00:00
bug-rewind.c Fix warnings in fwscanf / rewind tests. 2014-11-26 12:54:39 +00:00
bug-ungetc2.c
bug-ungetc3.c Update. 2004-11-09 07:05:27 +00:00
bug-ungetc4.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ungetc.c
bug-ungetwc1.c Fix libio/bug-ungetwc1.c warning. 2014-11-27 16:01:04 +00:00
bug-ungetwc2.c
bug-wfflush.c
bug-wmemstream1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
bug-wsetpos.c Fix fsetpos on wide stream. 2009-09-02 19:45:33 -07:00
clearerr_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clearerr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Depend
fcloseall.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
feof_u.c Fix -Os feof_unlocked linknamespace, localplt issues (bug 15105, bug 19463). 2018-02-15 20:57:15 +00:00
feof.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ferror_u.c Fix -Os ferror_unlocked linknamespace, localplt issues (bug 15105, bug 19463). 2018-02-19 17:32:34 +00:00
ferror.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
filedoalloc.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
fileno.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fileops.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
fmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
freopen64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseeko64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseeko.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftello64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftello.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
genops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofdopen.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
iofflush_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofflush.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgets_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgets.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetws_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopen64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopen.c Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
iofopncook.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputs_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputs.c Use libc_hidden_* for fputs (bug 15105). 2018-02-15 20:58:16 +00:00
iofputws_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofread_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofread.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofsetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofsetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioftell.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwrite_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwrite.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetdelim.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogets.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetwline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iolibio.h Post-cleanup 1: move libio.h back out of bits/. 2018-02-07 10:09:47 -05:00
iopadn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iopopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioputs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioseekoff.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioseekpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iosetbuffer.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iosetvbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioungetc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioungetwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovdprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovsprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovsscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovswscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iowpadn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libio.h Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
libioP.h Post-cleanup 2: minimize _G_config.h. 2018-02-07 10:10:32 -05:00
Makefile Don't install libio.h or _G_config.h. 2018-02-07 10:07:31 -05:00
memstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
obprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldfileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldfmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofdopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofgetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofgetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofsetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofsetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiopopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldpclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldstdfiles.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldtmpfile.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
peekc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rewind.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setlinebuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdfiles.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdio.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdio.h Don't install libio.h or _G_config.h. 2018-02-07 10:07:31 -05:00
strfile.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
strops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-fmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-freopen.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_getwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_getwc.input
tst_putwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_swprintf.c
tst_swscanf.c
tst_wprintf2.c Add dependencies on needed locales in each subdir tests (bug 18969) 2015-10-12 15:18:08 +02:00
tst_wprintf.c
tst_wscanf.c
tst_wscanf.input
tst-atime.c Fix libio/tst-atime not to presume ST_NOATIME exists. 2015-02-06 12:24:16 -08:00
tst-bz22415.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-eof.c
tst-ext2.c * libio/Makefile (tests): Add tst-ext2. 2007-10-13 07:33:09 +00:00
tst-ext.c
tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name. 2009-06-15 17:27:48 -07:00
tst-fgetwc.input 2009-02-04 Ulrich Drepper <drepper@redhat.com> 2009-02-04 21:27:48 +00:00
tst-fgetws.c
tst-fopenloc2.c [BZ #2173] 2006-01-19 01:35:28 +00:00
tst-fopenloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fputws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-active-handler.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-append.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-partial-wide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fwrite-error.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-memstream1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-memstream2.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-memstream3.c libio: Rename _FWRITE to FWRITE_FUNC 2018-01-29 23:00:17 +01:00
tst-mmap2-eofsync.c 2016-06-11 Paul Pluzhnikov <ppluzhnikov@google.com> 2016-06-11 14:50:16 -07:00
tst-mmap-eofsync.c
tst-mmap-fflushsync.c
tst-mmap-offend.c
tst-mmap-setvbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-popen1.c * sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias. 2008-07-27 18:26:13 +00:00
tst-setvbuf1.c [BZ #2337] 2006-12-13 23:17:54 +00:00
tst-sscanf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-swscanf.c
tst-ungetwc1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-ungetwc2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-widetext.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-widetext.input Finish change from “Bengali” to “Bangla” 2017-09-09 12:41:54 +02:00
tst-wmemstream1.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
tst-wmemstream2.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
tst-wmemstream3.c libio: Rename _FWRITE to FWRITE_FUNC 2018-01-29 23:00:17 +01:00
vasprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions Single threaded stdio optimization 2017-07-04 16:05:12 +01:00
vscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vsnprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vswprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vtables.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vwprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vwscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wfiledoalloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wfileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wgenops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wmemstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wstrops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00