[llvm-readobj/obj2yaml/yaml2obj] Support MIPS machine ELF header flags

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236807 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Simon Atanasyan
2015-05-08 07:04:59 +00:00
parent 7a5d9c0611
commit dfa21e1100
5 changed files with 80 additions and 18 deletions

View File

@@ -523,6 +523,24 @@ static const EnumEntry<unsigned> ElfHeaderMipsFlags[] = {
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_ABI_O64),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_ABI_EABI32),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_ABI_EABI64),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_3900),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_4010),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_4100),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_4650),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_4120),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_4111),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_SB1),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_OCTEON),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_XLR),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_OCTEON2),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_OCTEON3),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_5400),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_5900),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_5500),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_9000),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_LS2E),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_LS2F),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MACH_LS3A),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_MICROMIPS),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_ARCH_ASE_M16),
LLVM_READOBJ_ENUM_ENT(ELF, EF_MIPS_ARCH_ASE_MDMX),
@@ -568,7 +586,8 @@ void ELFDumper<ELFT>::printFileHeaders() {
W.printHex ("SectionHeaderOffset", Header->e_shoff);
if (Header->e_machine == EM_MIPS)
W.printFlags("Flags", Header->e_flags, makeArrayRef(ElfHeaderMipsFlags),
unsigned(ELF::EF_MIPS_ARCH), unsigned(ELF::EF_MIPS_ABI));
unsigned(ELF::EF_MIPS_ARCH), unsigned(ELF::EF_MIPS_ABI),
unsigned(ELF::EF_MIPS_MACH));
else
W.printFlags("Flags", Header->e_flags);
W.printNumber("HeaderSize", Header->e_ehsize);