Significado dos sinalizadores MIPS no cabeçalho elf

1

Eu estava olhando para o cabeçalho de alguns arquivos elf e notei algo estranho:

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
  ...

Por que ele é rotulado como ELF32, mas tem um sinalizador mips64r2? O que isso indica? Isso significa que o arquivo foi compilado como um programa de 32 bits destinado a ser executado em um processador de 64 bits?

Além disso, se estiver em execução no mips64r2, por que a máquina é rotulada como MIPS r3000?

Se eu quisesse executar isso com o qemu, de que tipo de ambiente eu precisaria? mips64 r2? mips r3000?

    
por charlesw 17.10.2016 / 19:33

0 respostas

Tags