Пример #1
0
void ScalarEnumerationTraits<WasmYAML::ComdatKind>::enumeration(
    IO &IO, WasmYAML::ComdatKind &Kind) {
#define ECase(X) IO.enumCase(Kind, #X, wasm::WASM_COMDAT_##X);
  ECase(FUNCTION);
  ECase(DATA);
#undef ECase
}
Пример #2
0
void ScalarEnumerationTraits<WasmYAML::ExportKind>::enumeration(
    IO &IO, WasmYAML::ExportKind &Kind) {
#define ECase(X) IO.enumCase(Kind, #X, wasm::WASM_EXTERNAL_##X);
  ECase(FUNCTION);
  ECase(TABLE);
  ECase(MEMORY);
  ECase(GLOBAL);
#undef ECase
}
Пример #3
0
void ScalarEnumerationTraits<ELFYAML::ELF_STV>::enumeration(
    IO &IO, ELFYAML::ELF_STV &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(STV_DEFAULT);
  ECase(STV_INTERNAL);
  ECase(STV_HIDDEN);
  ECase(STV_PROTECTED);
#undef ECase
}
Пример #4
0
void ScalarEnumerationTraits<ELFYAML::ELF_ELFDATA>::enumeration(
    IO &IO, ELFYAML::ELF_ELFDATA &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  // Since the semantics of ELFDATANONE is "invalid", just don't accept it
  // here.
  ECase(ELFDATA2LSB);
  ECase(ELFDATA2MSB);
#undef ECase
}
Пример #5
0
void ScalarEnumerationTraits<ELFYAML::MIPS_AFL_REG>::enumeration(
    IO &IO, ELFYAML::MIPS_AFL_REG &Value) {
#define ECase(X) IO.enumCase(Value, #X, Mips::AFL_##X)
  ECase(REG_NONE);
  ECase(REG_32);
  ECase(REG_64);
  ECase(REG_128);
#undef ECase
}
Пример #6
0
void ScalarEnumerationTraits<ELFYAML::ELF_RSS>::enumeration(
    IO &IO, ELFYAML::ELF_RSS &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(RSS_UNDEF);
  ECase(RSS_GP);
  ECase(RSS_GP0);
  ECase(RSS_LOC);
#undef ECase
}
Пример #7
0
void ScalarEnumerationTraits<ELFYAML::ELF_PT>::enumeration(
    IO &IO, ELFYAML::ELF_PT &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(PT_NULL);
  ECase(PT_LOAD);
  ECase(PT_DYNAMIC);
  ECase(PT_INTERP);
  ECase(PT_NOTE);
  ECase(PT_SHLIB);
  ECase(PT_PHDR);
  ECase(PT_TLS);
  ECase(PT_GNU_EH_FRAME);
#undef ECase
  IO.enumFallback<Hex32>(Value);
}
Пример #8
0
void ScalarEnumerationTraits<ELFYAML::ELF_STT>::enumeration(
    IO &IO, ELFYAML::ELF_STT &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(STT_NOTYPE);
  ECase(STT_OBJECT);
  ECase(STT_FUNC);
  ECase(STT_SECTION);
  ECase(STT_FILE);
  ECase(STT_COMMON);
  ECase(STT_TLS);
  ECase(STT_GNU_IFUNC);
#undef ECase
}
Пример #9
0
void ScalarEnumerationTraits<ELFYAML::MIPS_ABI_FP>::enumeration(
    IO &IO, ELFYAML::MIPS_ABI_FP &Value) {
#define ECase(X) IO.enumCase(Value, #X, Mips::Val_GNU_MIPS_ABI_##X)
  ECase(FP_ANY);
  ECase(FP_DOUBLE);
  ECase(FP_SINGLE);
  ECase(FP_SOFT);
  ECase(FP_OLD_64);
  ECase(FP_XX);
  ECase(FP_64);
  ECase(FP_64A);
#undef ECase
}
Пример #10
0
void ScalarEnumerationTraits<WasmYAML::ValueType>::enumeration(
    IO &IO, WasmYAML::ValueType &Type) {
#define ECase(X) IO.enumCase(Type, #X, wasm::WASM_TYPE_##X);
  ECase(I32);
  ECase(I64);
  ECase(F32);
  ECase(F64);
  ECase(ANYFUNC);
  ECase(FUNC);
  ECase(NORESULT);
#undef ECase
}
Пример #11
0
void ScalarEnumerationTraits<WasmYAML::Opcode>::enumeration(
    IO &IO, WasmYAML::Opcode &Code) {
#define ECase(X) IO.enumCase(Code, #X, wasm::WASM_OPCODE_##X);
  ECase(END);
  ECase(I32_CONST);
  ECase(I64_CONST);
  ECase(F64_CONST);
  ECase(F32_CONST);
  ECase(GET_GLOBAL);
#undef ECase
}
Пример #12
0
 static void enumeration(IO &IO, COFF::MachineTypes &Value) {
   ECase(IMAGE_FILE_MACHINE_UNKNOWN);
   ECase(IMAGE_FILE_MACHINE_AM33);
   ECase(IMAGE_FILE_MACHINE_AMD64);
   ECase(IMAGE_FILE_MACHINE_ARM);
   ECase(IMAGE_FILE_MACHINE_ARMV7);
   ECase(IMAGE_FILE_MACHINE_EBC);
   ECase(IMAGE_FILE_MACHINE_I386);
   ECase(IMAGE_FILE_MACHINE_IA64);
   ECase(IMAGE_FILE_MACHINE_M32R);
   ECase(IMAGE_FILE_MACHINE_MIPS16);
   ECase(IMAGE_FILE_MACHINE_MIPSFPU);
   ECase(IMAGE_FILE_MACHINE_MIPSFPU16);
   ECase(IMAGE_FILE_MACHINE_POWERPC);
   ECase(IMAGE_FILE_MACHINE_POWERPCFP);
   ECase(IMAGE_FILE_MACHINE_R4000);
   ECase(IMAGE_FILE_MACHINE_SH3);
   ECase(IMAGE_FILE_MACHINE_SH3DSP);
   ECase(IMAGE_FILE_MACHINE_SH4);
   ECase(IMAGE_FILE_MACHINE_SH5);
   ECase(IMAGE_FILE_MACHINE_THUMB);
   ECase(IMAGE_FILE_MACHINE_WCEMIPSV2);
 }
