aboutsummaryrefslogtreecommitdiff
path: root/elf/cache.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-09 00:32:14 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-09 00:32:14 +0000
commit0e069029a8bb132876d315242054a312ae106852 (patch)
tree3afba08492052af6c50456621e0aba3323bccc29 /elf/cache.c
parentd0d286d32dda654f8983e8fe77bca0a2cda2051b (diff)
downloadglibc-0e069029a8bb132876d315242054a312ae106852.zip
glibc-0e069029a8bb132876d315242054a312ae106852.tar.gz
glibc-0e069029a8bb132876d315242054a312ae106852.tar.bz2
Fix dbl-64 lrint for 64-bit long (bug 19095).
The dbl-64 implementation of lrint produces incorrect results for some arguments with 64-bit long because a 32-bit (unsigned) low part of the mantissa is shifted left, losing high bits in the process. This patch fixes this by casting to long int before shifting, as in lround (as this case only applies for 64-bit long, there are no issues with sign-extension). Tested for mips64 (n64). [BZ #19095] * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Cast low part of mantissa to long int before shifting left.
Diffstat (limited to 'elf/cache.c')
0 files changed, 0 insertions, 0 deletions