On 09/11/2023 23:36, Bruno Haible wrote:
All three failures occur in situations where the code expects a trap from
a floating-point exception, but a trap is not occurring.

Understood.

The first step is to take note of the values of the gl_cv_func_fe*
variables in config.cache. (Pass the option '-C' to configure.)

gl_cv_func_fcntl_f_dupfd_cloexec=${gl_cv_func_fcntl_f_dupfd_cloexec=no}
gl_cv_func_fcntl_f_dupfd_works=${gl_cv_func_fcntl_f_dupfd_works=yes}
gl_cv_func_fdopen_works=${gl_cv_func_fdopen_works=yes}
gl_cv_func_feenableexcept_in_libm=${gl_cv_func_feenableexcept_in_libm=no}
gl_cv_func_feenableexcept_no_libm=${gl_cv_func_feenableexcept_no_libm=no}
gl_cv_func_feraiseexcept_no_libm=${gl_cv_func_feraiseexcept_no_libm=yes}
gl_cv_func_fesettrapenable_in_libm=${gl_cv_func_fesettrapenable_in_libm=no}
gl_cv_func_fesettrapenable_no_libm=${gl_cv_func_fesettrapenable_no_libm=no}
gl_cv_func_fpsetmask_in_libm=${gl_cv_func_fpsetmask_in_libm=no}
gl_cv_func_fpsetmask_no_libm=${gl_cv_func_fpsetmask_no_libm=no}
gl_cv_func_free_preserves_errno=${gl_cv_func_free_preserves_errno=no}


The second step is to retry the configuration in a way that ignores
the relevant functions from libc, and uses the gnulib code instead.
It goes like this (after "make distclean", of course):

gl_cv_func_feenableexcept_in_libm=no \
gl_cv_func_feenableexcept_no_libm=no \
gl_cv_func_fesetenv_in_libm=no \
gl_cv_func_fesetenv_no_libm=no \
gl_cv_func_fesetround_in_libm=no \
gl_cv_func_fesetround_no_libm=no \
gl_cv_func_feraiseexcept_in_libm=no \
gl_cv_func_feraiseexcept_no_libm=no \
gl_cv_func_fesetexcept_in_libm=no \
gl_cv_func_fesetexcept_no_libm=no \
gl_cv_func_fesetexceptflag_in_libm=no \
gl_cv_func_fesetexceptflag_no_libm=no \
gl_cv_func_fetestexceptflag_in_libm=no \
gl_cv_func_fetestexceptflag_no_libm=no \
./configure

What's the result when you do this?

test-fenv-except-tracking-1 & test-fenv-except-trapping-1 pass.

FAIL: test-fenv-except-tracking-2.sh
====================================

Failed: ./test-fenv-except-tracking-2 f
FAIL test-fenv-except-tracking-2.sh (exit status: 1)

FAIL: test-fenv-except-tracking-3.sh
====================================

Failed: ./test-fenv-except-tracking-3 FE_INVALID
FAIL test-fenv-except-tracking-3.sh (exit status: 1)

FAIL: test-fenv-except-trapping-2.sh
====================================

