glibc/sysdeps/posix
Joseph Myers 7fc03cf320 Fix -Os feof_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 feof_unlocked.

The usual approach is followed of adding __feof_unlocked (inlined when
feof_unlocked is), making calls use it when required for namespace
reasons, and using libc_hidden_proto / libc_hidden_weak for the
feof_unlocked weak alias when only localplt but not namespace issues
are involved.  In the case of getaddrinfo.c, use of __feof_unlocked
needs to be conditional since that code is also used in nscd (where
__feof_unlocked is not available).

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/feof_u.c (feof_unlocked): Rename to __feof_unlocked and
	define as weak alias of __feof_unlocked.  Use libc_hidden_weak.
	* include/stdio.h (feof_unlocked): Use libc_hidden_proto.
	(__feof_unlocked): New declaration, and inline function if
	[__USE_EXTERN_INLINES].
	* iconv/gconv_conf.c (read_conf_file): Call __feof_unlocked
	instead of feof_unlocked.
	* intl/localealias.c [_LIBC] (FEOF): Likewise.
	* nss/nsswitch.c (nss_parse_file): Likewise.
	* sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area):
	Likewise.
	* time/getdate.c (__getdate_r): Likewise.
	* sysdeps/posix/getaddrinfo.c [IS_IN (libc)] (feof_unlocked):
	Define as macro to call __feof_unlocked.
2018-02-15 20:57:15 +00:00
..
Makefile NPTL: Refactor named semaphore code to use shm-directory.h 2014-12-12 15:01:30 -08:00
Subdirs Make sysdeps/posix bring in login subdir. 2015-07-23 17:04:22 -07:00
alarm.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clock_getres.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
closedir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dirfd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dirstream.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-fileid.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dup.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
euidaccess.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fdopendir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
flock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fpathconf.c Reject invalid definitions of _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE 2018-01-29 22:21:21 +01:00
gai_strerror-strs.h * sysdeps/posix/gai_strerror.c: Complete rewrite. Avoid relocations. 2005-12-20 17:53:00 +00:00
gai_strerror.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getaddrinfo.c Fix -Os feof_unlocked linknamespace, localplt issues (bug 15105, bug 19463). 2018-02-15 20:57:15 +00:00
getcwd.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getdtsz.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gethostname.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gettimeofday.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
isatty.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
isfdtype.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
killpg.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
mkfifo.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mkfifoat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
nice.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
open64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
opendir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pathconf.c Reject invalid definitions of _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE 2018-01-29 22:21:21 +01:00
pause.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
posix_fallocate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
posix_fallocate64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pread.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pread64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
preadv.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
preadv2.c preadv2/pwritev2: Handle offset == -1 [BZ #22753] 2018-02-02 10:46:26 +01:00
preadv64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
preadv64v2.c preadv2/pwritev2: Handle offset == -1 [BZ #22753] 2018-02-02 10:46:26 +01:00
preadv_common.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
profil.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pwrite.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pwrite64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pwritev.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pwritev2.c preadv2/pwritev2: Handle offset == -1 [BZ #22753] 2018-02-02 10:46:26 +01:00
pwritev64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pwritev64v2.c preadv2/pwritev2: Handle offset == -1 [BZ #22753] 2018-02-02 10:46:26 +01:00
pwritev_common.c hurd: Fix pwritev* 2018-01-07 13:31:36 +01:00
raise.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readdir_r.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readv.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
remove.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rewinddir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
seekdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
shm-directory.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
shm-directory.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
shm_open.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
shm_unlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigblock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigignore.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigintr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
signal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigpause.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigset.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigsetmask.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigsuspend.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sigwait.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sleep.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
spawni.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sprofil.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysconf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
system.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysv_signal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
telldir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tempname.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
time.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timespec_get.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
truncate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ttyname.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ttyname_r.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ulimit.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
usleep.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wait.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wait3.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
waitid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
writev.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00