diff options
Diffstat (limited to 'results/classifier/118/review/2248')
| -rw-r--r-- | results/classifier/118/review/2248 | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/results/classifier/118/review/2248 b/results/classifier/118/review/2248 new file mode 100644 index 000000000..eb6e6576c --- /dev/null +++ b/results/classifier/118/review/2248 @@ -0,0 +1,96 @@ +architecture: 0.939 +graphic: 0.837 +assembly: 0.815 +device: 0.776 +ppc: 0.771 +kernel: 0.751 +TCG: 0.746 +vnc: 0.746 +network: 0.743 +socket: 0.741 +VMM: 0.731 +register: 0.723 +files: 0.722 +performance: 0.702 +PID: 0.693 +risc-v: 0.685 +permissions: 0.675 +hypervisor: 0.661 +arm: 0.642 +x86: 0.631 +debug: 0.622 +user-level: 0.616 +i386: 0.589 +peripherals: 0.573 +boot: 0.547 +semantic: 0.539 +KVM: 0.475 +mistranslation: 0.466 +virtual: 0.343 +-------------------- +debug: 0.522 +performance: 0.340 +TCG: 0.169 +files: 0.138 +hypervisor: 0.090 +architecture: 0.045 +kernel: 0.033 +register: 0.019 +assembly: 0.017 +PID: 0.015 +user-level: 0.015 +virtual: 0.012 +network: 0.009 +device: 0.006 +semantic: 0.005 +VMM: 0.004 +boot: 0.003 +risc-v: 0.002 +peripherals: 0.002 +graphic: 0.002 +socket: 0.001 +mistranslation: 0.001 +permissions: 0.001 +arm: 0.001 +vnc: 0.000 +KVM: 0.000 +ppc: 0.000 +x86: 0.000 +i386: 0.000 + +qemu-aarch64: wrong execution result when executing the code +Description of problem: +The following aarch64 code results in the wrong execution result `4611686018427387903`, which is `0x3fffffffffffffff`. (The correct result is `-1`) The bug seems to be introduced in between v8.1.5 and v8.2.1 since the results are correct in v8.1.5. + +```c +// foo.c +#include <stdio.h> +#include <stdint.h> + +int64_t callme(size_t _1, size_t _2, int64_t a, int64_t b, int64_t c); + +int main() { + int64_t ret = callme(0, 0, 0, 1, 2); + printf("%ld\n", ret); + return 0; +} +``` + +```s +// foo.S +.global callme +callme: + cmp x2, x3 + cset x12, lt + and w11, w12, #0xff + cmp w11, #0x0 + csetm x14, ne + lsr x13, x14, x4 + sxtb x0, w13 + ret +``` +Steps to reproduce: +1. Build the code with `aarch64-linux-gnu-gcc foo.c foo.S -o foo` (`aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0`) +2. Run the code with `qemu-aarch64 -L /usr/aarch64-linux-gnu -E LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib foo` and see the result +Additional information: +- Original discussion is held in [this wasmtime issue](https://github.com/bytecodealliance/wasmtime/issues/8233). Thanks to Alex Crichton for clarifying this bug. |