diff options
Diffstat (limited to 'results/classifier/118/architecture-x86/2175')
| -rw-r--r-- | results/classifier/118/architecture-x86/2175 | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/results/classifier/118/architecture-x86/2175 b/results/classifier/118/architecture-x86/2175 new file mode 100644 index 000000000..a2f21118d --- /dev/null +++ b/results/classifier/118/architecture-x86/2175 @@ -0,0 +1,98 @@ +architecture: 0.835 +x86: 0.829 +device: 0.776 +graphic: 0.745 +files: 0.722 +register: 0.719 +kernel: 0.702 +assembly: 0.701 +performance: 0.701 +network: 0.686 +arm: 0.668 +PID: 0.667 +ppc: 0.660 +i386: 0.659 +vnc: 0.644 +risc-v: 0.639 +socket: 0.611 +TCG: 0.604 +mistranslation: 0.593 +hypervisor: 0.582 +user-level: 0.569 +KVM: 0.567 +permissions: 0.553 +semantic: 0.514 +boot: 0.511 +peripherals: 0.496 +debug: 0.492 +VMM: 0.489 +virtual: 0.395 +-------------------- +x86: 0.969 +assembly: 0.761 +i386: 0.286 +debug: 0.083 +user-level: 0.055 +register: 0.050 +TCG: 0.046 +files: 0.038 +semantic: 0.034 +PID: 0.024 +virtual: 0.012 +device: 0.012 +kernel: 0.010 +performance: 0.008 +hypervisor: 0.007 +peripherals: 0.006 +architecture: 0.005 +risc-v: 0.004 +VMM: 0.004 +KVM: 0.003 +boot: 0.003 +network: 0.003 +permissions: 0.002 +graphic: 0.001 +socket: 0.001 +vnc: 0.001 +mistranslation: 0.001 +ppc: 0.001 +arm: 0.000 + +Intel BLSI CF computation bug +Description of problem: +CF flag computation of BLSI instruction is wrong. It seems #1370 was not completely fixed. +Steps to reproduce: +1. Compile `example.c` using this command: `gcc -o example.bin example.c`. My gcc version is 12.3.0, but other versions may work. +``` +int main() { + __asm__ ( + "movq $0x1, %r8\n" + "mov $0xedbf530a, %r9\n" + "push $0x1\n" + "popf\n" + "blsi %r9d, %r8d\n" + "pushf\n" + "pop %rax\n" + "pop %rbp\n" + "ret\n" + ); + + return 0; +} +``` +2. Run `./example.bin`. Then check the return code using `echo $?`. It should be 3. +``` +$ ./example.bin +$ echo $? +3 +``` +3. Run `./qemu-x86_64 ./example.bin`. Then check the return code using `echo $?`. It should be 2. +``` +$ ./qemu-x86_64 ./example.bin +$ echo $? +2 +``` + +The return code of `./example.bin` contains the value of the `RFLAGS` register after executing the `BLSI` instruction. +Additional information: + |