Lines Matching refs:Obj
37 COFFParser(COFFYAML::Object &Obj, yaml::ErrorHandler EH) in COFFParser()
38 : Obj(Obj), SectionTableStart(0), SectionTableSize(0), ErrHandler(EH) { in COFFParser()
45 return static_cast<int32_t>(Obj.Sections.size()) > in useBigObj()
49 bool isPE() const { return Obj.OptionalHeader.has_value(); } in isPE()
51 return Obj.Header.Machine == COFF::IMAGE_FILE_MACHINE_AMD64 || in is64Bit()
52 Obj.Header.Machine == COFF::IMAGE_FILE_MACHINE_ARM64; in is64Bit()
56 return Obj.OptionalHeader->Header.FileAlignment; in getFileAlignment()
68 for (COFFYAML::Section &Sec : Obj.Sections) { in parseSections()
103 for (COFFYAML::Symbol &Sym : Obj.Symbols) { in parseSymbols()
142 COFFYAML::Object &Obj; member
165 CP.Obj.Header.SizeOfOptionalHeader = in layoutOptionalHeader()
167 CP.Obj.OptionalHeader->Header.NumberOfRvaAndSize; in layoutOptionalHeader()
203 CP.getHeaderSize() + CP.Obj.Header.SizeOfOptionalHeader; in layoutCOFF()
206 CP.SectionTableSize = COFF::SectionSize * CP.Obj.Sections.size(); in layoutCOFF()
211 for (COFFYAML::Section &S : CP.Obj.Sections) { in layoutCOFF()
224 for (COFFYAML::Section &S : CP.Obj.Sections) { in layoutCOFF()
273 for (std::vector<COFFYAML::Symbol>::iterator i = CP.Obj.Symbols.begin(), in layoutCOFF()
274 e = CP.Obj.Symbols.end(); in layoutCOFF()
295 CP.Obj.Header.NumberOfSections = CP.Obj.Sections.size(); in layoutCOFF()
296 CP.Obj.Header.NumberOfSymbols = NumberOfSymbols; in layoutCOFF()
298 CP.Obj.Header.PointerToSymbolTable = SymbolTableStart; in layoutCOFF()
300 CP.Obj.Header.PointerToSymbolTable = 0; in layoutCOFF()
347 Header->SectionAlignment = CP.Obj.OptionalHeader->Header.SectionAlignment; in initializeOptionalHeader()
348 Header->FileAlignment = CP.Obj.OptionalHeader->Header.FileAlignment; in initializeOptionalHeader()
355 for (const COFFYAML::Section &S : CP.Obj.Sections) { in initializeOptionalHeader()
373 CP.Obj.OptionalHeader->Header.AddressOfEntryPoint; // RVA in initializeOptionalHeader()
374 Header->ImageBase = CP.Obj.OptionalHeader->Header.ImageBase; in initializeOptionalHeader()
376 CP.Obj.OptionalHeader->Header.MajorOperatingSystemVersion; in initializeOptionalHeader()
378 CP.Obj.OptionalHeader->Header.MinorOperatingSystemVersion; in initializeOptionalHeader()
379 Header->MajorImageVersion = CP.Obj.OptionalHeader->Header.MajorImageVersion; in initializeOptionalHeader()
380 Header->MinorImageVersion = CP.Obj.OptionalHeader->Header.MinorImageVersion; in initializeOptionalHeader()
382 CP.Obj.OptionalHeader->Header.MajorSubsystemVersion; in initializeOptionalHeader()
384 CP.Obj.OptionalHeader->Header.MinorSubsystemVersion; in initializeOptionalHeader()
387 Header->Subsystem = CP.Obj.OptionalHeader->Header.Subsystem; in initializeOptionalHeader()
388 Header->DLLCharacteristics = CP.Obj.OptionalHeader->Header.DLLCharacteristics; in initializeOptionalHeader()
389 Header->SizeOfStackReserve = CP.Obj.OptionalHeader->Header.SizeOfStackReserve; in initializeOptionalHeader()
390 Header->SizeOfStackCommit = CP.Obj.OptionalHeader->Header.SizeOfStackCommit; in initializeOptionalHeader()
391 Header->SizeOfHeapReserve = CP.Obj.OptionalHeader->Header.SizeOfHeapReserve; in initializeOptionalHeader()
392 Header->SizeOfHeapCommit = CP.Obj.OptionalHeader->Header.SizeOfHeapCommit; in initializeOptionalHeader()
393 Header->NumberOfRvaAndSize = CP.Obj.OptionalHeader->Header.NumberOfRvaAndSize; in initializeOptionalHeader()
426 << binary_le(CP.Obj.Header.Machine) in writeCOFF()
427 << binary_le(CP.Obj.Header.TimeDateStamp); in writeCOFF()
430 << zeros(uint32_t(0)) << binary_le(CP.Obj.Header.NumberOfSections) in writeCOFF()
431 << binary_le(CP.Obj.Header.PointerToSymbolTable) in writeCOFF()
432 << binary_le(CP.Obj.Header.NumberOfSymbols); in writeCOFF()
434 OS << binary_le(CP.Obj.Header.Machine) in writeCOFF()
435 << binary_le(static_cast<int16_t>(CP.Obj.Header.NumberOfSections)) in writeCOFF()
436 << binary_le(CP.Obj.Header.TimeDateStamp) in writeCOFF()
437 << binary_le(CP.Obj.Header.PointerToSymbolTable) in writeCOFF()
438 << binary_le(CP.Obj.Header.NumberOfSymbols) in writeCOFF()
439 << binary_le(CP.Obj.Header.SizeOfOptionalHeader) in writeCOFF()
440 << binary_le(CP.Obj.Header.Characteristics); in writeCOFF()
454 for (uint32_t I = 0; I < CP.Obj.OptionalHeader->Header.NumberOfRvaAndSize; in writeCOFF()
457 CP.Obj.OptionalHeader->DataDirectories; in writeCOFF()
458 uint32_t NumDataDir = sizeof(CP.Obj.OptionalHeader->DataDirectories) / in writeCOFF()
472 for (const COFFYAML::Section &S : CP.Obj.Sections) { in writeCOFF()
488 for (const COFFYAML::Symbol &Sym : CP.Obj.Symbols) { in writeCOFF()
494 for (const COFFYAML::Section &S : CP.Obj.Sections) { in writeCOFF()
523 for (std::vector<COFFYAML::Symbol>::const_iterator i = CP.Obj.Symbols.begin(), in writeCOFF()
524 e = CP.Obj.Symbols.end(); in writeCOFF()
586 if (CP.Obj.Header.PointerToSymbolTable) in writeCOFF()