diff options
Diffstat (limited to 'results/classifier/105/instruction/1881450')
| -rw-r--r-- | results/classifier/105/instruction/1881450 | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/results/classifier/105/instruction/1881450 b/results/classifier/105/instruction/1881450 new file mode 100644 index 00000000..596c04be --- /dev/null +++ b/results/classifier/105/instruction/1881450 @@ -0,0 +1,73 @@ +instruction: 0.948 +other: 0.864 +graphic: 0.802 +device: 0.789 +semantic: 0.763 +boot: 0.751 +socket: 0.708 +mistranslation: 0.700 +vnc: 0.622 +network: 0.605 +assembly: 0.582 +KVM: 0.473 + +Emulation of a math function fails for m68k Linux user mode + +Please check the attached math-example.c file. +When running the m68k executable under QEMU, it results in an "Illegal instruction" error. +Other targets don't produce this error. + +Steps to reproduce the bug: + +1. Download the math-example.c attached file. +2. Compile it by running: + m68k-linux-gnu-gcc -O2 -static math-example.c -o math-example-m68k -lm +3. Run the executable with QEMU: + /build/qemu-5.0.0/build-gcc/m68k-linux-user/qemu-m68k math-example-m68k + +The output of execution is: + Profiling function expm1f(): + qemu: uncaught target signal 4 (Illegal instruction) - core dumped + Illegal instruction (core dumped) + +Expected output: + Profiling function expm1f(): + Elapsed time: 47 ms + Control result: 71804.953125 + + + + + +Tracing gives me: + +IN: expm1f +0x800005cc: fetoxm1x %fp2,%fp0 +Disassembler disagrees with translator over instruction decoding +Please report this to <email address hidden> + +(gdb) x/2hx 0x800005cc +0x800005cc: 0xf200 0x0808 + +The instruction is not implemented in qemu. I fix that. + + + +Fix available. + +Execution doesn't fail anymore: + + Profiling function expm1f(): + Elapsed time: 41 ms + Control result: 71805.108342 + +Control result matches real hardware one: + + Profiling function expm1f(): + Elapsed time: 2152 ms + Control result: 71805.108342 + + +Fixed here: +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=250b1da35d579f423 + |