glibc/sysdeps/powerpc/nofpu
Joseph Myers 898c62f488 Fix powerpc-nofpu __fe_enabled_env and __fe_nonieee_env (bug 17261).
On powerpc, floating-point environment macros are defined as pointers
to constants in the library that contain the bit-patterns of the
desired environment, instead of being magic constants cast to pointer
type.

For soft-float, the bit-patterns used for fenv_t are not laid out the
same as for hard-float.  (e500 has a third layout used; that's not an
ABI issue because these values are only meaningful within a single
process, all of whose glibc libraries must come from the same build of
glibc.)  While the __fe_dfl_env value for soft-float was appropriate
for the soft-float fenv_t representation, the other two constants had
the same bit-patterns as for hard-float.  Those bit patterns had the
effect of having exceptions already raised, causing
math/test-fenv-return to fail; this patch fixes the patterns used.
(__fe_nonieee_env also had exceptions unmasked, though they should be
masked to match hard-float semantics.  Since there is no separate
non-IEEE mode for soft-float, it's most appropriate for
__fe_nonieee_env to be the same as __fe_dfl_env; this patch makes it
an alias.)

Tested for powerpc-nofpu.

	[BZ #17261]
	* sysdeps/powerpc/nofpu/fenv_const.c (__fe_enabled_env): Change
	value to 0.
	(__fe_nonieee_env): Define as an alias for __fe_dfl_env.
2014-08-12 20:31:54 +00:00
..
Makefile Fix soft-float ldbl-128ibm atan2l signs of zero results (bug 16390). 2014-01-03 20:56:40 +00:00
Subdirs Move powerpc ports pieces to libc. 2013-10-04 16:02:33 +00:00
Versions Don't make soft-fp symbols compat symbols for powerpc-nofpu. 2013-12-19 21:26:36 +00:00
atomic-feclearexcept.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atomic-feholdexcept.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atomic-feupdateenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10: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 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10: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
fenv_const.c Fix powerpc-nofpu __fe_enabled_env and __fe_nonieee_env (bug 17261). 2014-08-12 20:31:54 +00:00
fenv_libc.h 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
flt-rounds.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fraiseexcpt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10: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
get-rounding-mode.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
libm-test-ulps Regenerate powerpc-nofpu libm-test-ulps. 2014-06-30 21:26:49 +00:00
sim-full.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
soft-supp.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00