public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug math/15470] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
@ 2013-05-15 17:01 ` gcc.hall at gmail dot com
  2013-05-15 17:19 ` joseph at codesourcery dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: gcc.hall at gmail dot com @ 2013-05-15 17:01 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15470

Jeremy <gcc.hall at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gcc.hall at gmail dot com

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
@ 2013-05-15 17:01 gcc.hall at gmail dot com
  2013-05-15 17:01 ` [Bug math/15470] " gcc.hall at gmail dot com
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: gcc.hall at gmail dot com @ 2013-05-15 17:01 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15470

             Bug #: 15470
           Summary: On ARM llrintl() and llroundl() do not raise
                    FE_INVALID with argument out of range
           Product: glibc
           Version: 2.13
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
        AssignedTo: unassigned@sourceware.org
        ReportedBy: gcc.hall@gmail.com
    Classification: Unclassified


In the test program below, llrintl() and llroundl() do not raise FE_INVALID
when passed a number one larger than the maximum signed long long int.
The problem was found on ARM hf, it does not occur on x86. 
=======================================================================
#include <stdio.h>
#include <math.h>
#include <fenv.h>

int main( void )
{
  long long int result;
  long double x = 9223372036854775808.0L; // LLONG_MAX + 1.0
  printf( "x is %.20Lg\n", x );

  feclearexcept( FE_INVALID );

  result = llroundl( x );

  if( fetestexcept( FE_INVALID ) )
    printf( "FE_INVALID set\n" );
  else
    printf( "FE_INVALID not set!\n" );

  printf( "result is %lld\n", result );

 return 0;
}
====================================================================
Result:
x is 9223372036854775808
FE_INVALID not set!
result is -9223372036854775808

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
  2013-05-15 17:01 ` [Bug math/15470] " gcc.hall at gmail dot com
@ 2013-05-15 17:19 ` joseph at codesourcery dot com
  2013-05-15 19:25 ` joseph at codesourcery dot com
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: joseph at codesourcery dot com @ 2013-05-15 17:19 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15470

--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2013-05-15 17:19:35 UTC ---
This is probably a bug in the version of GCC used to build glibc (at least 
with current sources, the implementations of llrint and llround just cast 
out-of-range values to long long, and such a cast is supposed to raise the 
exception).

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
  2013-05-15 17:01 ` [Bug math/15470] " gcc.hall at gmail dot com
  2013-05-15 17:19 ` joseph at codesourcery dot com
@ 2013-05-15 19:25 ` joseph at codesourcery dot com
  2014-02-06 18:33 ` [Bug math/15470] [arm] " jsm28 at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: joseph at codesourcery dot com @ 2013-05-15 19:25 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15470

--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2013-05-15 19:25:18 UTC ---
We should, however, at least add testcases for this issue to the glibc 
testsuite (which will require a new gen-libm-test.pl feature, for tests 
where integer results are ignored but exceptions are still tested), 
whether or not we also work around the GCC bug, just as we added a test to 
the glibc testsuite for bug 887 (another case of bad floating-point 
results caused by a GCC bug).  (For the present bug, the GCC bug is just 
an ARM variant of <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27682>.)

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] [arm] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
                   ` (2 preceding siblings ...)
  2013-05-15 19:25 ` joseph at codesourcery dot com
@ 2014-02-06 18:33 ` jsm28 at gcc dot gnu.org
  2014-06-13 17:45 ` fweimer at redhat dot com
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2014-02-06 18:33 UTC (permalink / raw)
  To: glibc-bugs

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

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
               Host|                            |arm*-*-*
            Summary|On ARM llrintl() and        |[arm] On ARM llrintl() and
                   |llroundl() do not raise     |llroundl() do not raise
                   |FE_INVALID with argument    |FE_INVALID with argument
                   |out of range                |out of range

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] [arm] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
                   ` (3 preceding siblings ...)
  2014-02-06 18:33 ` [Bug math/15470] [arm] " jsm28 at gcc dot gnu.org
@ 2014-06-13 17:45 ` fweimer at redhat dot com
  2015-10-09 22:24 ` cvs-commit at gcc dot gnu.org
  2015-10-09 22:25 ` jsm28 at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: fweimer at redhat dot com @ 2014-06-13 17:45 UTC (permalink / raw)
  To: glibc-bugs

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

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |security-

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] [arm] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
                   ` (4 preceding siblings ...)
  2014-06-13 17:45 ` fweimer at redhat dot com
@ 2015-10-09 22:24 ` cvs-commit at gcc dot gnu.org
  2015-10-09 22:25 ` jsm28 at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-10-09 22:24 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #3 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  f1226a2ae370b1412b5e31a8535ad58a9174dd0a (commit)
      from  06d97e5e6100641df2c379459e41b26bb4d7648b (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=f1226a2ae370b1412b5e31a8535ad58a9174dd0a

commit f1226a2ae370b1412b5e31a8535ad58a9174dd0a
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Oct 9 22:23:39 2015 +0000

    Fix llrint, llround missing exceptions for ARM (bug 15470).

    Similar to the recent fix for MIPS, ARM is also missing correct
    exceptions on overflow from llrint and llround functions because casts
    from floating-point types to long long do not result in correct
    exceptions on overflow.  This patch enables the fix for this for ARM.

    Tested for ARM.

        [BZ #15470]
        * sysdeps/arm/fix-fp-int-convert-overflow.h: New file.

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

Summary of changes:
 ChangeLog                                          |    3 +++
 NEWS                                               |   20 ++++++++++----------
 .../fpu => arm}/fix-fp-int-convert-overflow.h      |   10 +++-------
 3 files changed, 16 insertions(+), 17 deletions(-)
 copy sysdeps/{mips/mips32/fpu => arm}/fix-fp-int-convert-overflow.h (75%)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug math/15470] [arm] On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range
  2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
                   ` (5 preceding siblings ...)
  2015-10-09 22:24 ` cvs-commit at gcc dot gnu.org
@ 2015-10-09 22:25 ` jsm28 at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2015-10-09 22:25 UTC (permalink / raw)
  To: glibc-bugs

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

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |2.23

--- Comment #4 from Joseph Myers <jsm28 at gcc dot gnu.org> ---
Fixed for 2.23.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-10-09 22:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-15 17:01 [Bug math/15470] New: On ARM llrintl() and llroundl() do not raise FE_INVALID with argument out of range gcc.hall at gmail dot com
2013-05-15 17:01 ` [Bug math/15470] " gcc.hall at gmail dot com
2013-05-15 17:19 ` joseph at codesourcery dot com
2013-05-15 19:25 ` joseph at codesourcery dot com
2014-02-06 18:33 ` [Bug math/15470] [arm] " jsm28 at gcc dot gnu.org
2014-06-13 17:45 ` fweimer at redhat dot com
2015-10-09 22:24 ` cvs-commit at gcc dot gnu.org
2015-10-09 22:25 ` jsm28 at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).