glibc/include
Joseph Myers b93c2205ec Fix libm fegetround namespace (bug 17748).
Continuing the fixes for C90 libm functions calling C99 fe* functions,
this patch fixes the case of fegetround by making it a weak alias of
__fegetround and making the affected code call __fegetround.

Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch).  Also tested for ARM
(soft-float) that fegetround failures disappear from the linknamespace
test failures (feholdexcept, fesetenv, fesetround and feupdateenv
remain to be addressed before bug 17748 is fully fixed, although this
patch may suffice to fix the failures in some cases, when the libc_fe*
functions are implemented but there is no architecture-specific sqrt
implementation in use so there were failures from fegetround used by
sqrt but no other such failures).

	[BZ #17748]
	* include/fenv.h (__fegetround): Declare.  Use libm_hidden_proto.
	* math/fegetround.c (fegetround): Rename to __fegetround and
	define as weak alias of __fegetround.  Use libm_hidden_weak.
	* sysdeps/aarch64/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/alpha/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/arm/fegetround.c (fegetround): Likewise.
	* sysdeps/hppa/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/i386/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/ia64/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/m68k/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/mips/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/powerpc/fpu/fegetround.c (fegetround): Likewise.
	Undefine after rather than before function definition; use
	parentheses around function name in definition.
	(__fegetround): Also undefine macro after function definition.
	* sysdeps/powerpc/nofpu/fegetround.c (fegetround): Rename to
	__fegetround and define as weak alias of __fegetround.  Use
	libm_hidden_weak.  Do not undefine as macro.
	* sysdeps/powerpc/powerpc32/e500/nofpu/fegetround.c (fegetround):
	Likewise.
	* sysdeps/s390/fpu/fegetround.c (fegetround): Rename to
	__fegetround and define as weak alias of __fegetround.  Use
	libm_hidden_weak.
	* sysdeps/sh/sh4/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/sparc/fpu/fegetround.c (fegetround): Likewise.
	* sysdeps/tile/math_private.h (__fegetround): New inline function.
	* sysdeps/x86_64/fpu/fegetround.c (fegetround): Rename to
	__fegetround and define as weak alias of __fegetround.  Use
	libm_hidden_weak.
	* sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Use
	__fegetround instead of fegetround.
2015-01-02 20:44:42 +00:00
..
arpa Fix resolver inet_* namespace (bug 17722). 2014-12-17 18:09:11 +00:00
bits Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gnu Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
protocols
rpc Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
rpcsvc
sys Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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
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 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
byteswap.h
caller.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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
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
envz.h
err.h
errno.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
error.h
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 copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fenv.h Fix libm fegetround namespace (bug 17748). 2015-01-02 20:44:42 +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
ftw.h
gconv.h
getopt_int.h
getopt.h
glob.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
gmp.h
gnu-versions.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
grp.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
gshadow.h
iconv.h
ifaddrs.h Remove IS_IN_nscd 2014-11-24 11:41:44 +05:30
ifunc-impl-list.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
inline-hashtab.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libgen.h
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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
link.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
list.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
locale.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
malloc.h
math.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
mcheck.h
memory.h
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
nl_types.h
nss.h
nsswitch.h
obstack.h
poll.h
printf.h
pthread.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
pty.h
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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
setjmp.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
sgtty.h
shadow.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
shlib-compat.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
signal.h Remove sigvec. 2014-11-14 11:06:08 -08:00
spawn.h
stab.h
stackinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stap-probe.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdc-predef.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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
stropts.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
stubs-prologue.h
syscall.h
sysexits.h
syslog.h
tar.h
termios.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
tgmath.h
time.h Fix symbol definitions for __clock_* functions 2013-06-11 11:11:11 +05:30
ttyent.h
uchar.h First steps to get conformtest fully working 2012-02-25 23:18:39 -05:00
ucontext.h
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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00: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