diff options
Diffstat (limited to 'gitlab/issues/target_arm/host_missing/accel_TCG/2248.toml')
| -rw-r--r-- | gitlab/issues/target_arm/host_missing/accel_TCG/2248.toml | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gitlab/issues/target_arm/host_missing/accel_TCG/2248.toml b/gitlab/issues/target_arm/host_missing/accel_TCG/2248.toml new file mode 100644 index 00000000..756290ce --- /dev/null +++ b/gitlab/issues/target_arm/host_missing/accel_TCG/2248.toml @@ -0,0 +1,44 @@ +id = 2248 +title = "qemu-aarch64: wrong execution result when executing the code" +state = "closed" +created_at = "2024-03-26T04:50:35.585Z" +closed_at = "2024-03-31T15:41:51.586Z" +labels = ["Closed::Fixed", "accel: TCG", "kind::Bug", "target: arm"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/2248" +host-os = "Ubuntu 22.04.4 LTS" +host-arch = "x86_64" +qemu-version = "8.2.1, 8.2.2, 9.0.0-rc0, latest commit 6a4180af9686830d88c387baab6d79563ce42a15" +guest-os = "n/a" +guest-arch = "n/a" +description = """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 +```""" +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 = """- Original discussion is held in [this wasmtime issue](https://github.com/bytecodealliance/wasmtime/issues/8233). Thanks to Alex Crichton for clarifying this bug.""" |