aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-10-09 11:33:30 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-10-09 11:42:10 -0700
commit4b71ce6c1a50c14c758f1dd7a2943f2ab9760e85 (patch)
treef5b4c1583cd758301d678976a78071f829f5b6a9 /elf
parent0fcc93bce950c8d0c440eee3f968fbeec22db784 (diff)
downloadglibc-4b71ce6c1a50c14c758f1dd7a2943f2ab9760e85.zip
glibc-4b71ce6c1a50c14c758f1dd7a2943f2ab9760e85.tar.gz
glibc-4b71ce6c1a50c14c758f1dd7a2943f2ab9760e85.tar.bz2
Update lrint/lrintf/lrintl for x32
The x86_64 versions of lrint/lrintf/ lrintl are aliases for the long long versions which isn't correct for x32, where exceptions must respect overflow for 32-bit long. Separate versions of the long functions for x32 that convert to 32-bit long and raise the right exceptions for that conversion, while keeping the aliases in the non-x32 case. Tested on x86_64 and x32. There are no code changes in libm.so on x86_64. * sysdeps/x86_64/fpu/s_llrint.S (__lrint): Add alias only if __ILP32__ isn't defined. (lrint): Likewise. * sysdeps/x86_64/fpu/s_llrintf.S (__lrintf): Likewise. (lrintf): Likewise. * sysdeps/x86_64/fpu/s_llrintl.S (__lrintl): Likewise. (lrintl): Likewise. * sysdeps/x86_64/x32/fpu/s_lrint.S: New file. * sysdeps/x86_64/x32/fpu/s_lrintf.S: Likewise. * sysdeps/x86_64/x32/fpu/s_lrintl.S: Likewise.
Diffstat (limited to 'elf')
0 files changed, 0 insertions, 0 deletions