summary refs log tree commit diff stats
path: root/results/classifier/118/none/1755479
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/none/1755479')
-rw-r--r--results/classifier/118/none/175547979
1 files changed, 79 insertions, 0 deletions
diff --git a/results/classifier/118/none/1755479 b/results/classifier/118/none/1755479
new file mode 100644
index 000000000..d0b5cb207
--- /dev/null
+++ b/results/classifier/118/none/1755479
@@ -0,0 +1,79 @@
+graphic: 0.719
+performance: 0.707
+peripherals: 0.690
+virtual: 0.680
+architecture: 0.651
+register: 0.644
+debug: 0.636
+semantic: 0.614
+network: 0.603
+hypervisor: 0.600
+kernel: 0.594
+user-level: 0.593
+device: 0.590
+socket: 0.586
+permissions: 0.571
+arm: 0.564
+files: 0.562
+ppc: 0.548
+PID: 0.545
+vnc: 0.522
+boot: 0.521
+x86: 0.517
+assembly: 0.516
+mistranslation: 0.515
+TCG: 0.475
+VMM: 0.462
+KVM: 0.434
+risc-v: 0.427
+i386: 0.411
+
+Cortex M:qemu abort with optimized code and icount
+
+A basic program runs fine if compiled with flag -O0 with gcc, but triggers a qemu abort when compiled with -O1 and run with icount:
+"qemu: fatal: IO on conditional branch instruction"
+
+I also noticed the problem on C source like this with -O0:
+"int foo = *bar; bar++;" : OK
+"int foo = *bar++;" : FAIL (!!!)
+
+Optimized binary attached to this ticket.
+
+command line:
+qemu-system-arm -M lm3s6965evb -nographic -kernel hello.bin -serial file:$(tty) -icount 4 -cpu cortex-m4
+(working fine without icount)
+
+version: 
+QEMU emulator version 2.11.50 (v2.11.0-2146-gd9bbfea-dirty)
+
+Compilation options:
+./configure --target-list=arm-softmmu --disable-slirp --disable-blobs --disable-docs --disable-guest-agent --disable-gnutls --disable-nettle --disable-gcrypt --disable-sdl --disable-gtk --disable-vnc --disable-virtfs --disable-mpath --disable-xen --disable-brlapi --disable-curl --disable-bluez --disable-kvm --disable-hax --disable-hvf --disable-whpx --disable-rdma --disable-vde --disable-netmap --disable-linux-aio --disable-cap-ng --disable-attr --disable-vhost-net --disable-spice --disable-rbd --disable-libiscsi --disable-libnfs --disable-smartcard --disable-libusb --disable-live-block-migration --disable-usb-redir --disable-lzo --disable-snappy --disable-bzip2 --disable-seccomp --disable-glusterfs --disable-tpm --disable-libssh2 --disable-numa --disable-libxml2 --disable-tcmalloc --disable-jemalloc --disable-replication --disable-vhost-vsock --disable-opengl --disable-virglrenderer --disable-xfsctl --disable-qom-cast-debug --disable-vxhs --disable-crypto-afalg --disable-vhost-user --disable-capstone --disable-pie --extra-cflags=-mtune=native
+
+I have also tested previous versions:
+- stock qemu-system-arm 2.5.0 from ubuntu 16.04: OK
+- git version: QEMU emulator version 2.10.0 (v2.10.2-dirty): OK
+- git version: QEMU emulator version 2.10.90 (v2.11.0-rc0-dirty): FAIL
+
+
+
+Yes, it looks like we accidentally broke icount. This patch from the mailing list fixes it:
+https://lists.gnu.org/archive/html/qemu-devel/2018-02/msg06595.html
+
+though it hasn't been code-reviewed yet.
+
+
+I just tested the patch and it resolves this problem. Thanks!
+
+Hey Antoine, do you mind replying to the list thread with a single line such:
+
+  Tested-by: Antoine Calando <email address hidden>
+
+This will help the code review and the patch will probably get merged faster.
+
+Thanks.
+
+That's not really necessary as the patch is already in Paolo's pull request.
+
+
+This is now fixed in master (and will be in 2.12.0) with commits 0790f8686107 and 87f963be66a32453e001.
+