Lines Matching refs:Obj

35   XCOFFWriter(XCOFFYAML::Object &Obj, raw_ostream &OS, yaml::ErrorHandler EH)  in XCOFFWriter()  argument
36 : Obj(Obj), W(OS, support::big), ErrHandler(EH), in XCOFFWriter()
38 Is64Bit = Obj.Header.Magic == (llvm::yaml::Hex16)XCOFF::XCOFF64; in XCOFFWriter()
68 XCOFFYAML::Object &Obj; member in __anon7d28c6690111::XCOFFWriter
79 XCOFFYAML::FileHeader InitFileHdr = Obj.Header;
81 std::vector<XCOFFYAML::Section> InitSections = Obj.Sections;
160 if (Obj.StrTbl.RawContent) { in initStringTable()
161 size_t RawSize = Obj.StrTbl.RawContent->binary_size(); in initStringTable()
162 if (Obj.StrTbl.Strings || Obj.StrTbl.Length) { in initStringTable()
167 if (Obj.StrTbl.ContentSize && *Obj.StrTbl.ContentSize < RawSize) { in initStringTable()
168 ErrHandler("specified ContentSize (" + Twine(*Obj.StrTbl.ContentSize) + in initStringTable()
175 if (Obj.StrTbl.ContentSize && *Obj.StrTbl.ContentSize <= 3) { in initStringTable()
183 if (Obj.StrTbl.Strings) { in initStringTable()
185 for (StringRef StringEnt : *Obj.StrTbl.Strings) in initStringTable()
189 size_t NumOfStrings = Obj.StrTbl.Strings->size(); in initStringTable()
190 for (XCOFFYAML::Symbol &YamlSym : Obj.Symbols) { in initStringTable()
194 YamlSym.SymbolName = (*Obj.StrTbl.Strings)[StrTblIdx]; in initStringTable()
203 for (const XCOFFYAML::Symbol &YamlSym : Obj.Symbols) { in initStringTable()
211 for (const XCOFFYAML::Symbol &YamlSym : Obj.Symbols) { in initStringTable()
223 if (Obj.StrTbl.ContentSize && *Obj.StrTbl.ContentSize < StrTblSize) { in initStringTable()
224 ErrHandler("specified ContentSize (" + Twine(*Obj.StrTbl.ContentSize) + in initStringTable()
237 InitFileHdr.NumberOfSections = Obj.Sections.size(); in initFileHeader()
238 InitFileHdr.NumberOfSymTableEntries = Obj.Symbols.size(); in initFileHeader()
240 for (XCOFFYAML::Symbol &YamlSym : Obj.Symbols) { in initFileHeader()
271 InitAuxFileHdr = *Obj.AuxHeader; in initAuxFileHeader()
326 if (Obj.AuxHeader) in assignAddressesAndIndices()
327 AuxFileHdrSize = Obj.Header.AuxHeaderSize in assignAddressesAndIndices()
328 ? Obj.Header.AuxHeaderSize in assignAddressesAndIndices()
346 if (Obj.AuxHeader) in assignAddressesAndIndices()
354 W.write<uint16_t>(Obj.Header.Magic ? Obj.Header.Magic : InitFileHdr.Magic); in writeFileHeader()
355 W.write<uint16_t>(Obj.Header.NumberOfSections ? Obj.Header.NumberOfSections in writeFileHeader()
357 W.write<int32_t>(Obj.Header.TimeStamp); in writeFileHeader()
359 W.write<uint64_t>(Obj.Header.SymbolTableOffset in writeFileHeader()
360 ? Obj.Header.SymbolTableOffset in writeFileHeader()
363 W.write<uint16_t>(Obj.Header.Flags); in writeFileHeader()
364 W.write<int32_t>(Obj.Header.NumberOfSymTableEntries in writeFileHeader()
365 ? Obj.Header.NumberOfSymTableEntries in writeFileHeader()
368 W.write<uint32_t>(Obj.Header.SymbolTableOffset in writeFileHeader()
369 ? Obj.Header.SymbolTableOffset in writeFileHeader()
371 W.write<int32_t>(Obj.Header.NumberOfSymTableEntries in writeFileHeader()
372 ? Obj.Header.NumberOfSymTableEntries in writeFileHeader()
375 W.write<uint16_t>(Obj.Header.Flags); in writeFileHeader()
442 for (uint16_t I = 0, E = Obj.Sections.size(); I < E; ++I) { in writeSectionHeader()
443 XCOFFYAML::Section YamlSec = Obj.Sections[I]; in writeSectionHeader()
485 for (uint16_t I = 0, E = Obj.Sections.size(); I < E; ++I) { in writeSectionData()
486 XCOFFYAML::Section YamlSec = Obj.Sections[I]; in writeSectionData()
503 for (uint16_t I = 0, E = Obj.Sections.size(); I < E; ++I) { in writeRelocations()
504 XCOFFYAML::Section YamlSec = Obj.Sections[I]; in writeRelocations()
654 for (const XCOFFYAML::Symbol &YamlSym : Obj.Symbols) { in writeSymbols()
713 if (Obj.StrTbl.RawContent) { in writeStringTable()
714 Obj.StrTbl.RawContent->writeAsBinary(W.OS); in writeStringTable()
715 if (Obj.StrTbl.ContentSize) { in writeStringTable()
716 assert(*Obj.StrTbl.ContentSize >= Obj.StrTbl.RawContent->binary_size() && in writeStringTable()
718 W.OS.write_zeros(*Obj.StrTbl.ContentSize - in writeStringTable()
719 Obj.StrTbl.RawContent->binary_size()); in writeStringTable()
727 if (!Obj.StrTbl.Length && !Obj.StrTbl.ContentSize) { in writeStringTable()
742 support::endian::write32be(Ptr, Obj.StrTbl.Length ? *Obj.StrTbl.Length in writeStringTable()
743 : *Obj.StrTbl.ContentSize); in writeStringTable()
747 if (Obj.StrTbl.ContentSize) { in writeStringTable()
748 assert(*Obj.StrTbl.ContentSize >= StrTblBuilderSize && in writeStringTable()
750 W.OS.write_zeros(*Obj.StrTbl.ContentSize - StrTblBuilderSize); in writeStringTable()
759 if (Obj.AuxHeader) in writeXCOFF()
761 if (!Obj.Sections.empty()) { in writeXCOFF()
768 if (!Obj.Symbols.empty() && !writeSymbols()) in writeXCOFF()