This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/16422] [powerpc] math-float, math-double failing llrint tests with "Exception "Inexact" set" on ppc32


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]