Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/ObjectYAML/ELFYAML.h
Show First 20 Lines • Show All 120 Lines • ▼ Show 20 Lines | struct SectionOrType { | ||||
StringRef sectionNameOrType; | StringRef sectionNameOrType; | ||||
}; | }; | ||||
struct DynamicEntry { | struct DynamicEntry { | ||||
ELF_DYNTAG Tag; | ELF_DYNTAG Tag; | ||||
llvm::yaml::Hex64 Val; | llvm::yaml::Hex64 Val; | ||||
}; | }; | ||||
struct BBAddrMapEntry { | |||||
struct BBEntry { | |||||
llvm::yaml::Hex32 AddressOffset; | |||||
llvm::yaml::Hex32 Size; | |||||
llvm::yaml::Hex32 Metadata; | |||||
}; | |||||
llvm::yaml::Hex64 Address; | |||||
Optional<std::vector<BBEntry>> BBEntries; | |||||
}; | |||||
struct StackSizeEntry { | struct StackSizeEntry { | ||||
llvm::yaml::Hex64 Address; | llvm::yaml::Hex64 Address; | ||||
llvm::yaml::Hex64 Size; | llvm::yaml::Hex64 Size; | ||||
}; | }; | ||||
struct NoteEntry { | struct NoteEntry { | ||||
StringRef Name; | StringRef Name; | ||||
yaml::BinaryRef Desc; | yaml::BinaryRef Desc; | ||||
Show All 17 Lines | enum class ChunkKind { | ||||
SymtabShndxSection, | SymtabShndxSection, | ||||
Symver, | Symver, | ||||
ARMIndexTable, | ARMIndexTable, | ||||
MipsABIFlags, | MipsABIFlags, | ||||
Addrsig, | Addrsig, | ||||
Fill, | Fill, | ||||
LinkerOptions, | LinkerOptions, | ||||
DependentLibraries, | DependentLibraries, | ||||
CallGraphProfile | CallGraphProfile, | ||||
BBAddrMap | |||||
}; | }; | ||||
ChunkKind Kind; | ChunkKind Kind; | ||||
StringRef Name; | StringRef Name; | ||||
Optional<llvm::yaml::Hex64> Offset; | Optional<llvm::yaml::Hex64> Offset; | ||||
Chunk(ChunkKind K) : Kind(K) {} | Chunk(ChunkKind K) : Kind(K) {} | ||||
virtual ~Chunk(); | virtual ~Chunk(); | ||||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | struct Fill : Chunk { | ||||
Optional<yaml::BinaryRef> Pattern; | Optional<yaml::BinaryRef> Pattern; | ||||
llvm::yaml::Hex64 Size; | llvm::yaml::Hex64 Size; | ||||
Fill() : Chunk(ChunkKind::Fill) {} | Fill() : Chunk(ChunkKind::Fill) {} | ||||
static bool classof(const Chunk *S) { return S->Kind == ChunkKind::Fill; } | static bool classof(const Chunk *S) { return S->Kind == ChunkKind::Fill; } | ||||
}; | }; | ||||
struct BBAddrMapSection : Section { | |||||
Optional<std::vector<BBAddrMapEntry>> Entries; | |||||
BBAddrMapSection() : Section(ChunkKind::BBAddrMap) {} | |||||
static bool classof(const Chunk *S) { | |||||
return S->Kind == ChunkKind::BBAddrMap; | |||||
} | |||||
}; | |||||
struct StackSizesSection : Section { | struct StackSizesSection : Section { | ||||
Optional<std::vector<StackSizeEntry>> Entries; | Optional<std::vector<StackSizeEntry>> Entries; | ||||
StackSizesSection() : Section(ChunkKind::StackSizes) {} | StackSizesSection() : Section(ChunkKind::StackSizes) {} | ||||
std::vector<std::pair<StringRef, bool>> getEntries() const override { | std::vector<std::pair<StringRef, bool>> getEntries() const override { | ||||
return {{"Entries", Entries.hasValue()}}; | return {{"Entries", Entries.hasValue()}}; | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 384 Lines • ▼ Show 20 Lines | struct Object { | ||||
unsigned getMachine() const; | unsigned getMachine() const; | ||||
}; | }; | ||||
} // end namespace ELFYAML | } // end namespace ELFYAML | ||||
} // end namespace llvm | } // end namespace llvm | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::StackSizeEntry) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::StackSizeEntry) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::BBAddrMapEntry) | |||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::BBAddrMapEntry::BBEntry) | |||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::DynamicEntry) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::DynamicEntry) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::LinkerOption) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::LinkerOption) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::CallGraphEntry) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::CallGraphEntry) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::NoteEntry) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::NoteEntry) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::ProgramHeader) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::ProgramHeader) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::SectionHeader) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::SectionHeader) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(std::unique_ptr<llvm::ELFYAML::Chunk>) | LLVM_YAML_IS_SEQUENCE_VECTOR(std::unique_ptr<llvm::ELFYAML::Chunk>) | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::Symbol) | LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::Symbol) | ||||
▲ Show 20 Lines • Show All 145 Lines • ▼ Show 20 Lines | struct MappingTraits<ELFYAML::Symbol> { | ||||
static void mapping(IO &IO, ELFYAML::Symbol &Symbol); | static void mapping(IO &IO, ELFYAML::Symbol &Symbol); | ||||
static std::string validate(IO &IO, ELFYAML::Symbol &Symbol); | static std::string validate(IO &IO, ELFYAML::Symbol &Symbol); | ||||
}; | }; | ||||
template <> struct MappingTraits<ELFYAML::StackSizeEntry> { | template <> struct MappingTraits<ELFYAML::StackSizeEntry> { | ||||
static void mapping(IO &IO, ELFYAML::StackSizeEntry &Rel); | static void mapping(IO &IO, ELFYAML::StackSizeEntry &Rel); | ||||
}; | }; | ||||
template <> struct MappingTraits<ELFYAML::BBAddrMapEntry> { | |||||
static void mapping(IO &IO, ELFYAML::BBAddrMapEntry &Rel); | |||||
}; | |||||
template <> struct MappingTraits<ELFYAML::BBAddrMapEntry::BBEntry> { | |||||
static void mapping(IO &IO, ELFYAML::BBAddrMapEntry::BBEntry &Rel); | |||||
}; | |||||
template <> struct MappingTraits<ELFYAML::GnuHashHeader> { | template <> struct MappingTraits<ELFYAML::GnuHashHeader> { | ||||
static void mapping(IO &IO, ELFYAML::GnuHashHeader &Rel); | static void mapping(IO &IO, ELFYAML::GnuHashHeader &Rel); | ||||
}; | }; | ||||
template <> struct MappingTraits<ELFYAML::DynamicEntry> { | template <> struct MappingTraits<ELFYAML::DynamicEntry> { | ||||
static void mapping(IO &IO, ELFYAML::DynamicEntry &Rel); | static void mapping(IO &IO, ELFYAML::DynamicEntry &Rel); | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |