glibc/include
Joseph Myers 73a268c759 Fix libm fegetenv namespace (bug 17748).
Some C90 libm functions call fegetenv via libc_feholdsetround*
functions in math_private.h.  This patch makes them call __fegetenv
instead, making fegetenv into a weak alias for __fegetenv as needed.

Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch).  Also tested for ARM
(soft-float) that fegetenv failures disappear from the linknamespace
test failures (however, similar fixes will also be needed for
fegetround, feholdexcept, fesetenv, fesetround and feupdateenv before
this set of namespace issues covered by bug 17748 is fully fixed and
those linknamespace tests start passing).

	[BZ #17748]
	* include/fenv.h (__fegetenv): Use libm_hidden_proto.
	* math/fegetenv.c (__fegetenv): Use libm_hidden_def.
	* sysdeps/aarch64/fpu/fegetenv.c (fegetenv): Rename to __fegetenv
	and define as weak alias of __fegetenv.  Use libm_hidden_weak.
	* sysdeps/alpha/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
	* sysdeps/arm/fegetenv.c (fegetenv): Rename to __fegetenv and
	define as weak alias of __fegetenv.  Use libm_hidden_weak.
	* sysdeps/hppa/fpu/fegetenv.c (fegetenv): Likewise.
	* sysdeps/i386/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
	* sysdeps/ia64/fpu/fegetenv.c (fegetenv): Rename to __fegetenv and
	define as weak alias of __fegetenv.  Use libm_hidden_weak.
	* sysdeps/m68k/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
	* sysdeps/mips/fpu/fegetenv.c (fegetenv): Rename to __fegetenv and
	define as weak alias of __fegetenv.  Use libm_hidden_weak.
	* sysdeps/powerpc/fpu/fegetenv.c (__fegetenv): Use
	libm_hidden_def.
	* sysdeps/powerpc/nofpu/fegetenv.c (__fegetenv): Likewise.
	* sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c (__fegetenv):
	Likewise.
	* sysdeps/s390/fpu/fegetenv.c (fegetenv): Rename to __fegetenv and
	define as weak alias of __fegetenv.  Use libm_hidden_weak.
	* sysdeps/sh/sh4/fpu/fegetenv.c (fegetenv): Likewise.
	* sysdeps/sparc/fpu/fegetenv.c (__fegetenv): Use libm_hidden_def.
	* sysdeps/tile/math_private.h (__fegetenv): New inline function.
	* sysdeps/x86_64/fpu/fegetenv.c (fegetenv): Rename to __fegetenv
	and define as weak alias of __fegetenv.  Use libm_hidden_weak.
	* sysdeps/generic/math_private.h (libc_feholdsetround_ctx): Use
	__fegetenv instead of fegetenv.
	(libc_feholdsetround_noex_ctx): Likewise.
2014-12-31 22:07:52 +00:00
..
arpa Fix resolver inet_* namespace (bug 17722). 2014-12-17 18:09:11 +00:00
bits Use IS_IN internally only 2014-11-24 15:24:34 +05:30
gnu Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
net Fix resolver if_* namespace (bug 17717). 2014-12-16 18:18:49 +00:00
netinet First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
programs Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
protocols (abmon): Remove spaces. 1998-11-12 18:03:43 +00:00
rpc Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
rpcsvc * nis/nis_domain_of.c (__nis_domain_of): New function. 2007-04-19 14:28:01 +00:00
sys Fix __sendmmsg prototype guards 2014-12-11 14:55:44 -05:00
aio.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
aliases.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
alloca.h Account for alloca size rounding in extend_alloca 2011-11-01 18:29:34 +01:00
argp.h Update. 2000-12-28 15:08:51 +00:00
argz.h Remove use of INTDEF/INTUSE in intl 2012-05-24 23:08:18 +02:00
assert.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
atomic.h Add atomic operations similar to those provided by C11. 2014-11-20 11:58:42 +01:00
byteswap.h Update. 1998-04-10 10:52:25 +00:00
caller.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
complex.h conformtest: Fix namespace testing. 2013-09-04 20:47:21 +00:00
cpio.h Add more headers to include/ for conform tests. 2014-12-11 21:41:30 +00:00
ctype.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
des.h Update. 1998-03-24 10:39:42 +00:00
dirent.h Fix __getcwd rewinddir namespace (bug 17584). 2014-11-12 16:24:16 +00:00
dlfcn.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
elf.h Check supported DF_1_XXX bits 2012-11-21 06:33:19 -08:00
endian.h Update. 2001-03-30 05:34:59 +00:00
envz.h 2002-08-03 Roland McGrath <roland@redhat.com> 2002-08-04 01:28:06 +00:00
err.h * include/sys/syslog.h: Use libc_hidden_proto for syslog, vsyslog. 2002-08-03 12:59:33 +00:00
errno.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
error.h Update. 1997-06-21 02:59:26 +00:00
execinfo.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
fcntl.h Remove __libc_creat function name. 2014-10-30 19:44:31 +00:00
features.h Update version.h and include/features.h for 2.20 release 2014-09-07 18:09:09 +10:00
fenv.h Fix libm fegetenv namespace (bug 17748). 2014-12-31 22:07:52 +00:00
fmtmsg.h Add more headers to include/ for conform tests. 2014-12-11 21:41:30 +00:00
fnmatch.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
fpu_control.h Update. 1999-11-23 17:22:17 +00:00
ftw.h Update. 1997-06-21 02:59:26 +00:00
gconv.h Update. 1997-11-18 02:50:07 +00:00
getopt_int.h Update. 2004-03-09 10:36:53 +00:00
getopt.h Update. 2004-03-09 10:36:53 +00:00
glob.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
gmp.h * include/gmp.h: Include/gmp-mparam.h. * stdlib/strtod.c: Include gmp-mparam.h before gmp.h and gmp-impl.h. 2003-03-14 05:48:18 +00:00
gnu-versions.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
grp.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
gshadow.h [BZ #9955] 2009-04-23 18:29:30 +00:00
iconv.h Update. 1999-08-21 00:38:15 +00:00
ifaddrs.h Remove IS_IN_nscd 2014-11-24 11:41:44 +05:30
ifunc-impl-list.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
inline-hashtab.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
langinfo.h Add first fixes for conformtest for POSIX2008 2012-02-26 21:32:56 -05:00
libc-internal.h Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
libc-symbols.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
libgen.h Update. 1997-06-21 02:59:26 +00:00
libintl.h Remove use of INTDEF/INTUSE in intl 2012-05-24 23:08:18 +02:00
libio.h Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
limits.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
link.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
list.h Get rid of nptl/sysdeps/pthread/ subdirectory 2014-06-12 13:48:47 -07:00
locale.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
malloc.h * malloc/malloc.c (_int_free): Second argument is now mchunkptr. 2009-02-07 22:01:49 +00:00
math.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
mcheck.h * include/sys/resource.h: Use libc_hidden_proto for getpriority, 2002-08-04 03:50:21 +00:00
memory.h Update. 1997-06-21 02:59:26 +00:00
mntent.h Remove use of INTUSE/INTDEF in misc. 2012-05-31 13:10:02 +02:00
monetary.h Add first fixes for conformtest for POSIX2008 2012-02-26 21:32:56 -05:00
mqueue.h Use IS_IN internally only 2014-11-24 15:24:34 +05:30
netdb.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
netgroup.h Update. 1997-06-21 02:59:26 +00:00
nl_types.h Update. 1997-12-22 20:53:38 +00:00
nss.h Update. 1997-06-21 02:59:26 +00:00
nsswitch.h Update. 1997-06-21 02:59:26 +00:00
obstack.h Update. 2002-08-04 09:27:27 +00:00
poll.h Update. 2000-08-21 16:02:48 +00:00
printf.h Update. 2002-08-03 07:02:10 +00:00
pthread.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
pty.h Update. 2004-10-24 21:29:41 +00:00
pwd.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
regex.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
resolv.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
rounding-mode.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sched.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
search.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
set-hooks.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
setjmp.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
sgtty.h Update. 1997-06-21 02:59:26 +00:00
shadow.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
shlib-compat.h Remove IS_IN_libc 2014-11-24 11:41:43 +05:30
signal.h Remove sigvec. 2014-11-14 11:06:08 -08:00
spawn.h Update. 2000-10-01 19:15:29 +00:00
stab.h Update. 1997-06-21 02:59:26 +00:00
stackinfo.h Compile with -Wundef. 2014-03-14 11:32:51 -07:00
stap-probe.h Remove IN_LIB 2014-11-24 11:41:42 +05:30
stdc-predef.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stdio_ext.h Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
stdio.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
stdlib.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
string.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
strings.h Update. 1997-06-21 02:59:26 +00:00
stropts.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
stubs-prologue.h * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
syscall.h Update. 1997-06-21 02:59:26 +00:00
sysexits.h Update. 1997-06-21 02:59:26 +00:00
syslog.h Update. 1997-06-21 02:59:26 +00:00
tar.h Update. 1997-06-21 02:59:26 +00:00
termios.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
tgmath.h Update. 1998-09-06 23:45:24 +00:00
time.h Fix symbol definitions for __clock_* functions 2013-06-11 11:11:11 +05:30
ttyent.h * include/search.h: Use libc_hidden_proto for hsearch_r, lfind. 2002-08-04 01:29:29 +00:00
uchar.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
ucontext.h Update. 1999-10-12 18:17:41 +00:00
ulimit.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
unistd.h Don't use INTVARDEF/INTUSE with __libc_enable_secure (bug 14132). 2014-10-10 11:13:11 +00:00
utime.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
utmp.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
values.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wchar.h Fix strftime wcschr namespace (bug 17634). 2014-12-10 16:59:02 +00:00
wctype.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
wordexp.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
xlocale.h Update. 1997-06-21 02:59:26 +00:00