Пример #13
0
 static void enumeration(IO &IO, COFF::SymbolBaseType &Value) {
   ECase(IMAGE_SYM_TYPE_NULL);
   ECase(IMAGE_SYM_TYPE_VOID);
   ECase(IMAGE_SYM_TYPE_CHAR);
   ECase(IMAGE_SYM_TYPE_SHORT);
   ECase(IMAGE_SYM_TYPE_INT);
   ECase(IMAGE_SYM_TYPE_LONG);
   ECase(IMAGE_SYM_TYPE_FLOAT);
   ECase(IMAGE_SYM_TYPE_DOUBLE);
   ECase(IMAGE_SYM_TYPE_STRUCT);
   ECase(IMAGE_SYM_TYPE_UNION);
   ECase(IMAGE_SYM_TYPE_ENUM);
   ECase(IMAGE_SYM_TYPE_MOE);
   ECase(IMAGE_SYM_TYPE_BYTE);
   ECase(IMAGE_SYM_TYPE_WORD);
   ECase(IMAGE_SYM_TYPE_UINT);
   ECase(IMAGE_SYM_TYPE_DWORD);
 }
Пример #14
0
void ScalarEnumerationTraits<WasmYAML::SectionType>::enumeration(
    IO &IO, WasmYAML::SectionType &Type) {
#define ECase(X) IO.enumCase(Type, #X, wasm::WASM_SEC_##X);
  ECase(CUSTOM);
  ECase(TYPE);
  ECase(IMPORT);
  ECase(FUNCTION);
  ECase(TABLE);
  ECase(MEMORY);
  ECase(GLOBAL);
  ECase(EXPORT);
  ECase(START);
  ECase(ELEM);
  ECase(CODE);
  ECase(DATA);
#undef ECase
}
Пример #15
0
std::error_code WasmObjectFile::getSectionName(DataRefImpl Sec,
                                               StringRef &Res) const {
  const wasm::WasmSection &S = Sections[Sec.d.a];
#define ECase(X)                                                               \
  case wasm::WASM_SEC_##X:                                                     \
    Res = #X;                                                                  \
    break
  switch (S.Type) {
    ECase(TYPE);
    ECase(IMPORT);
    ECase(FUNCTION);
    ECase(TABLE);
    ECase(MEMORY);
    ECase(GLOBAL);
    ECase(EXPORT);
    ECase(START);
    ECase(ELEM);
    ECase(CODE);
    ECase(DATA);
  case wasm::WASM_SEC_USER:
    Res = S.Name;
    break;
  default:
    return object_error::invalid_section_index;
  }
#undef ECase
  return std::error_code();
}
Пример #16
0
void ScalarEnumerationTraits<ELFYAML::MIPS_AFL_EXT>::enumeration(
    IO &IO, ELFYAML::MIPS_AFL_EXT &Value) {
#define ECase(X) IO.enumCase(Value, #X, Mips::AFL_##X)
  ECase(EXT_NONE);
  ECase(EXT_XLR);
  ECase(EXT_OCTEON2);
  ECase(EXT_OCTEONP);
  ECase(EXT_LOONGSON_3A);
  ECase(EXT_OCTEON);
  ECase(EXT_5900);
  ECase(EXT_4650);
  ECase(EXT_4010);
  ECase(EXT_4100);
  ECase(EXT_3900);
  ECase(EXT_10000);
  ECase(EXT_SB1);
  ECase(EXT_4111);
  ECase(EXT_4120);
  ECase(EXT_5400);
  ECase(EXT_5500);
  ECase(EXT_LOONGSON_2E);
  ECase(EXT_LOONGSON_2F);
  ECase(EXT_OCTEON3);
#undef ECase
}
Пример #17
0
 static void enumeration(IO &IO, COFF::RelocationTypeX86 &Value) {
   ECase(IMAGE_REL_I386_ABSOLUTE);
   ECase(IMAGE_REL_I386_DIR16);
   ECase(IMAGE_REL_I386_REL16);
   ECase(IMAGE_REL_I386_DIR32);
   ECase(IMAGE_REL_I386_DIR32NB);
   ECase(IMAGE_REL_I386_SEG12);
   ECase(IMAGE_REL_I386_SECTION);
   ECase(IMAGE_REL_I386_SECREL);
   ECase(IMAGE_REL_I386_TOKEN);
   ECase(IMAGE_REL_I386_SECREL7);
   ECase(IMAGE_REL_I386_REL32);
   ECase(IMAGE_REL_AMD64_ABSOLUTE);
   ECase(IMAGE_REL_AMD64_ADDR64);
   ECase(IMAGE_REL_AMD64_ADDR32);
   ECase(IMAGE_REL_AMD64_ADDR32NB);
   ECase(IMAGE_REL_AMD64_REL32);
   ECase(IMAGE_REL_AMD64_REL32_1);
   ECase(IMAGE_REL_AMD64_REL32_2);
   ECase(IMAGE_REL_AMD64_REL32_3);
   ECase(IMAGE_REL_AMD64_REL32_4);
   ECase(IMAGE_REL_AMD64_REL32_5);
   ECase(IMAGE_REL_AMD64_SECTION);
   ECase(IMAGE_REL_AMD64_SECREL);
   ECase(IMAGE_REL_AMD64_SECREL7);
   ECase(IMAGE_REL_AMD64_TOKEN);
   ECase(IMAGE_REL_AMD64_SREL32);
   ECase(IMAGE_REL_AMD64_PAIR);
   ECase(IMAGE_REL_AMD64_SSPAN32);
 }
