diff options
author | 2012-04-01 12:57:18 -0400 | |
---|---|---|
committer | 2013-01-07 23:06:22 +0100 | |
commit | cabd91c3bb74a5bc43c3192126af752891d11d77 (patch) | |
tree | 96be8d73cfe3a5228ecfee947d5dc6b2498503e8 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs (diff) | |
download | linux-dev-cabd91c3bb74a5bc43c3192126af752891d11d77.tar.xz linux-dev-cabd91c3bb74a5bc43c3192126af752891d11d77.zip |
parisc: avoid undefined shift in cnv_float.h
The attached change fixes a float conversion problem found running the
GCC testsuite with GCC configured with --with-arch=2.0.
The actual problem occurs for an exponent value of 63. This is the
maximum exponent value that can be passed. This causes a left shift by
32 in the else hunk of the macro. This causes undefined behavior and the
wrong value is returned for dresultB. The fix is the check "exponent <=
62". If the exponent is 63, dresultB is set to 0. The patch also
optimizes the operation a bit by copying "Sall(sgl_value) <<
SGL_EXP_LENGTH" to val, so that sgl_value is not modified.
Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions