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/22687] [powerpc-nofpu] complex long double functions spurious "invalid" exception


https://sourceware.org/bugzilla/show_bug.cgi?id=22687

--- Comment #1 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  e134ca175318e0f1c04b4e857f38efae091c35ce (commit)
      from  311ba8dc4416467947eff2ab327854f124226309 (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=e134ca175318e0f1c04b4e857f38efae091c35ce

commit e134ca175318e0f1c04b4e857f38efae091c35ce
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Jan 9 22:34:35 2018 +0000

    Fix powerpc-nofpu complex long double functions spurious "invalid"
exception (bug 22687).

    For soft-float powerpc, various _Complex long double functions
    generate spurious "invalid" exceptions, even with a compiler with GCC
    bug 64811 fixed.

    The problem is GCC's built-in fabsl expansion.  Various files are
    already built with -fno-builtin-fabsl because in this case (IBM long
    double, for soft-float or e500v1) a fallback fabsl expansion based on
    comparisons is used, which can produce the wrong sign of a zero
    result.  Those comparisons can also produce spurious exceptions for
    NaN arguments.  Furthermore, __builtin_fpclassify implemently uses
    __builtin_fabsl, and is unaffected by -fno-builtin-fabsl, and the
    fpclassify macro uses __builtin_fpclassify in the absence of
    -fsignaling-nans.  Thus, this patch arranges for the problem files
    using fpclassify to be built with -fsignaling-nans in this case, to
    avoid spurious exceptions from fpclassify.

    Tested for powerpc (soft-float).

        [BZ #22687]
        * sysdeps/powerpc/nofpu/Makefile (CFLAGS-s_cacosl.c): New
        variable.
        (CFLAGS-s_cacoshl.c): Likewise.
        (CFLAGS-s_casinhl.c): Likewise.
        (CFLAGS-s_catanl.c): Likewise.
        (CFLAGS-s_catanhl.c): Likewise.
        (CFLAGS-s_cexpl.c): Likewise.
        (CFLAGS-s_ccoshl.c): Add -fsignaling-nans.
        (CFLAGS-s_csinhl.c): Likewise.
        (CFLAGS-s_clogl.c): Likewise.
        (CFLAGS-s_clog10l.c): Likewise.
        (CFLAGS-s_csinl.c): Likewise.
        (CFLAGS-s_csqrtl.c): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                      |   17 +++++++++++++++++
 sysdeps/powerpc/nofpu/Makefile |   26 ++++++++++++++++++++------
 2 files changed, 37 insertions(+), 6 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]