This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/16422] [powerpc] math-float, math-double failing llrint tests with "Exception "Inexact" set" on ppc32
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 13 Oct 2015 00:54:15 +0000
- Subject: [Bug math/16422] [powerpc] math-float, math-double failing llrint tests with "Exception "Inexact" set" on ppc32
- Auto-submitted: auto-generated
- References: <bug-16422-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16422
--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via e8dab9477f33ab7a67405f4e147cbaa1a4bb443b (commit)
from 5b1766a0cde255eff9868a9eeb49f66a89842cb8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e8dab9477f33ab7a67405f4e147cbaa1a4bb443b
commit e8dab9477f33ab7a67405f4e147cbaa1a4bb443b
Author: Joseph Myers <joseph@codesourcery.com>
Date: Tue Oct 13 00:52:54 2015 +0000
Fix powerpc32 llrint, llrintf bad exceptions (bug 16422).
The versions of llrint and llrintf for older powerpc32 processors
convert the results of __rint / __rintf to long long int, resulting in
spurious exceptions from such casts in certain cases. This patch
makes glibc work around the problems with the libgcc conversions when
the compiler used to build glibc doesn't use the fctidz instruction
for them.
Tested for powerpc.
[BZ #16422]
* sysdeps/powerpc/powerpc32/fpu/configure.ac (libc_cv_ppc_fctidz):
New configure test.
* sysdeps/powerpc/powerpc32/fpu/configure: Regenerated.
* config.h.in [_LIBC] (HAVE_PPC_FCTIDZ): New macro.
* sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include <limits.h>,
<math_private.h> and <stdint.h>.
(__llrint): Avoid conversions to long long int where those might
raise spurious exceptions.
* sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: Include
<math_private.h> and <stdint.h>.
(__llrintf): Avoid conversions to long long int where those might
raise spurious exceptions.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 16 ++++++++++++++
NEWS | 20 +++++++++---------
config.h.in | 3 ++
sysdeps/powerpc/powerpc32/fpu/configure | 27 ++++++++++++++++++++++++
sysdeps/powerpc/powerpc32/fpu/configure.ac | 16 ++++++++++++++
sysdeps/powerpc/powerpc32/fpu/s_llrint.c | 31 +++++++++++++++++++++++++++-
sysdeps/powerpc/powerpc32/fpu/s_llrintf.c | 22 +++++++++++++++++++-
7 files changed, 123 insertions(+), 12 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.