glibc/soft-fp
Joseph Myers 0022e688d0 soft-fp: Fix _FP_TO_INT latent bug in overflow handling.
This patch fixes a latent bug in _FP_TO_INT regarding handling of
arguments with maximum exponent (infinities and NaNs).  If the maximum
exponent is below that calculated as an overflow threshold, such
values would incorrectly be treated as normal values for the purposes
of the conversion.  This could not occur for any of the conversions
actually occurring in glibc, libgcc or the Linux kernel (the maximum
exponent for float is, just, big enough to ensure overflow for
unsigned __int128), but would apply if soft-fp were used for IEEE
binary16.  Appropriate checks are inserted to ensure that the maximum
exponent is always treated as an overflowing exponent, and never as a
normal one.

Tested for powerpc-nofpu that the disassembly of installed shared
libraries is unchanged by this patch.

	* soft-fp/op-common.h (_FP_TO_INT): Ensure maximum exponent is
	treated as invalid conversion, not as normal exponent.
2014-10-09 01:07:10 +00:00
..
adddf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
addsf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
addtf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Banner Update. 1999-12-29 18:11:48 +00:00
divdf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
divsf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
divtf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
double.h soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
eqdf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
eqsf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
eqtf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
extenddftf2.c soft-fp: Make extensions of subnormals from XFmode to TFmode signal underflow if traps enabled. 2014-10-09 01:00:41 +00:00
extended.h soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
extendsfdf2.c soft-fp: Make extensions of subnormals from XFmode to TFmode signal underflow if traps enabled. 2014-10-09 01:00:41 +00:00
extendsftf2.c soft-fp: Make extensions of subnormals from XFmode to TFmode signal underflow if traps enabled. 2014-10-09 01:00:41 +00:00
extendxftf2.c soft-fp: Make extensions of subnormals from XFmode to TFmode signal underflow if traps enabled. 2014-10-09 01:00:41 +00:00
fixdfdi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixdfsi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixdfti.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixsfdi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixsfsi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixsfti.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixtfdi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixtfsi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixtfti.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunsdfdi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunsdfsi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunsdfti.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunssfdi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunssfsi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunssfti.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunstfdi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunstfsi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fixunstfti.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatdidf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatdisf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatditf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatsidf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatsisf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatsitf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floattidf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floattisf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floattitf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatundidf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatundisf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatunditf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatunsidf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatunsisf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatunsitf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatuntidf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatuntisf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
floatuntitf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fmadf4.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fmasf4.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fmatf4.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gedf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
gesf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
getf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
ledf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
lesf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
letf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
Makefile Consistently include Makeconfig after defining subdir. 2014-02-26 23:12:03 +00:00
muldf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mulsf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
multf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
negdf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
negsf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
negtf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
op-1.h soft-fp: Fix comment formatting. 2014-09-17 22:20:45 +00:00
op-2.h soft-fp: Fix comment formatting. 2014-09-17 22:20:45 +00:00
op-4.h soft-fp: Fix comment formatting. 2014-09-17 22:20:45 +00:00
op-8.h soft-fp: Fix comment formatting. 2014-09-17 22:20:45 +00:00
op-common.h soft-fp: Fix _FP_TO_INT latent bug in overflow handling. 2014-10-09 01:07:10 +00:00
quad.h soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
single.h soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
soft-fp.h soft-fp: Make extensions of subnormals from XFmode to TFmode signal underflow if traps enabled. 2014-10-09 01:00:41 +00:00
sqrtdf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sqrtsf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sqrttf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
subdf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
subsf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
subtf3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
testit.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
truncdfsf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
trunctfdf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
trunctfsf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
trunctfxf2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
unorddf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
unordsf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00
unordtf2.c soft-fp: Refactor exception handling for comparisons. 2014-10-09 01:03:56 +00:00