glibc/sysdeps/x86_64/fpu
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
..
multiarch Fix pow overflow in non-default rounding modes (bug 16315). 2014-06-23 20:12:33 +00:00
dla.h Remove x86_64 __GNUC_PREREQ (4, 6) conditional. 2014-11-14 18:53:07 +00:00
e_acosl.c Update. 2001-09-19 10:37:31 +00:00
e_atan2l.c Update. 2001-09-19 10:37:31 +00:00
e_exp2l.S Optimize libm 2011-10-12 11:27:51 -04:00
e_exp10l.S Fix exp10 inaccuracy and exceptions (bugs 13884, 13914). 2012-05-06 18:23:44 +00:00
e_expf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_expl.S Fix x86/x86_64 expm1l spurious underflow exceptions (bug 16539). 2014-06-24 21:00:08 +00:00
e_fmodl.S Optimize libm 2011-10-12 11:27:51 -04:00
e_ilogbl.S Remove useless __ilogb*_finite aliases 2012-04-18 00:40:13 +02:00
e_log2l.S Fix log2 (1) in round-downward mode (bug 17042). 2014-06-10 12:07:15 +00:00
e_log10l.S Fix log10 (1) in round-downward mode (bug 16977). 2014-05-23 12:07:50 +00:00
e_logl.S Fix __ieee754_logl (-LDBL_MAX) in FE_DOWNWARD mode (bug 17022). 2014-06-18 12:32:01 +00:00
e_powl.S Fix pow overflow in non-default rounding modes (bug 16315). 2014-06-23 20:12:33 +00:00
e_remainderl.S Optimize libm 2011-10-12 11:27:51 -04:00
e_scalbl.S Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
e_sqrt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_sqrtf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
e_sqrtl.c Update. 2001-09-19 10:37:31 +00:00
fclrexcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fedisblxcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
feenablxcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fegetenv.c Fix libm fegetenv namespace (bug 17748). 2014-12-31 22:07:52 +00:00
fegetexcept.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fegetround.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
feholdexcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fesetenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fesetround.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
feupdateenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fgetexcptflg.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fraiseexcpt.c Fix libm feraiseexcept namespace (bug 17723). 2014-12-30 17:08:09 +00:00
fsetexcptflg.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ftestexcept.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Implies Use x86_64 fpu/bits/fenv.h for i386 and x86_64 2012-06-06 10:13:19 -07:00
k_rem_pio2l.c Dummy files to prevent stub versions from being used. 2007-05-17 18:39:55 +00:00
libm-test-ulps Fix yn overflow handling in non-default rounding modes (bug 16561, bug 16562). 2014-06-27 14:52:13 +00:00
math_ldbl.h Update. 2001-09-19 10:37:31 +00:00
math_private.h Use movq for 64-bit operations 2013-05-15 20:33:45 +02:00
printf_fphex.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_atanl.c Update. 2001-09-19 10:37:31 +00:00
s_ceill.S Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
s_copysign.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_copysignf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_copysignl.S Update. 2002-07-06 15:07:30 +00:00
s_cosf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_expm1l.S Fix x86/x86_64 expm1l inaccuracy and exceptions (bugs 13885, 13923). 2012-05-07 19:13:08 +00:00
s_fabs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fabsf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fabsl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fdiml.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_finitel.S Update. 2002-09-10 01:40:26 +00:00
s_floorl.S Update. 2003-11-18 07:25:02 +00:00
s_fmax.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fmaxf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fmaxl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fmin.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fminf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fminl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_fpclassifyl.c Update. 2001-09-19 10:37:31 +00:00
s_isinfl.c Update. 2001-09-19 10:37:31 +00:00
s_isnanl.c Update. 2001-09-19 10:37:31 +00:00
s_llrint.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_llrintf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_llrintl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_log1pl.S Fix log1pl (LDBL_MAX) in FE_UPWARD mode (bug 16564). 2014-05-14 12:38:56 +00:00
s_logbl.c Update. 2001-09-19 10:37:31 +00:00
s_lrint.S lrint and llrint implementation for x86-64. 2002-04-08 08:14:22 +00:00
s_lrintf.S lrint and llrint implementation for x86-64. 2002-04-08 08:14:22 +00:00
s_lrintl.S lrint and llrint implementation for x86-64. 2002-04-08 08:14:22 +00:00
s_nearbyintl.S Update. 2003-11-18 07:25:02 +00:00
s_nextafterl.c Update. 2001-09-19 10:37:31 +00:00
s_nexttoward.c Update. 2001-09-19 10:37:31 +00:00
s_nexttowardf.c Update. 2001-09-19 10:37:31 +00:00
s_rintl.c Update. 2001-09-19 10:37:31 +00:00
s_scalbnl.S Update. 2003-11-18 07:25:02 +00:00
s_signbit.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_signbitf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_significandl.c Update. 2001-09-19 10:37:31 +00:00
s_sincosf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_sinf.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
s_truncl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00