diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-06-16 16:59:00 +0000 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-06-16 16:59:33 +0000 |
| commit | 9aba81d8eb048db908c94a3c40c25a5fde0caee6 (patch) | |
| tree | b765e7fb5e9a3c2143c68b0414e0055adb70e785 /results/classifier/118/user-level/1830415 | |
| parent | b89a938452613061c0f1f23e710281cf5c83cb29 (diff) | |
| download | qemu-analysis-9aba81d8eb048db908c94a3c40c25a5fde0caee6.tar.gz qemu-analysis-9aba81d8eb048db908c94a3c40c25a5fde0caee6.zip | |
add 18th iteration of classifier
Diffstat (limited to 'results/classifier/118/user-level/1830415')
| -rw-r--r-- | results/classifier/118/user-level/1830415 | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/results/classifier/118/user-level/1830415 b/results/classifier/118/user-level/1830415 new file mode 100644 index 000000000..c0f2d0f3f --- /dev/null +++ b/results/classifier/118/user-level/1830415 @@ -0,0 +1,79 @@ +user-level: 0.910 +mistranslation: 0.671 +files: 0.646 +graphic: 0.569 +semantic: 0.512 +ppc: 0.508 +device: 0.505 +performance: 0.495 +TCG: 0.404 +kernel: 0.313 +architecture: 0.293 +network: 0.288 +x86: 0.260 +boot: 0.247 +i386: 0.232 +vnc: 0.215 +PID: 0.203 +socket: 0.195 +register: 0.177 +debug: 0.169 +risc-v: 0.152 +permissions: 0.133 +arm: 0.115 +peripherals: 0.100 +VMM: 0.093 +assembly: 0.078 +KVM: 0.071 +virtual: 0.027 +hypervisor: 0.019 +-------------------- +user-level: 0.993 +files: 0.650 +x86: 0.170 +TCG: 0.070 +register: 0.067 +debug: 0.059 +assembly: 0.041 +virtual: 0.023 +i386: 0.016 +PID: 0.015 +kernel: 0.007 +performance: 0.006 +semantic: 0.005 +arm: 0.003 +hypervisor: 0.002 +network: 0.002 +device: 0.002 +VMM: 0.002 +boot: 0.002 +architecture: 0.001 +ppc: 0.001 +graphic: 0.001 +KVM: 0.001 +permissions: 0.001 +vnc: 0.001 +socket: 0.001 +peripherals: 0.001 +mistranslation: 0.000 +risc-v: 0.000 + +linux-user elf loader issue + +all versions up to 4.0 (I didn't test others) +file affected linux-user/elfload.c +function load_elf_image + +if (phdr[i].p_type == PT_LOAD) { + +- abi_ulong a = phdr[i].p_vaddr - phdr[i].p_offset; ++ abi_ulong a = phdr[i].p_vaddr ; // - phdr[i].p_offset; + if (a < loaddr) { + loaddr = a; + +To the best of my understanding of the elf format p_offset is not a virtual offset. In fact, when I load statically compiled applications, the load fails because the libc before main is trying to access phdr in the executable image but that memory is not mapped -- this is caused by the wrong loaddr above. + +Have you got a test case? The check-tcg tests all pass and they are statically linked elfs. + +[Expired for QEMU because there has been no activity for 60 days.] + |