Пример #18
0
void ScalarEnumerationTraits<ELFYAML::ELF_EM>::enumeration(
    IO &IO, ELFYAML::ELF_EM &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(EM_NONE);
  ECase(EM_M32);
  ECase(EM_SPARC);
  ECase(EM_386);
  ECase(EM_68K);
  ECase(EM_88K);
  ECase(EM_IAMCU);
  ECase(EM_860);
  ECase(EM_MIPS);
  ECase(EM_S370);
  ECase(EM_MIPS_RS3_LE);
  ECase(EM_PARISC);
  ECase(EM_VPP500);
  ECase(EM_SPARC32PLUS);
  ECase(EM_960);
  ECase(EM_PPC);
  ECase(EM_PPC64);
  ECase(EM_S390);
  ECase(EM_SPU);
  ECase(EM_V800);
  ECase(EM_FR20);
  ECase(EM_RH32);
  ECase(EM_RCE);
  ECase(EM_ARM);
  ECase(EM_ALPHA);
  ECase(EM_SH);
  ECase(EM_SPARCV9);
  ECase(EM_TRICORE);
  ECase(EM_ARC);
  ECase(EM_H8_300);
  ECase(EM_H8_300H);
  ECase(EM_H8S);
  ECase(EM_H8_500);
  ECase(EM_IA_64);
  ECase(EM_MIPS_X);
  ECase(EM_COLDFIRE);
  ECase(EM_68HC12);
  ECase(EM_MMA);
  ECase(EM_PCP);
  ECase(EM_NCPU);
  ECase(EM_NDR1);
  ECase(EM_STARCORE);
  ECase(EM_ME16);
  ECase(EM_ST100);
  ECase(EM_TINYJ);
  ECase(EM_X86_64);
  ECase(EM_PDSP);
  ECase(EM_PDP10);
  ECase(EM_PDP11);
  ECase(EM_FX66);
  ECase(EM_ST9PLUS);
  ECase(EM_ST7);
  ECase(EM_68HC16);
  ECase(EM_68HC11);
  ECase(EM_68HC08);
  ECase(EM_68HC05);
  ECase(EM_SVX);
  ECase(EM_ST19);
  ECase(EM_VAX);
  ECase(EM_CRIS);
  ECase(EM_JAVELIN);
  ECase(EM_FIREPATH);
  ECase(EM_ZSP);
  ECase(EM_MMIX);
  ECase(EM_HUANY);
  ECase(EM_PRISM);
  ECase(EM_AVR);
  ECase(EM_FR30);
  ECase(EM_D10V);
  ECase(EM_D30V);
  ECase(EM_V850);
  ECase(EM_M32R);
  ECase(EM_MN10300);
  ECase(EM_MN10200);
  ECase(EM_PJ);
  ECase(EM_OPENRISC);
  ECase(EM_ARC_COMPACT);
  ECase(EM_XTENSA);
  ECase(EM_VIDEOCORE);
  ECase(EM_TMM_GPP);
  ECase(EM_NS32K);
  ECase(EM_TPC);
  ECase(EM_SNP1K);
  ECase(EM_ST200);
  ECase(EM_IP2K);
  ECase(EM_MAX);
  ECase(EM_CR);
  ECase(EM_F2MC16);
  ECase(EM_MSP430);
  ECase(EM_BLACKFIN);
  ECase(EM_SE_C33);
  ECase(EM_SEP);
  ECase(EM_ARCA);
  ECase(EM_UNICORE);
  ECase(EM_EXCESS);
  ECase(EM_DXP);
  ECase(EM_ALTERA_NIOS2);
  ECase(EM_CRX);
  ECase(EM_XGATE);
  ECase(EM_C166);
  ECase(EM_M16C);
  ECase(EM_DSPIC30F);
  ECase(EM_CE);
  ECase(EM_M32C);
  ECase(EM_TSK3000);
  ECase(EM_RS08);
  ECase(EM_SHARC);
  ECase(EM_ECOG2);
  ECase(EM_SCORE7);
  ECase(EM_DSP24);
  ECase(EM_VIDEOCORE3);
  ECase(EM_LATTICEMICO32);
  ECase(EM_SE_C17);
  ECase(EM_TI_C6000);
  ECase(EM_TI_C2000);
  ECase(EM_TI_C5500);
  ECase(EM_MMDSP_PLUS);
  ECase(EM_CYPRESS_M8C);
  ECase(EM_R32C);
  ECase(EM_TRIMEDIA);
  ECase(EM_HEXAGON);
  ECase(EM_8051);
  ECase(EM_STXP7X);
  ECase(EM_NDS32);
  ECase(EM_ECOG1);
  ECase(EM_ECOG1X);
  ECase(EM_MAXQ30);
  ECase(EM_XIMO16);
  ECase(EM_MANIK);
  ECase(EM_CRAYNV2);
  ECase(EM_RX);
  ECase(EM_METAG);
  ECase(EM_MCST_ELBRUS);
  ECase(EM_ECOG16);
  ECase(EM_CR16);
  ECase(EM_ETPU);
  ECase(EM_SLE9X);
  ECase(EM_L10M);
  ECase(EM_K10M);
  ECase(EM_AARCH64);
  ECase(EM_AVR32);
  ECase(EM_STM8);
  ECase(EM_TILE64);
  ECase(EM_TILEPRO);
  ECase(EM_CUDA);
  ECase(EM_TILEGX);
  ECase(EM_CLOUDSHIELD);
  ECase(EM_COREA_1ST);
  ECase(EM_COREA_2ND);
  ECase(EM_ARC_COMPACT2);
  ECase(EM_OPEN8);
  ECase(EM_RL78);
  ECase(EM_VIDEOCORE5);
  ECase(EM_78KOR);
  ECase(EM_56800EX);
  ECase(EM_AMDGPU);
  ECase(EM_RISCV);
  ECase(EM_LANAI);
  ECase(EM_BPF);
#undef ECase
}
Пример #19
0
 static void enumeration(IO &IO, COFF::SectionCharacteristics &Value) {
   ECase(IMAGE_SCN_TYPE_NO_PAD);
   ECase(IMAGE_SCN_CNT_CODE);
   ECase(IMAGE_SCN_CNT_INITIALIZED_DATA);
   ECase(IMAGE_SCN_CNT_UNINITIALIZED_DATA);
   ECase(IMAGE_SCN_LNK_OTHER);
   ECase(IMAGE_SCN_LNK_INFO);
   ECase(IMAGE_SCN_LNK_REMOVE);
   ECase(IMAGE_SCN_LNK_COMDAT);
   ECase(IMAGE_SCN_GPREL);
   ECase(IMAGE_SCN_MEM_PURGEABLE);
   ECase(IMAGE_SCN_MEM_16BIT);
   ECase(IMAGE_SCN_MEM_LOCKED);
   ECase(IMAGE_SCN_MEM_PRELOAD);
   ECase(IMAGE_SCN_ALIGN_1BYTES);
   ECase(IMAGE_SCN_ALIGN_2BYTES);
   ECase(IMAGE_SCN_ALIGN_4BYTES);
   ECase(IMAGE_SCN_ALIGN_8BYTES);
   ECase(IMAGE_SCN_ALIGN_16BYTES);
   ECase(IMAGE_SCN_ALIGN_32BYTES);
   ECase(IMAGE_SCN_ALIGN_64BYTES);
   ECase(IMAGE_SCN_ALIGN_128BYTES);
   ECase(IMAGE_SCN_ALIGN_256BYTES);
   ECase(IMAGE_SCN_ALIGN_512BYTES);
   ECase(IMAGE_SCN_ALIGN_1024BYTES);
   ECase(IMAGE_SCN_ALIGN_2048BYTES);
   ECase(IMAGE_SCN_ALIGN_4096BYTES);
   ECase(IMAGE_SCN_ALIGN_8192BYTES);
   ECase(IMAGE_SCN_LNK_NRELOC_OVFL);
   ECase(IMAGE_SCN_MEM_DISCARDABLE);
   ECase(IMAGE_SCN_MEM_NOT_CACHED);
   ECase(IMAGE_SCN_MEM_NOT_PAGED);
   ECase(IMAGE_SCN_MEM_SHARED);
   ECase(IMAGE_SCN_MEM_EXECUTE);
   ECase(IMAGE_SCN_MEM_READ);
   ECase(IMAGE_SCN_MEM_WRITE);
 }
