New math test failures on Fedora/33

H.J. Lu hjl.tools@gmail.com
Mon Jan 11 18:37:27 GMT 2021


On Mon, Jan 11, 2021 at 8:28 AM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
>
>
> On 11/01/2021 13:00, H.J. Lu via Libc-alpha wrote:
> > On Fedora 33, I got these new math test failures:
> >
> > FAIL: math/test-double-cosh
> > FAIL: math/test-float32x-cosh
> > FAIL: math/test-float64-cosh
> >
> > for i686 glibc like
> >
> > Failure: cosh_upward (-0x2.c5d374p+12): Exception "Overflow" not set
> > Failure: cosh_upward (-0x2.c5d37700c6bb2p+12): Exception "Overflow" not set
> > Failure: cosh_upward (-0x2.c5d37700c6bbp+12): Exception "Overflow" not set
> > Failure: cosh_upward (-0x2.c5d378p+12): Exception "Overflow" not set
> > Failure: cosh_upward (-0x2.c679d1f73f0fcp+8): Exception "Overflow" not set
> > Failure: cosh_upward (-0x2.c679d4p+8): Exception "Overflow" not set
> > Failure: cosh_upward (-0xf.ffffffffffff8p+1020): Exception "Overflow" not set
> > Failure: cosh_upward (-0xf.fffffp+124): Exception "Overflow" not set
> > Failure: cosh_upward (0x2.c5d374p+12): Exception "Overflow" not set
> > Failure: cosh_upward (0x2.c5d37700c6bb2p+12): Exception "Overflow" not set
> > Failure: cosh_upward (0x2.c5d37700c6bbp+12): Exception "Overflow" not set
> > Failure: cosh_upward (0x2.c5d378p+12): Exception "Overflow" not set
> > Failure: cosh_upward (0x2.c679d1f73f0fcp+8): Exception "Overflow" not set
> > Failure: cosh_upward (0x2.c679d4p+8): Exception "Overflow" not set
> > Failure: cosh_upward (0xf.ffffffffffff8p+1020): Exception "Overflow" not set
> > Failure: cosh_upward (0xf.fffffp+124): Exception "Overflow" not set
>
> This is a regression of BZ#18980 caused by 9e97f239eae1f2b1.  The original
> issue was fixed by c8235dda728c445, but the patch did not add the fix for
> wordsize64 version because it does not require back then (since it seems
> to happen on 32-bit, at least I am seeing on i686).
>
> This seems to fix it:
>
> diff --git a/sysdeps/ieee754/dbl-64/e_cosh.c b/sysdeps/ieee754/dbl-64/e_cosh.c
> index 4f41ca2c92..81de5ae6bd 100644
> --- a/sysdeps/ieee754/dbl-64/e_cosh.c
> +++ b/sysdeps/ieee754/dbl-64/e_cosh.c
> @@ -33,6 +33,7 @@
>
>  #include <math.h>
>  #include <math_private.h>
> +#include <math-narrow-eval.h>
>  #include <libm-alias-finite.h>
>
>  static const double one = 1.0, half=0.5, huge = 1.0e300;
> @@ -80,6 +81,6 @@ __ieee754_cosh (double x)
>         if(ix>=0x7ff00000) return x*x;
>
>      /* |x| > overflowthresold, cosh(x) overflow */
> -       return huge*huge;
> +       return math_narrow_eval (huge * huge);
>  }
>  libm_alias_finite (__ieee754_cosh, __cosh)

It fixed i686.  Can you check it in?

BTW, I also saw random failure:

FAIL: misc/tst-bz21269
[hjl@gnu-skx-1 build-i686-linux]$ cat misc/tst-bz21269.out
Timed out: killed the child process
Termination time: 2021-01-11T18:13:03.494991075
Last write to standard output: 2021-01-11T18:12:43.491654736
[hjl@gnu-skx-1 build-i686-linux]$

Is this a known issue?

Thanks.

-- 
H.J.


More information about the Libc-alpha mailing list