Failed (got no trap): ./test-fenv-except-trapping-2 1 p f
Failed (got no trap): ./test-fenv-except-trapping-2 1 p d
Failed (got no trap): ./test-fenv-except-trapping-2 1 p l
Failed (got no trap): ./test-fenv-except-trapping-2 1 q f
Failed (got no trap): ./test-fenv-except-trapping-2 1 q d
Failed (got no trap): ./test-fenv-except-trapping-2 1 q l
Failed (got no trap): ./test-fenv-except-trapping-2 1 r f
Failed (got no trap): ./test-fenv-except-trapping-2 1 r d
Failed (got no trap): ./test-fenv-except-trapping-2 1 r l
Failed (got no trap): ./test-fenv-except-trapping-2 2 p f
Failed (got no trap): ./test-fenv-except-trapping-2 2 p d
Failed (got no trap): ./test-fenv-except-trapping-2 2 p l
Failed (got no trap): ./test-fenv-except-trapping-2 2 q f
Failed (got no trap): ./test-fenv-except-trapping-2 2 q d
Failed (got no trap): ./test-fenv-except-trapping-2 2 q l
Failed (got no trap): ./test-fenv-except-trapping-2 2 r f
Failed (got no trap): ./test-fenv-except-trapping-2 2 r d
Failed (got no trap): ./test-fenv-except-trapping-2 2 r l
Failed (got no trap): ./test-fenv-except-trapping-2 3 p f
Failed (got no trap): ./test-fenv-except-trapping-2 3 p d
Failed (got no trap): ./test-fenv-except-trapping-2 3 p l
Failed (got no trap): ./test-fenv-except-trapping-2 3 q f
Failed (got no trap): ./test-fenv-except-trapping-2 3 q d
Failed (got no trap): ./test-fenv-except-trapping-2 3 q l
Failed (got no trap): ./test-fenv-except-trapping-2 3 r f
Failed (got no trap): ./test-fenv-except-trapping-2 3 r d
Failed (got no trap): ./test-fenv-except-trapping-2 3 r l
Failed (got no trap): ./test-fenv-except-trapping-2 4 p f
Failed (got no trap): ./test-fenv-except-trapping-2 4 p d
Failed (got no trap): ./test-fenv-except-trapping-2 4 p l
Failed (got no trap): ./test-fenv-except-trapping-2 4 q f
Failed (got no trap): ./test-fenv-except-trapping-2 4 q d
Failed (got no trap): ./test-fenv-except-trapping-2 4 q l
Failed (got no trap): ./test-fenv-except-trapping-2 4 r f
Failed (got no trap): ./test-fenv-except-trapping-2 4 r d
Failed (got no trap): ./test-fenv-except-trapping-2 4 r l
Failed (got no trap): ./test-fenv-except-trapping-2 5 p f
Failed (got no trap): ./test-fenv-except-trapping-2 5 p d
Failed (got no trap): ./test-fenv-except-trapping-2 5 p l
Failed (got no trap): ./test-fenv-except-trapping-2 5 q f
Failed (got no trap): ./test-fenv-except-trapping-2 5 q d
Failed (got no trap): ./test-fenv-except-trapping-2 5 q l
Failed (got no trap): ./test-fenv-except-trapping-2 5 r f
Failed (got no trap): ./test-fenv-except-trapping-2 5 r d
Failed (got no trap): ./test-fenv-except-trapping-2 5 r l
Failed (got no trap): ./test-fenv-except-trapping-2 6 p f
Failed (got no trap): ./test-fenv-except-trapping-2 6 p d
Failed (got no trap): ./test-fenv-except-trapping-2 6 p l
Failed (got no trap): ./test-fenv-except-trapping-2 6 q f
Failed (got no trap): ./test-fenv-except-trapping-2 6 q d
Failed (got no trap): ./test-fenv-except-trapping-2 6 q l
Failed (got no trap): ./test-fenv-except-trapping-2 6 r f
Failed (got no trap): ./test-fenv-except-trapping-2 6 r d
Failed (got no trap): ./test-fenv-except-trapping-2 6 r l
Failed (got no trap): ./test-fenv-except-trapping-2 7 p f
Failed (got no trap): ./test-fenv-except-trapping-2 7 p d
Failed (got no trap): ./test-fenv-except-trapping-2 7 p l
Failed (got no trap): ./test-fenv-except-trapping-2 7 q f
Failed (got no trap): ./test-fenv-except-trapping-2 7 q d
Failed (got no trap): ./test-fenv-except-trapping-2 7 q l
Failed (got no trap): ./test-fenv-except-trapping-2 7 r f
Failed (got no trap): ./test-fenv-except-trapping-2 7 r d
Failed (got no trap): ./test-fenv-except-trapping-2 7 r l
Failed (got no trap): ./test-fenv-except-trapping-2 8 p f
Failed (got no trap): ./test-fenv-except-trapping-2 8 p d
Failed (got no trap): ./test-fenv-except-trapping-2 8 p l
Failed (got no trap): ./test-fenv-except-trapping-2 8 q f
Failed (got no trap): ./test-fenv-except-trapping-2 8 q d
Failed (got no trap): ./test-fenv-except-trapping-2 8 q l
Failed (got no trap): ./test-fenv-except-trapping-2 8 r f
Failed (got no trap): ./test-fenv-except-trapping-2 8 r d
Failed (got no trap): ./test-fenv-except-trapping-2 8 r l
Failed (got no trap): ./test-fenv-except-trapping-2 9 p f
Failed (got no trap): ./test-fenv-except-trapping-2 9 p d
Failed (got no trap): ./test-fenv-except-trapping-2 9 p l
Failed (got no trap): ./test-fenv-except-trapping-2 9 q f
Failed (got no trap): ./test-fenv-except-trapping-2 9 q d
Failed (got no trap): ./test-fenv-except-trapping-2 9 q l
Failed (got no trap): ./test-fenv-except-trapping-2 9 r f
Failed (got no trap): ./test-fenv-except-trapping-2 9 r d
Failed (got no trap): ./test-fenv-except-trapping-2 9 r l
FAIL test-fenv-except-trapping-2.sh (exit status: 1)


Sevan


Reply via email to