Пример #20
0
 static void enumeration(IO &IO, COFF::SymbolStorageClass &Value) {
   ECase(IMAGE_SYM_CLASS_END_OF_FUNCTION);
   ECase(IMAGE_SYM_CLASS_NULL);
   ECase(IMAGE_SYM_CLASS_AUTOMATIC);
   ECase(IMAGE_SYM_CLASS_EXTERNAL);
   ECase(IMAGE_SYM_CLASS_STATIC);
   ECase(IMAGE_SYM_CLASS_REGISTER);
   ECase(IMAGE_SYM_CLASS_EXTERNAL_DEF);
   ECase(IMAGE_SYM_CLASS_LABEL);
   ECase(IMAGE_SYM_CLASS_UNDEFINED_LABEL);
   ECase(IMAGE_SYM_CLASS_MEMBER_OF_STRUCT);
   ECase(IMAGE_SYM_CLASS_ARGUMENT);
   ECase(IMAGE_SYM_CLASS_STRUCT_TAG);
   ECase(IMAGE_SYM_CLASS_MEMBER_OF_UNION);
   ECase(IMAGE_SYM_CLASS_UNION_TAG);
   ECase(IMAGE_SYM_CLASS_TYPE_DEFINITION);
   ECase(IMAGE_SYM_CLASS_UNDEFINED_STATIC);
   ECase(IMAGE_SYM_CLASS_ENUM_TAG);
   ECase(IMAGE_SYM_CLASS_MEMBER_OF_ENUM);
   ECase(IMAGE_SYM_CLASS_REGISTER_PARAM);
   ECase(IMAGE_SYM_CLASS_BIT_FIELD);
   ECase(IMAGE_SYM_CLASS_BLOCK);
   ECase(IMAGE_SYM_CLASS_FUNCTION);
   ECase(IMAGE_SYM_CLASS_END_OF_STRUCT);
   ECase(IMAGE_SYM_CLASS_FILE);
   ECase(IMAGE_SYM_CLASS_SECTION);
   ECase(IMAGE_SYM_CLASS_WEAK_EXTERNAL);
   ECase(IMAGE_SYM_CLASS_CLR_TOKEN);
 }
