Bug 23886 - Testsuite fails math/test-float64x-float128-mul on sparc64
Summary: Testsuite fails math/test-float64x-float128-mul on sparc64
Status: UNCONFIRMED
Alias: None
Product: glibc
Classification: Unclassified
Component: math (show other bugs)
Version: 2.28
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL: https://buildd.debian.org/status/fetc...
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-15 11:45 UTC by John Paul Adrian Glaubitz
Modified: 2018-12-09 12:32 UTC (History)
4 users (show)

See Also:
Host:
Target: sparc64-*-*
Build:
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Paul Adrian Glaubitz 2018-11-15 11:45:32 UTC
Since 2.28, the testsuite for glibc fails on sparc64 with:

FAIL: math/test-float64x-float128-mul
original exit status 1
testing _Float64x (argument _Float128)
Failure: mul_ldouble (0x3.00000000000018p+0, 0x5.5555555555555558p-4): Exception "Inexact" not set
Failure: mul_ldouble (-0xf.ffffffffffffbffffffffffffcp+1020, -0xf.fffffp+124): Exception "Inexact" not set
Failure: mul_ldouble (-0xf.ffffffffffffbffffffffffffcp+1020, 0xf.fffffp+124): Exception "Inexact" not set
Failure: mul_ldouble (-0xf.fffffp+124, -0xf.ffffffffffffbffffffffffffcp+1020): Exception "Inexact" not set
Failure: mul_ldouble (-0xf.fffffp+124, 0xf.ffffffffffffbffffffffffffcp+1020): Exception "Inexact" not set
Failure: mul_ldouble (0xf.ffffffffffffbffffffffffffcp+1020, -0xf.fffffp+124): Exception "Inexact" not set
Failure: mul_ldouble (0xf.ffffffffffffbffffffffffffcp+1020, 0xf.fffffp+124): Exception "Inexact" not set
Failure: mul_ldouble (0xf.fffffp+124, -0xf.ffffffffffffbffffffffffffcp+1020): Exception "Inexact" not set
Failure: mul_ldouble (0xf.fffffp+124, 0xf.ffffffffffffbffffffffffffcp+1020): Exception "Inexact" not set
Failure: mul_ldouble (0x5.000005p+0, 0x3.33333333333333333333333334p-4): Exception "Inexact" not set
Failure: mul_ldouble (0x5.0000000000000005p+0, 0x3.3333333333334p-4): Exception "Inexact" not set
Failure: mul_ldouble (0x5.00000000000028p+0, 0x3.3333333333333334p-4): Exception "Inexact" not set
Failure: mul_ldouble (0x5.0000000000000005p+0, 0x3.3333333333333334p-4): Exception "Inexact" not set
Failure: mul_downward_ldouble (0x3.00000000000018p+0, 0x5.5555555555555558p-4): Exception "Inexact" not set
Failure: mul_downward_ldouble (-0xf.ffffffffffffbffffffffffffcp+1020, -0xf.fffffp+124): Exception "Inexact" not set
Failure: mul_downward_ldouble (-0xf.ffffffffffffbffffffffffffcp+1020, 0xf.fffffp+124): Exception "Inexact" not set
Failure: Test: mul_downward_ldouble (-0xf.ffffffffffffbffffffffffffcp+1020, 0xf.fffffp+124)

Full build log available at: https://buildd.debian.org/status/fetch.php?pkg=glibc&arch=sparc64&ver=2.28-0experimental1&stamp=1542070823&raw=0

sparc64 porterboxes running Linux and Solaris can be found at the gcc compile farm: https://cfarm.tetaneutral.net/machines/list/

Please let me know if you need anymore input.
Comment 1 joseph@codesourcery.com 2018-11-15 16:51:57 UTC
On Thu, 15 Nov 2018, glaubitz at physik dot fu-berlin.de wrote:

> FAIL: math/test-float64x-float128-mul
> original exit status 1
> testing _Float64x (argument _Float128)

This should be using the NARROW_MUL_TRIVIAL case in 
sysdeps/ieee754/ldbl-128/s_f64xmulf128.c.

So, to debug it, you should first confirm that case really is the code 
being used.  Then see whether a corresponding long double multiplication 
(without involving f64xmulf128 at all) raises the expected exceptions.  If 
it does, look further into what happens with exception flags during 
f64xmulf128.  If it doesn't, look into what happens with exceptions and 
the _fex variable during the execution of _Qp_mul.