I was looking at the header of some elf files and noticed something odd:
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: MIPS R3000
Version: 0x1
...
Flags: 0x80000027, noreorder, pic, cpic, abi2, mips64r2
...
Why is it labeled as ELF32 but have a mips64r2 flag? What does that indicate? Does it mean that the file was compiled as a 32 bit program intended to be run on a 64 bit processor?
Also, if it is running on mips64r2, why is the machine labeled as MIPS r3000?
If I wanted to run this with qemu, what type of environment would I need? mips64 r2? mips r3000?
Asked by charlesw
(130 rep)
Oct 17, 2016, 05:33 PM
Last activity: Feb 7, 2022, 01:15 PM
Last activity: Feb 7, 2022, 01:15 PM