• Joseph Myers's avatar
    math-emu: fix floating-point to integer overflow detection · d06b3326
    Joseph Myers authored
    On overflow, the math-emu macro _FP_TO_INT_ROUND tries to saturate its
    result (subject to the value of rsigned specifying the desired
    overflow semantics).  However, if the rounding step has the effect of
    increasing the exponent so as to cause overflow (if the rounded result
    is 1 larger than the largest positive value with the given number of
    bits, allowing for signedness), the overflow does not get detected,
    meaning that for unsigned results 0 is produced instead of the maximum
    unsigned integer with the give number of bits, without an exception
    being raised for overflow, and that for signed results the minimum
    (negative) value is produced instead of the maximum (positive) value,
    again without an exception.  This patch makes the code check for
    rounding increasing the exponent and adjusts the exponent value as
    needed for the overflow check.
    Signed-off-by: 's avatarJoseph Myers <joseph@codesourcery.com>
    Signed-off-by: 's avatarScott Wood <scottwood@freescale.com>
    d06b3326
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt/kvm Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...