LLVM  15.0.0git
XCOFFYAML.h
Go to the documentation of this file.
1 //===----- XCOFFYAML.h - XCOFF YAMLIO implementation ------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file declares classes for handling the YAML representation of XCOFF.
10 //
11 //===----------------------------------------------------------------------===//
12 #ifndef LLVM_OBJECTYAML_XCOFFYAML_H
13 #define LLVM_OBJECTYAML_XCOFFYAML_H
14 
16 #include "llvm/ObjectYAML/YAML.h"
17 #include <vector>
18 
19 namespace llvm {
20 namespace XCOFFYAML {
21 
22 struct FileHeader {
23  llvm::yaml::Hex16 Magic;
25  int32_t TimeStamp;
26  llvm::yaml::Hex64 SymbolTableOffset;
29  llvm::yaml::Hex16 Flags;
30 };
31 
62 };
63 
64 struct Relocation {
65  llvm::yaml::Hex64 VirtualAddress;
66  llvm::yaml::Hex64 SymbolIndex;
67  llvm::yaml::Hex8 Info;
68  llvm::yaml::Hex8 Type;
69 };
70 
71 struct Section {
73  llvm::yaml::Hex64 Address;
74  llvm::yaml::Hex64 Size;
75  llvm::yaml::Hex64 FileOffsetToData;
76  llvm::yaml::Hex64 FileOffsetToRelocations;
77  llvm::yaml::Hex64 FileOffsetToLineNumbers; // Line number pointer. Not supported yet.
78  llvm::yaml::Hex16 NumberOfRelocations;
79  llvm::yaml::Hex16 NumberOfLineNumbers; // Line number counts. Not supported yet.
82  std::vector<Relocation> Relocations;
83 };
84 
85 enum AuxSymbolType : uint8_t {
86  AUX_EXCEPT = 255,
87  AUX_FCN = 254,
88  AUX_SYM = 253,
89  AUX_FILE = 252,
90  AUX_CSECT = 251,
91  AUX_SECT = 250,
92  AUX_STAT = 249
93 };
94 
95 struct AuxSymbolEnt {
97 
98  explicit AuxSymbolEnt(AuxSymbolType T) : Type(T) {}
99  virtual ~AuxSymbolEnt();
100 };
101 
105 
107  static bool classof(const AuxSymbolEnt *S) {
108  return S->Type == AuxSymbolType::AUX_FILE;
109  }
110 };
111 
113  // Only for XCOFF32.
117  // Only for XCOFF64.
120  // Common fields for both XCOFF32 and XCOFF64.
125 
127  static bool classof(const AuxSymbolEnt *S) {
128  return S->Type == AuxSymbolType::AUX_CSECT;
129  }
130 };
131 
137 
139  static bool classof(const AuxSymbolEnt *S) {
140  return S->Type == AuxSymbolType::AUX_FCN;
141  }
142 };
143 
148 
150  static bool classof(const AuxSymbolEnt *S) {
151  return S->Type == AuxSymbolType::AUX_EXCEPT;
152  }
153 }; // Only for XCOFF64.
154 
156  // Only for XCOFF32.
159  // Only for XCOFF64.
161 
163  static bool classof(const AuxSymbolEnt *S) {
164  return S->Type == AuxSymbolType::AUX_SYM;
165  }
166 };
167 
171 
173  static bool classof(const AuxSymbolEnt *S) {
174  return S->Type == AuxSymbolType::AUX_SECT;
175  }
176 };
177 
182 
184  static bool classof(const AuxSymbolEnt *S) {
185  return S->Type == AuxSymbolType::AUX_STAT;
186  }
187 }; // Only for XCOFF32.
188 
189 struct Symbol {
191  llvm::yaml::Hex64 Value; // Symbol value; storage class-dependent.
194  llvm::yaml::Hex16 Type;
197  std::vector<std::unique_ptr<AuxSymbolEnt>> AuxEntries;
198 };
199 
200 struct StringTable {
201  Optional<uint32_t> ContentSize; // The total size of the string table.
202  Optional<uint32_t> Length; // The value of the length field for the first
203  // 4 bytes of the table.
206 };
207 
208 struct Object {
211  std::vector<Section> Sections;
212  std::vector<Symbol> Symbols;
214  Object();
215 };
216 } // namespace XCOFFYAML
217 } // namespace llvm
218 
220 LLVM_YAML_IS_SEQUENCE_VECTOR(XCOFFYAML::Relocation)
222 LLVM_YAML_IS_SEQUENCE_VECTOR(std::unique_ptr<llvm::XCOFFYAML::AuxSymbolEnt>)
223 
224 namespace llvm {
225 namespace yaml {
226 
227 template <> struct ScalarBitSetTraits<XCOFF::SectionTypeFlags> {
228  static void bitset(IO &IO, XCOFF::SectionTypeFlags &Value);
229 };
230 
231 template <> struct ScalarEnumerationTraits<XCOFF::StorageClass> {
232  static void enumeration(IO &IO, XCOFF::StorageClass &Value);
233 };
234 
235 template <> struct ScalarEnumerationTraits<XCOFF::StorageMappingClass> {
236  static void enumeration(IO &IO, XCOFF::StorageMappingClass &Value);
237 };
238 
239 template <> struct ScalarEnumerationTraits<XCOFF::CFileStringType> {
240  static void enumeration(IO &IO, XCOFF::CFileStringType &Type);
241 };
242 
243 template <> struct ScalarEnumerationTraits<XCOFFYAML::AuxSymbolType> {
244  static void enumeration(IO &IO, XCOFFYAML::AuxSymbolType &Type);
245 };
246 
247 template <> struct MappingTraits<XCOFFYAML::FileHeader> {
248  static void mapping(IO &IO, XCOFFYAML::FileHeader &H);
249 };
250 
251 template <> struct MappingTraits<XCOFFYAML::AuxiliaryHeader> {
252  static void mapping(IO &IO, XCOFFYAML::AuxiliaryHeader &AuxHdr);
253 };
254 
255 template <> struct MappingTraits<std::unique_ptr<XCOFFYAML::AuxSymbolEnt>> {
256  static void mapping(IO &IO, std::unique_ptr<XCOFFYAML::AuxSymbolEnt> &AuxSym);
257 };
258 
259 template <> struct MappingTraits<XCOFFYAML::Symbol> {
260  static void mapping(IO &IO, XCOFFYAML::Symbol &S);
261 };
262 
263 template <> struct MappingTraits<XCOFFYAML::Relocation> {
264  static void mapping(IO &IO, XCOFFYAML::Relocation &R);
265 };
266 
267 template <> struct MappingTraits<XCOFFYAML::Section> {
268  static void mapping(IO &IO, XCOFFYAML::Section &Sec);
269 };
270 
271 template <> struct MappingTraits<XCOFFYAML::StringTable> {
272  static void mapping(IO &IO, XCOFFYAML::StringTable &Str);
273 };
274 
275 template <> struct MappingTraits<XCOFFYAML::Object> {
276  static void mapping(IO &IO, XCOFFYAML::Object &Obj);
277 };
278 
279 } // namespace yaml
280 } // namespace llvm
281 
282 #endif // LLVM_OBJECTYAML_XCOFFYAML_H
llvm::XCOFFYAML::FileAuxEnt::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:107
llvm::XCOFFYAML::Symbol::SectionIndex
Optional< uint16_t > SectionIndex
Definition: XCOFFYAML.h:193
llvm::XCOFFYAML::AUX_STAT
@ AUX_STAT
Definition: XCOFFYAML.h:92
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::XCOFFYAML::FileHeader
Definition: XCOFFYAML.h:22
llvm::XCOFFYAML::Section::FileOffsetToRelocations
llvm::yaml::Hex64 FileOffsetToRelocations
Definition: XCOFFYAML.h:76
llvm::XCOFFYAML::AuxiliaryHeader::FlagAndTDataAlignment
Optional< llvm::yaml::Hex8 > FlagAndTDataAlignment
Definition: XCOFFYAML.h:52
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfText
Optional< uint16_t > SecNumOfText
Definition: XCOFFYAML.h:39
llvm::XCOFFYAML::AuxSymbolEnt::~AuxSymbolEnt
virtual ~AuxSymbolEnt()
llvm::XCOFFYAML::AuxiliaryHeader
Definition: XCOFFYAML.h:32
llvm::XCOFFYAML::AuxiliaryHeader::TextSize
Optional< llvm::yaml::Hex64 > TextSize
Definition: XCOFFYAML.h:53
llvm::XCOFFYAML::Object::Sections
std::vector< Section > Sections
Definition: XCOFFYAML.h:211
llvm::XCOFFYAML::SectAuxEntForStat::SectionLength
Optional< uint32_t > SectionLength
Definition: XCOFFYAML.h:179
llvm::XCOFFYAML::SectAuxEntForStat::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:184
llvm::XCOFFYAML::BlockAuxEnt::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:163
LLVM_YAML_IS_SEQUENCE_VECTOR
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfEntryPoint
Optional< uint16_t > SecNumOfEntryPoint
Definition: XCOFFYAML.h:38
llvm::XCOFFYAML::FileHeader::Magic
llvm::yaml::Hex16 Magic
Definition: XCOFFYAML.h:23
llvm::XCOFFYAML::AUX_FILE
@ AUX_FILE
Definition: XCOFFYAML.h:89
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
llvm::XCOFFYAML::Section::FileOffsetToData
llvm::yaml::Hex64 FileOffsetToData
Definition: XCOFFYAML.h:75
llvm::XCOFFYAML::ExcpetionAuxEnt
Definition: XCOFFYAML.h:144
llvm::XCOFFYAML::StringTable::Length
Optional< uint32_t > Length
Definition: XCOFFYAML.h:202
llvm::XCOFFYAML::AuxiliaryHeader::CpuFlag
Optional< llvm::yaml::Hex8 > CpuFlag
Definition: XCOFFYAML.h:47
llvm::XCOFFYAML::AuxiliaryHeader::MaxAlignOfData
Optional< llvm::yaml::Hex16 > MaxAlignOfData
Definition: XCOFFYAML.h:45
llvm::Optional< llvm::yaml::Hex16 >
llvm::XCOFFYAML::SectAuxEntForDWARF::NumberOfRelocEnt
Optional< uint32_t > NumberOfRelocEnt
Definition: XCOFFYAML.h:170
llvm::XCOFFYAML::AuxiliaryHeader::MaxAlignOfText
Optional< llvm::yaml::Hex16 > MaxAlignOfText
Definition: XCOFFYAML.h:44
T
#define T
Definition: Mips16ISelLowering.cpp:341
llvm::XCOFFYAML::Symbol::SectionName
Optional< StringRef > SectionName
Definition: XCOFFYAML.h:192
llvm::XCOFFYAML::AuxSymbolType
AuxSymbolType
Definition: XCOFFYAML.h:85
llvm::XCOFFYAML::CsectAuxEnt::ParameterHashIndex
Optional< uint32_t > ParameterHashIndex
Definition: XCOFFYAML.h:121
llvm::XCOFFYAML::Object::StrTbl
StringTable StrTbl
Definition: XCOFFYAML.h:213
llvm::yaml::MappingTraits
Definition: ModuleSummaryIndex.h:51
llvm::XCOFFYAML::FunctionAuxEnt::SymIdxOfNextBeyond
Optional< int32_t > SymIdxOfNextBeyond
Definition: XCOFFYAML.h:136
llvm::XCOFFYAML::FunctionAuxEnt::SizeOfFunction
Optional< uint32_t > SizeOfFunction
Definition: XCOFFYAML.h:135
llvm::XCOFFYAML::Relocation
Definition: XCOFFYAML.h:64
llvm::XCOFFYAML::StringTable
Definition: XCOFFYAML.h:200
llvm::XCOFFYAML::FileAuxEnt::FileNameOrString
Optional< StringRef > FileNameOrString
Definition: XCOFFYAML.h:103
llvm::XCOFFYAML::FileHeader::TimeStamp
int32_t TimeStamp
Definition: XCOFFYAML.h:25
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfTData
Optional< uint16_t > SecNumOfTData
Definition: XCOFFYAML.h:59
llvm::XCOFFYAML::SectAuxEntForDWARF::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:173
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfTBSS
Optional< uint16_t > SecNumOfTBSS
Definition: XCOFFYAML.h:60
llvm::XCOFFYAML::ExcpetionAuxEnt::OffsetToExceptionTbl
Optional< uint64_t > OffsetToExceptionTbl
Definition: XCOFFYAML.h:145
llvm::XCOFFYAML::BlockAuxEnt::LineNumHi
Optional< uint16_t > LineNumHi
Definition: XCOFFYAML.h:157
llvm::ARMBuildAttrs::Section
@ Section
Legacy Tags.
Definition: ARMBuildAttributes.h:82
XCOFF.h
llvm::XCOFFYAML::FunctionAuxEnt::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:139
llvm::XCOFFYAML::CsectAuxEnt::SectionOrLength
Optional< uint32_t > SectionOrLength
Definition: XCOFFYAML.h:114
llvm::XCOFFYAML::FunctionAuxEnt::PtrToLineNum
Optional< uint64_t > PtrToLineNum
Definition: XCOFFYAML.h:134
llvm::XCOFFYAML::AuxSymbolEnt::Type
AuxSymbolType Type
Definition: XCOFFYAML.h:96
llvm::XCOFFYAML::ExcpetionAuxEnt::SizeOfFunction
Optional< uint32_t > SizeOfFunction
Definition: XCOFFYAML.h:146
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfData
Optional< uint16_t > SecNumOfData
Definition: XCOFFYAML.h:40
llvm::XCOFFYAML::AuxiliaryHeader::DataStartAddr
Optional< llvm::yaml::Hex64 > DataStartAddr
Definition: XCOFFYAML.h:36
llvm::XCOFFYAML::AuxSymbolEnt::AuxSymbolEnt
AuxSymbolEnt(AuxSymbolType T)
Definition: XCOFFYAML.h:98
llvm::XCOFFYAML::ExcpetionAuxEnt::SymIdxOfNextBeyond
Optional< int32_t > SymIdxOfNextBeyond
Definition: XCOFFYAML.h:147
llvm::XCOFFYAML::FileHeader::Flags
llvm::yaml::Hex16 Flags
Definition: XCOFFYAML.h:29
llvm::XCOFFYAML::CsectAuxEnt::StabSectNum
Optional< uint16_t > StabSectNum
Definition: XCOFFYAML.h:116
YAML.h
llvm::XCOFFYAML::CsectAuxEnt
Definition: XCOFFYAML.h:112
llvm::XCOFFYAML::BlockAuxEnt::BlockAuxEnt
BlockAuxEnt()
Definition: XCOFFYAML.h:162
llvm::XCOFFYAML::FileHeader::SymbolTableOffset
llvm::yaml::Hex64 SymbolTableOffset
Definition: XCOFFYAML.h:26
llvm::XCOFFYAML::FunctionAuxEnt::FunctionAuxEnt
FunctionAuxEnt()
Definition: XCOFFYAML.h:138
llvm::XCOFFYAML::FileAuxEnt
Definition: XCOFFYAML.h:102
llvm::XCOFFYAML::Symbol::SymbolName
StringRef SymbolName
Definition: XCOFFYAML.h:190
llvm::XCOFFYAML::StringTable::ContentSize
Optional< uint32_t > ContentSize
Definition: XCOFFYAML.h:201
llvm::XCOFFYAML::Section::Flags
uint32_t Flags
Definition: XCOFFYAML.h:80
llvm::XCOFFYAML::StringTable::Strings
Optional< std::vector< StringRef > > Strings
Definition: XCOFFYAML.h:204
llvm::XCOFFYAML::Relocation::VirtualAddress
llvm::yaml::Hex64 VirtualAddress
Definition: XCOFFYAML.h:65
llvm::XCOFF::StorageMappingClass
StorageMappingClass
Storage Mapping Class definitions.
Definition: XCOFF.h:87
llvm::XCOFFYAML::AuxiliaryHeader::MaxStackSize
Optional< llvm::yaml::Hex64 > MaxStackSize
Definition: XCOFFYAML.h:57
llvm::XCOFFYAML::BlockAuxEnt::LineNum
Optional< uint32_t > LineNum
Definition: XCOFFYAML.h:160
llvm::XCOFFYAML::CsectAuxEnt::CsectAuxEnt
CsectAuxEnt()
Definition: XCOFFYAML.h:126
llvm::XCOFFYAML::AuxiliaryHeader::TOCAnchorAddr
Optional< llvm::yaml::Hex64 > TOCAnchorAddr
Definition: XCOFFYAML.h:37
llvm::XCOFFYAML::SectAuxEntForStat::NumberOfLineNum
Optional< uint16_t > NumberOfLineNum
Definition: XCOFFYAML.h:181
llvm::OutputFileType::Object
@ Object
llvm::XCOFFYAML::FileHeader::NumberOfSymTableEntries
int32_t NumberOfSymTableEntries
Definition: XCOFFYAML.h:27
llvm::XCOFFYAML::AuxiliaryHeader::InitDataSize
Optional< llvm::yaml::Hex64 > InitDataSize
Definition: XCOFFYAML.h:54
llvm::XCOFFYAML::Symbol::NumberOfAuxEntries
Optional< uint8_t > NumberOfAuxEntries
Definition: XCOFFYAML.h:196
llvm::XCOFFYAML::Symbol::Type
llvm::yaml::Hex16 Type
Definition: XCOFFYAML.h:194
llvm::XCOFF::StorageClass
StorageClass
Definition: XCOFF.h:154
llvm::XCOFFYAML::CsectAuxEnt::SectionOrLengthLo
Optional< uint32_t > SectionOrLengthLo
Definition: XCOFFYAML.h:118
llvm::XCOFFYAML::SectAuxEntForDWARF::LengthOfSectionPortion
Optional< uint32_t > LengthOfSectionPortion
Definition: XCOFFYAML.h:169
llvm::XCOFFYAML::FileAuxEnt::FileStringType
Optional< XCOFF::CFileStringType > FileStringType
Definition: XCOFFYAML.h:104
llvm::XCOFFYAML::AuxSymbolEnt
Definition: XCOFFYAML.h:95
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfBSS
Optional< uint16_t > SecNumOfBSS
Definition: XCOFFYAML.h:43
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfTOC
Optional< uint16_t > SecNumOfTOC
Definition: XCOFFYAML.h:41
llvm::XCOFFYAML::FileHeader::NumberOfSections
uint16_t NumberOfSections
Definition: XCOFFYAML.h:24
llvm::XCOFFYAML::Section::NumberOfRelocations
llvm::yaml::Hex16 NumberOfRelocations
Definition: XCOFFYAML.h:78
llvm::XCOFFYAML::Symbol::AuxEntries
std::vector< std::unique_ptr< AuxSymbolEnt > > AuxEntries
Definition: XCOFFYAML.h:197
llvm::XCOFFYAML::AuxiliaryHeader::Magic
Optional< llvm::yaml::Hex16 > Magic
Definition: XCOFFYAML.h:33
llvm::XCOFFYAML::SectAuxEntForDWARF::SectAuxEntForDWARF
SectAuxEntForDWARF()
Definition: XCOFFYAML.h:172
llvm::XCOFFYAML::Object::Symbols
std::vector< Symbol > Symbols
Definition: XCOFFYAML.h:212
llvm::XCOFFYAML::CsectAuxEnt::SectionOrLengthHi
Optional< uint32_t > SectionOrLengthHi
Definition: XCOFFYAML.h:119
llvm::XCOFFYAML::SectAuxEntForStat::NumberOfRelocEnt
Optional< uint16_t > NumberOfRelocEnt
Definition: XCOFFYAML.h:180
llvm::XCOFFYAML::Object
Definition: XCOFFYAML.h:208
llvm::XCOFFYAML::Symbol::Value
llvm::yaml::Hex64 Value
Definition: XCOFFYAML.h:191
llvm::XCOFFYAML::Relocation::Type
llvm::yaml::Hex8 Type
Definition: XCOFFYAML.h:68
llvm::XCOFFYAML::ExcpetionAuxEnt::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:150
llvm::XCOFFYAML::BlockAuxEnt
Definition: XCOFFYAML.h:155
llvm::XCOFFYAML::AuxiliaryHeader::CpuType
Optional< llvm::yaml::Hex8 > CpuType
Definition: XCOFFYAML.h:48
llvm::XCOFFYAML::AuxiliaryHeader::BssDataSize
Optional< llvm::yaml::Hex64 > BssDataSize
Definition: XCOFFYAML.h:55
llvm::XCOFFYAML::Section
Definition: XCOFFYAML.h:71
llvm::XCOFFYAML::FunctionAuxEnt
Definition: XCOFFYAML.h:132
llvm::XCOFFYAML::Relocation::Info
llvm::yaml::Hex8 Info
Definition: XCOFFYAML.h:67
llvm::XCOFFYAML::Object::Object
Object()
Definition: XCOFFYAML.cpp:20
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:58
llvm::yaml::BinaryRef
Specialized YAMLIO scalar type for representing a binary blob.
Definition: YAML.h:63
llvm::XCOFFYAML::BlockAuxEnt::LineNumLo
Optional< uint16_t > LineNumLo
Definition: XCOFFYAML.h:158
llvm::XCOFFYAML::SectAuxEntForStat::SectAuxEntForStat
SectAuxEntForStat()
Definition: XCOFFYAML.h:183
llvm::XCOFFYAML::AuxiliaryHeader::SecNumOfLoader
Optional< uint16_t > SecNumOfLoader
Definition: XCOFFYAML.h:42
uint32_t
llvm::XCOFF::SectionTypeFlags
SectionTypeFlags
Definition: XCOFF.h:118
S
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
Definition: README.txt:210
llvm::XCOFFYAML::AuxiliaryHeader::ModuleType
Optional< llvm::yaml::Hex16 > ModuleType
Definition: XCOFFYAML.h:46
llvm::XCOFFYAML::Object::AuxHeader
Optional< AuxiliaryHeader > AuxHeader
Definition: XCOFFYAML.h:210
llvm::XCOFFYAML::AUX_SECT
@ AUX_SECT
Definition: XCOFFYAML.h:91
llvm::XCOFFYAML::CsectAuxEnt::StabInfoIndex
Optional< uint32_t > StabInfoIndex
Definition: XCOFFYAML.h:115
llvm::XCOFFYAML::CsectAuxEnt::classof
static bool classof(const AuxSymbolEnt *S)
Definition: XCOFFYAML.h:127
llvm::XCOFFYAML::Object::Header
FileHeader Header
Definition: XCOFFYAML.h:209
llvm::XCOFFYAML::AUX_FCN
@ AUX_FCN
Definition: XCOFFYAML.h:87
llvm::XCOFFYAML::AuxiliaryHeader::TextPageSize
Optional< llvm::yaml::Hex8 > TextPageSize
Definition: XCOFFYAML.h:49
llvm::XCOFFYAML::AUX_EXCEPT
@ AUX_EXCEPT
Definition: XCOFFYAML.h:86
std
Definition: BitVector.h:851
llvm::XCOFFYAML::Section::Size
llvm::yaml::Hex64 Size
Definition: XCOFFYAML.h:74
H
#define H(x, y, z)
Definition: MD5.cpp:57
uint16_t
llvm::XCOFFYAML::Section::FileOffsetToLineNumbers
llvm::yaml::Hex64 FileOffsetToLineNumbers
Definition: XCOFFYAML.h:77
llvm::XCOFFYAML::AuxiliaryHeader::StackPageSize
Optional< llvm::yaml::Hex8 > StackPageSize
Definition: XCOFFYAML.h:51
llvm::XCOFFYAML::AuxiliaryHeader::TextStartAddr
Optional< llvm::yaml::Hex64 > TextStartAddr
Definition: XCOFFYAML.h:35
llvm::XCOFFYAML::AuxiliaryHeader::MaxDataSize
Optional< llvm::yaml::Hex64 > MaxDataSize
Definition: XCOFFYAML.h:58
llvm::XCOFFYAML::SectAuxEntForDWARF
Definition: XCOFFYAML.h:168
llvm::ARMBuildAttrs::Symbol
@ Symbol
Definition: ARMBuildAttributes.h:83
llvm::XCOFFYAML::Section::NumberOfLineNumbers
llvm::yaml::Hex16 NumberOfLineNumbers
Definition: XCOFFYAML.h:79
llvm::XCOFFYAML::FileHeader::AuxHeaderSize
uint16_t AuxHeaderSize
Definition: XCOFFYAML.h:28
llvm::XCOFFYAML::CsectAuxEnt::StorageMappingClass
Optional< XCOFF::StorageMappingClass > StorageMappingClass
Definition: XCOFFYAML.h:124
llvm::XCOFFYAML::Section::Address
llvm::yaml::Hex64 Address
Definition: XCOFFYAML.h:73
llvm::XCOFFYAML::AuxiliaryHeader::Flag
Optional< llvm::yaml::Hex16 > Flag
Definition: XCOFFYAML.h:61
llvm::XCOFFYAML::FunctionAuxEnt::OffsetToExceptionTbl
Optional< uint32_t > OffsetToExceptionTbl
Definition: XCOFFYAML.h:133
llvm::XCOFFYAML::Section::SectionData
yaml::BinaryRef SectionData
Definition: XCOFFYAML.h:81
llvm::XCOFFYAML::AuxiliaryHeader::DataPageSize
Optional< llvm::yaml::Hex8 > DataPageSize
Definition: XCOFFYAML.h:50
llvm::XCOFFYAML::Relocation::SymbolIndex
llvm::yaml::Hex64 SymbolIndex
Definition: XCOFFYAML.h:66
llvm::XCOFFYAML::Section::Relocations
std::vector< Relocation > Relocations
Definition: XCOFFYAML.h:82
llvm::XCOFFYAML::AUX_CSECT
@ AUX_CSECT
Definition: XCOFFYAML.h:90
llvm::XCOFF::CFileStringType
CFileStringType
Definition: XCOFF.h:307
llvm::XCOFFYAML::Symbol::StorageClass
XCOFF::StorageClass StorageClass
Definition: XCOFFYAML.h:195
llvm::XCOFFYAML::CsectAuxEnt::SymbolAlignmentAndType
Optional< uint8_t > SymbolAlignmentAndType
Definition: XCOFFYAML.h:123
llvm::XCOFFYAML::AuxiliaryHeader::EntryPointAddr
Optional< llvm::yaml::Hex64 > EntryPointAddr
Definition: XCOFFYAML.h:56
llvm::XCOFFYAML::CsectAuxEnt::TypeChkSectNum
Optional< uint16_t > TypeChkSectNum
Definition: XCOFFYAML.h:122
llvm::XCOFFYAML::StringTable::RawContent
Optional< yaml::BinaryRef > RawContent
Definition: XCOFFYAML.h:205
llvm::XCOFFYAML::SectAuxEntForStat
Definition: XCOFFYAML.h:178
llvm::XCOFFYAML::ExcpetionAuxEnt::ExcpetionAuxEnt
ExcpetionAuxEnt()
Definition: XCOFFYAML.h:149
llvm::Value
LLVM Value Representation.
Definition: Value.h:74
llvm::XCOFFYAML::Symbol
Definition: XCOFFYAML.h:189
llvm::XCOFFYAML::Section::SectionName
StringRef SectionName
Definition: XCOFFYAML.h:72
llvm::XCOFFYAML::AUX_SYM
@ AUX_SYM
Definition: XCOFFYAML.h:88
llvm::XCOFFYAML::AuxiliaryHeader::Version
Optional< llvm::yaml::Hex16 > Version
Definition: XCOFFYAML.h:34
llvm::XCOFFYAML::FileAuxEnt::FileAuxEnt
FileAuxEnt()
Definition: XCOFFYAML.h:106