Пример #21
0
void ScalarEnumerationTraits<ELFYAML::ELF_SHN>::enumeration(
    IO &IO, ELFYAML::ELF_SHN &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(SHN_UNDEF);
  ECase(SHN_LORESERVE);
  ECase(SHN_LOPROC);
  ECase(SHN_HIPROC);
  ECase(SHN_LOOS);
  ECase(SHN_HIOS);
  ECase(SHN_ABS);
  ECase(SHN_COMMON);
  ECase(SHN_XINDEX);
  ECase(SHN_HIRESERVE);
  ECase(SHN_HEXAGON_SCOMMON);
  ECase(SHN_HEXAGON_SCOMMON_1);
  ECase(SHN_HEXAGON_SCOMMON_2);
  ECase(SHN_HEXAGON_SCOMMON_4);
  ECase(SHN_HEXAGON_SCOMMON_8);
#undef ECase
  IO.enumFallback<Hex32>(Value);
}
Пример #22
0
void ScalarEnumerationTraits<ELFYAML::ELF_SHT>::enumeration(
    IO &IO, ELFYAML::ELF_SHT &Value) {
  const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext());
  assert(Object && "The IO context is not initialized");
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(SHT_NULL);
  ECase(SHT_PROGBITS);
  // No SHT_SYMTAB. Use the top-level `Symbols` key instead.
  // FIXME: Issue a diagnostic with this information.
  ECase(SHT_STRTAB);
  ECase(SHT_RELA);
  ECase(SHT_HASH);
  ECase(SHT_DYNAMIC);
  ECase(SHT_NOTE);
  ECase(SHT_NOBITS);
  ECase(SHT_REL);
  ECase(SHT_SHLIB);
  ECase(SHT_DYNSYM);
  ECase(SHT_INIT_ARRAY);
  ECase(SHT_FINI_ARRAY);
  ECase(SHT_PREINIT_ARRAY);
  ECase(SHT_GROUP);
  ECase(SHT_SYMTAB_SHNDX);
  ECase(SHT_LOOS);
  ECase(SHT_LLVM_ODRTAB);
  ECase(SHT_GNU_ATTRIBUTES);
  ECase(SHT_GNU_HASH);
  ECase(SHT_GNU_verdef);
  ECase(SHT_GNU_verneed);
  ECase(SHT_GNU_versym);
  ECase(SHT_HIOS);
  ECase(SHT_LOPROC);
  switch (Object->Header.Machine) {
  case ELF::EM_ARM:
    ECase(SHT_ARM_EXIDX);
    ECase(SHT_ARM_PREEMPTMAP);
    ECase(SHT_ARM_ATTRIBUTES);
    ECase(SHT_ARM_DEBUGOVERLAY);
    ECase(SHT_ARM_OVERLAYSECTION);
    break;
  case ELF::EM_HEXAGON:
    ECase(SHT_HEX_ORDERED);
    break;
  case ELF::EM_X86_64:
    ECase(SHT_X86_64_UNWIND);
    break;
  case ELF::EM_MIPS:
    ECase(SHT_MIPS_REGINFO);
    ECase(SHT_MIPS_OPTIONS);
    ECase(SHT_MIPS_ABIFLAGS);
    break;
  default:
    // Nothing to do.
    break;
  }
