Home | History | Annotate | Download | only in yaml2obj

Lines Matching refs:CP

115 // Take a CP and assign addresses and sizes to everything. Returns false if the
117 static bool layoutCOFF(COFFParser &CP) {
123 SectionTableStart = sizeof(COFF::header) + CP.Obj.Header.SizeOfOptionalHeader;
124 SectionTableSize = sizeof(COFF::section) * CP.Obj.Sections.size();
129 for (std::vector<COFFYAML::Section>::iterator i = CP.Obj.Sections.begin(),
130 e = CP.Obj.Sections.end();
153 for (std::vector<COFFYAML::Symbol>::iterator i = CP.Obj.Symbols.begin(),
154 e = CP.Obj.Symbols.end();
166 CP.Obj.Header.NumberOfSections = CP.Obj.Sections.size();
167 CP.Obj.Header.NumberOfSymbols = NumberOfSymbols;
168 CP.Obj.Header.PointerToSymbolTable = SymbolTableStart;
170 *reinterpret_cast<support::ulittle32_t *>(&CP.StringTable[0])
171 = CP.StringTable.size();
197 bool writeCOFF(COFFParser &CP, raw_ostream &OS) {
198 OS << binary_le(CP.Obj.Header.Machine)
199 << binary_le(CP.Obj.Header.NumberOfSections)
200 << binary_le(CP.Obj.Header.TimeDateStamp)
201 << binary_le(CP.Obj.Header.PointerToSymbolTable)
202 << binary_le(CP.Obj.Header.NumberOfSymbols)
203 << binary_le(CP.Obj.Header.SizeOfOptionalHeader)
204 << binary_le(CP.Obj.Header.Characteristics);
207 for (std::vector<COFFYAML::Section>::iterator i = CP.Obj.Sections.begin(),
208 e = CP.Obj.Sections.end();
224 for (std::vector<COFFYAML::Symbol>::iterator I = CP.Obj.Symbols.begin(),
225 E = CP.Obj.Symbols.end();
232 for (std::vector<COFFYAML::Section>::iterator i = CP.Obj.Sections.begin(),
233 e = CP.Obj.Sections.end();
247 for (std::vector<COFFYAML::Symbol>::const_iterator i = CP.Obj.Symbols.begin(),
248 e = CP.Obj.Symbols.end();
260 OS.write(&CP.StringTable[0], CP.StringTable.size());
273 COFFParser CP(Doc);
274 if (!CP.parse()) {
279 if (!layoutCOFF(CP)) {
283 if (!writeCOFF(CP, Out)) {