diff options
Diffstat (limited to 'results/classifier/105/device/837')
| -rw-r--r-- | results/classifier/105/device/837 | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/results/classifier/105/device/837 b/results/classifier/105/device/837 deleted file mode 100644 index 9899064b..00000000 --- a/results/classifier/105/device/837 +++ /dev/null @@ -1,43 +0,0 @@ -instruction: 0.988 -device: 0.946 -graphic: 0.919 -semantic: 0.776 -mistranslation: 0.720 -network: 0.707 -boot: 0.693 -vnc: 0.638 -socket: 0.595 -assembly: 0.554 -other: 0.481 -KVM: 0.074 - -x86 user: icebp/int1 raises wrong signal -Description of problem: -This is a relatively minor inaccuracy. When `icebp` (`F1`) is executed, it raises `SIGILL` in QEMU, where the behavior on baremetal Linux (on an old Intel Core i5-430m) is to raise `SIGTRAP`. - -Specifically, on the architectural level, `icebp` raises `#DB` without affecting `dr6`. - -This also happens on an AArch64 host. -``` -$ ./icebp -Trace/breakpoint trap -$ qemu-x86_64 ./icebp -qemu: uncaught target signal 4 (Illegal instruction) - core dumped -Illegal instruction -``` -Steps to reproduce: -1. Compile this file using `gcc -nostdlib -static icebp.S -o icebp`, optionally with `-m32` to test i386 -``` - .globl _start -_start: - .byte 0xF1 // gas doesn't assemble this instruction opcode but it disassembles it -#ifdef __x86_64__ - mov $60, %eax - syscall -#else - mov $1, %eax - int $0x80 -#endif -``` -2. Run on baremetal. Notice how it raises `SIGTRAP` according to the shell job control message -3. Run on qemu-user. Notice how it raises `SIGILL`. |
