blob: c42948f711a46a173b54427a9c2cc73bf2ec3c74 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
graphic: 0.725
instruction: 0.707
device: 0.693
mistranslation: 0.511
semantic: 0.482
network: 0.478
vnc: 0.356
socket: 0.324
other: 0.302
boot: 0.292
KVM: 0.067
assembly: 0.048
linux-user/elfload.c: byteswap function is not working when ELF is big endian
I run qemu-mipsel for ELF with mips MSB(big endian), it always outputs error message: Invalid ELF image for this architecture. For the ELF I run:
$file busybox
ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
The section header is not corrupted(MSB, corrputed section header table also outputs same error as above), when I run ELF with LSB, it works perfectly. I debugged with /linux-user/elfload.c, I am sure that the problem comes from byteswap function. But I don't know how to handle it. I really hope this can be fixed ASAP. Really appreciate your help.
The qemu-mipsel binary is for little-endian executables (that's what the "el" part means), so it is expected that it does not handle BE ELF files. Try "qemu-mips", which is the equivalent QEMU binary for big-endian executables.
|