From 4b71ce6c1a50c14c758f1dd7a2943f2ab9760e85 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 9 Oct 2015 11:33:30 -0700 Subject: 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. --- ChangeLog | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 025a3d8..cf987c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2015-10-09 H.J. Lu + + * 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. + 2015-10-09 Adhemerval Zanella * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S -- cgit v1.1