mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
[yaml2obj] Add support for ELF e_flags.
Summary: The FileHeader mapping now accepts an optional Flags sequence that accepts the EF_<arch>_<flag> constants. When not given, Flags defaults to zero. Reviewers: atanasyan Reviewed By: atanasyan CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3213 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205173 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -237,6 +237,48 @@ void ScalarEnumerationTraits<ELFYAML::ELF_ELFOSABI>::enumeration(
|
||||
#undef ECase
|
||||
}
|
||||
|
||||
void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
|
||||
ELFYAML::ELF_EF &Value) {
|
||||
#define BCase(X) IO.bitSetCase(Value, #X, ELF::X);
|
||||
BCase(EF_ARM_SOFT_FLOAT)
|
||||
BCase(EF_ARM_VFP_FLOAT)
|
||||
BCase(EF_ARM_EABI_UNKNOWN)
|
||||
BCase(EF_ARM_EABI_VER1)
|
||||
BCase(EF_ARM_EABI_VER2)
|
||||
BCase(EF_ARM_EABI_VER3)
|
||||
BCase(EF_ARM_EABI_VER4)
|
||||
BCase(EF_ARM_EABI_VER5)
|
||||
BCase(EF_ARM_EABIMASK)
|
||||
BCase(EF_MIPS_NOREORDER)
|
||||
BCase(EF_MIPS_PIC)
|
||||
BCase(EF_MIPS_CPIC)
|
||||
BCase(EF_MIPS_ABI2)
|
||||
BCase(EF_MIPS_32BITMODE)
|
||||
BCase(EF_MIPS_ABI_O32)
|
||||
BCase(EF_MIPS_MICROMIPS)
|
||||
BCase(EF_MIPS_ARCH_ASE_M16)
|
||||
BCase(EF_MIPS_ARCH_1)
|
||||
BCase(EF_MIPS_ARCH_2)
|
||||
BCase(EF_MIPS_ARCH_3)
|
||||
BCase(EF_MIPS_ARCH_4)
|
||||
BCase(EF_MIPS_ARCH_5)
|
||||
BCase(EF_MIPS_ARCH_32)
|
||||
BCase(EF_MIPS_ARCH_64)
|
||||
BCase(EF_MIPS_ARCH_32R2)
|
||||
BCase(EF_MIPS_ARCH_64R2)
|
||||
BCase(EF_MIPS_ARCH)
|
||||
BCase(EF_HEXAGON_MACH_V2)
|
||||
BCase(EF_HEXAGON_MACH_V3)
|
||||
BCase(EF_HEXAGON_MACH_V4)
|
||||
BCase(EF_HEXAGON_MACH_V5)
|
||||
BCase(EF_HEXAGON_ISA_MACH)
|
||||
BCase(EF_HEXAGON_ISA_V2)
|
||||
BCase(EF_HEXAGON_ISA_V3)
|
||||
BCase(EF_HEXAGON_ISA_V4)
|
||||
BCase(EF_HEXAGON_ISA_V5)
|
||||
#undef BCase
|
||||
}
|
||||
|
||||
void ScalarEnumerationTraits<ELFYAML::ELF_SHT>::enumeration(
|
||||
IO &IO, ELFYAML::ELF_SHT &Value) {
|
||||
#define ECase(X) IO.enumCase(Value, #X, ELF::X);
|
||||
@@ -299,6 +341,7 @@ void MappingTraits<ELFYAML::FileHeader>::mapping(IO &IO,
|
||||
IO.mapOptional("OSABI", FileHdr.OSABI, ELFYAML::ELF_ELFOSABI(0));
|
||||
IO.mapRequired("Type", FileHdr.Type);
|
||||
IO.mapRequired("Machine", FileHdr.Machine);
|
||||
IO.mapOptional("Flags", FileHdr.Flags, ELFYAML::ELF_EF(0));
|
||||
IO.mapOptional("Entry", FileHdr.Entry, Hex64(0));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user