Go to the documentation of this file.
15 #ifndef LLVM_OBJECTYAML_MACHOYAML_H
16 #define LLVM_OBJECTYAML_MACHOYAML_H
77 std::vector<MachO::build_tool_version>
Tools;
237 #define HANDLE_LOAD_COMMAND(LCName, LCValue, LCStruct) \
238 io.enumCase(value, #LCName, MachO::LCName);
242 #include "llvm/BinaryFormat/MachO.def"
243 io.enumFallback<Hex32>(value);
247 #define ENUM_CASE(Enum) io.enumCase(value, #Enum, MachO::Enum);
260 io.enumFallback<Hex8>(value);
264 template <>
struct ScalarEnumerationTraits<MachO::
BindOpcode> {
279 io.enumFallback<Hex8>(value);
296 template <>
struct ScalarTraits<
uuid_t> {
304 #define LOAD_COMMAND_STRUCT(LCStruct) \
305 template <> struct MappingTraits<MachO::LCStruct> { \
306 static void mapping(IO &IO, MachO::LCStruct &LoadCommand); \
309 #include "llvm/BinaryFormat/MachO.def"
332 #endif // LLVM_OBJECTYAML_MACHOYAML_H
@ BIND_OPCODE_SET_DYLIB_ORDINAL_IMM
std::vector< Section > Sections
This is an optimization pass for GlobalISel generic memory operations.
std::vector< Section > Sections
@ BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED
std::vector< yaml::Hex64 > ULEBExtraData
@ BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
llvm::yaml::Hex64 Address
MachOYAML::ExportEntry ExportTrie
@ REBASE_OPCODE_SET_TYPE_IMM
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
@ REBASE_OPCODE_ADD_ADDR_ULEB
std::vector< FatArch > FatArchs
@ REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
std::vector< MachOYAML::BindOpcode > LazyBindOpcodes
std::vector< llvm::yaml::Hex8 > PayloadBytes
std::vector< yaml::Hex64 > FunctionStarts
void validate(const Triple &TT, const FeatureBitset &FeatureBits)
std::vector< MachOYAML::RebaseOpcode > RebaseOpcodes
@ BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB
raw_ostream::uuid_t uuid_t
llvm::yaml::Hex32 address
std::vector< yaml::Hex32 > IndirectSymbols
llvm::yaml::Hex32 cputype
@ BIND_OPCODE_SET_TYPE_IMM
@ REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB
std::vector< Object > Slices
This class implements an extremely fast bulk output stream that can only output to a stream.
llvm::MachO::macho_load_command Data
std::vector< Relocation > relocations
The initial backend is deliberately restricted to z10 We should add support for later architectures at some point If an asm ties an i32 r result to an i64 input
@ BIND_OPCODE_ADD_ADDR_ULEB
@ REBASE_OPCODE_DO_REBASE_IMM_TIMES
std::vector< int64_t > SLEBExtraData
std::vector< NListEntry > NameList
std::vector< LoadCommand > LoadCommands
MachO::RebaseOpcode Opcode
llvm::yaml::Hex32 cpusubtype
std::vector< yaml::Hex64 > ExtraData
@ REBASE_OPCODE_ADD_ADDR_IMM_SCALED
@ REBASE_OPCODE_DO_REBASE_ULEB_TIMES
static void enumeration(IO &io, MachO::BindOpcode &value)
Optional< llvm::yaml::BinaryRef > content
@ BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB
StringRef - Represent a constant reference to a string, i.e.
@ BIND_OPCODE_SET_ADDEND_SLEB
std::vector< MachOYAML::BindOpcode > WeakBindOpcodes
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
@ REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB
std::vector< MachOYAML::BindOpcode > BindOpcodes
@ BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB
std::vector< MachO::build_tool_version > Tools
llvm::yaml::Hex32 reserved3
Optional< llvm::yaml::BinaryRef > RawLinkEditSegment
llvm::yaml::Hex32 reserved
llvm::yaml::Hex32 reserved1
static void enumeration(IO &io, MachO::LoadCommandType &value)
std::vector< StringRef > StringTable
llvm::yaml::Hex32 reserved2
@ BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM
std::vector< MachOYAML::ExportEntry > Children
uint8_t[16] uuid_t
Output a formatted UUID with dash separators.
static void enumeration(IO &io, MachO::RebaseOpcode &value)
@ BIND_OPCODE_SET_DYLIB_SPECIAL_IMM