#undef ECase
}
Пример #23
0
void ScalarEnumerationTraits<ELFYAML::ELF_ELFOSABI>::enumeration(
    IO &IO, ELFYAML::ELF_ELFOSABI &Value) {
#define ECase(X) IO.enumCase(Value, #X, ELF::X)
  ECase(ELFOSABI_NONE);
  ECase(ELFOSABI_HPUX);
  ECase(ELFOSABI_NETBSD);
  ECase(ELFOSABI_GNU);
  ECase(ELFOSABI_HURD);
  ECase(ELFOSABI_SOLARIS);
  ECase(ELFOSABI_AIX);
  ECase(ELFOSABI_IRIX);
  ECase(ELFOSABI_FREEBSD);
  ECase(ELFOSABI_TRU64);
  ECase(ELFOSABI_MODESTO);
  ECase(ELFOSABI_OPENBSD);
  ECase(ELFOSABI_OPENVMS);
  ECase(ELFOSABI_NSK);
  ECase(ELFOSABI_AROS);
  ECase(ELFOSABI_FENIXOS);
  ECase(ELFOSABI_CLOUDABI);
  ECase(ELFOSABI_AMDGPU_HSA);
  ECase(ELFOSABI_AMDGPU_PAL);
  ECase(ELFOSABI_AMDGPU_MESA3D);
  ECase(ELFOSABI_ARM);
  ECase(ELFOSABI_C6000_ELFABI);
  ECase(ELFOSABI_C6000_LINUX);
  ECase(ELFOSABI_STANDALONE);
#undef ECase
}
Пример #24
0
void ScalarEnumerationTraits<WasmYAML::TableType>::enumeration(
    IO &IO, WasmYAML::TableType &Type) {
#define ECase(X) IO.enumCase(Type, #X, wasm::WASM_TYPE_##X);
  ECase(ANYFUNC);
#undef ECase
}
Пример #25
0
 static void enumeration(IO &IO, COFF::SymbolComplexType &Value) {
   ECase(IMAGE_SYM_DTYPE_NULL);
   ECase(IMAGE_SYM_DTYPE_POINTER);
   ECase(IMAGE_SYM_DTYPE_FUNCTION);
   ECase(IMAGE_SYM_DTYPE_ARRAY);
 }