floating-point operation bugs in qemu-alpha
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Richard Henderson |
Bug Description
When running the gnulib testsuite, I'm seeing test failures in the tests for libm functions
cbrt
cbrtf
ceil
ceilf
coshf
exp2
exp2f
floor
floorf
fma
fmaf
fmal
frexp
frexpf
hypot
hypotf
hypotl
ilogb
ilogbf
isfinite
isinf
isnan
isnand
isnanf
ldexp
ldexpf
ldexpl
log1p
log1pf
log2
log2f
logb
logbf
logbl
rint
rintf
rintl
signbit
sqrt
sqrtf
strtod
that I don't see when running the same (statically linked) executables in a VM, through qemu-system-alpha.
How to reproduce:
- Using gnulib, run ./gnulib-tool --create-testdir --dir=.
- Copy the resulting directory to a VM running Linux 2.6.26 with qemu-system-alpha.
- There, configure and build the package:
mkdir build-native-
Only 4 tests fail.
- Copy the resulting binaries back to the original x86_64 machine.
- Set environment variables for using qemu-alpha.
- Here, 50 tests fail that did not fail originally:
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
../../gltests/
Aborted (core dumped)
$ ~/inst-
Floating point exception (core dumped)
$ ~/inst-
Floating point exception (core dumped)
The behaviour in qemu-2.11 is the same as in qemu-2.9.