diff options
Diffstat (limited to 'results/classifier/118/none/1603734')
| -rw-r--r-- | results/classifier/118/none/1603734 | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/results/classifier/118/none/1603734 b/results/classifier/118/none/1603734 new file mode 100644 index 000000000..b9c83e72e --- /dev/null +++ b/results/classifier/118/none/1603734 @@ -0,0 +1,48 @@ +graphic: 0.678 +performance: 0.581 +architecture: 0.460 +device: 0.369 +semantic: 0.364 +x86: 0.207 +network: 0.197 +mistranslation: 0.183 +vnc: 0.179 +debug: 0.179 +socket: 0.178 +ppc: 0.164 +PID: 0.134 +hypervisor: 0.132 +files: 0.124 +permissions: 0.122 +boot: 0.122 +user-level: 0.118 +arm: 0.103 +kernel: 0.095 +register: 0.095 +i386: 0.092 +risc-v: 0.090 +virtual: 0.074 +VMM: 0.072 +TCG: 0.061 +peripherals: 0.053 +KVM: 0.051 +assembly: 0.022 + +Hang in fsqrt + +At least qemu-i368 and qemu-x86_64 hang in floatx80_sqrt in versions 2.6.0 and git (2.6.50) for some input values, likely due to an infinite loop at fpu/softfloat.c:6569. + +Steps to reproduce: +1) Compile attached code: gcc -o test test.c -lm +2) `qemu-i368 test` and `qemu-x86_64 test` will hang at 100% cpu + + + +Thanks for this bug report. The problem here is that QEMU is not correctly handling the obsolete "unnormal" 80-bit floating point format. The Intel architecture reference says that this should be handled by raising the invalid-input exception and returning the default NaN. + +See also the discussion in the mailing list thread "Hang bug in 80-bit float square root implementation", though the patch there is not the correct fix for the bug. + + +Bug fixed showed by https://github.com/unicorn-engine/unicorn/pull/609 +and the test case shows no problem on the most recent release. + |