LLVM: lib/ObjectYAML/COFFEmitter.cpp File Reference (original) (raw)
The COFF component of yaml2obj. More...
Go to the source code of this file.
| Namespaces | |
|---|---|
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
| namespace | llvm::yaml |
| Functions | |
|---|---|
| static bool | layoutOptionalHeader (COFFParser &CP) |
| static yaml::BinaryRef | toDebugS (ArrayRef< CodeViewYAML::YAMLDebugSubsection > Subsections, const codeview::StringsAndChecksums &SC, BumpPtrAllocator &Allocator) |
| static bool | layoutCOFF (COFFParser &CP) |
| template<typename value_type> | |
| raw_ostream & | operator<< (raw_ostream &OS, const binary_le_impl< value_type > &BLE) |
| template<typename value_type> | |
| binary_le_impl< value_type > | binary_le (value_type V) |
| template<size_t NumBytes> | |
| raw_ostream & | operator<< (raw_ostream &OS, const zeros_impl< NumBytes > &) |
| template<typename T> | |
| zeros_impl< sizeof(T)> | zeros (const T &) |
| template<typename T> | |
| static uint32_t | initializeOptionalHeader (COFFParser &CP, uint16_t Magic, T Header) |
| static bool | writeCOFF (COFFParser &CP, raw_ostream &OS) |
| template<typename T> | |
| static void | writeLoadConfig (T &S, raw_ostream &OS) |
| LLVM_ABI bool | llvm::yaml::yaml2coff (COFFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH) |
The COFF component of yaml2obj.
Definition in file COFFEmitter.cpp.
◆ binary_le()
template<typename value_type>
| binary_le_impl< value_type > binary_le | ( | value_type | V | ) |
|---|
◆ initializeOptionalHeader()
template<typename T>
| uint32_t initializeOptionalHeader ( COFFParser & CP, uint16_t Magic, T Header ) | static |
|---|
Definition at line 337 of file COFFEmitter.cpp.
References llvm::alignTo(), llvm::COFF::section::Characteristics, llvm::COFFYAML::Section::Header, llvm::COFF::IMAGE_SCN_CNT_CODE, llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA, llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA, llvm::COFFYAML::Section::Name, llvm::COFF::section::SizeOfRawData, T, llvm::COFF::section::VirtualAddress, and llvm::COFF::section::VirtualSize.
Referenced by writeCOFF().
◆ layoutCOFF()
| bool layoutCOFF ( COFFParser & CP) | static |
|---|
Definition at line 190 of file COFFEmitter.cpp.
References llvm::alignTo(), assert(), llvm::yaml::BinaryRef::binary_size(), llvm::COFF::section::Characteristics, llvm::DataSize, llvm::COFFYAML::Section::DebugH, llvm::COFFYAML::Section::DebugP, llvm::COFFYAML::Section::DebugS, llvm::COFFYAML::Section::DebugT, E(), llvm::COFFYAML::Section::Header, llvm::COFF::IMAGE_SCN_LNK_NRELOC_OVFL, llvm::CodeViewYAML::initializeStringsAndChecksums(), llvm::COFFYAML::Section::Name, llvm::COFF::section::NumberOfRelocations, llvm::COFF::PEMagic, llvm::COFF::section::PointerToRawData, llvm::COFF::section::PointerToRelocations, llvm::COFFYAML::Section::Relocations, llvm::COFF::RelocationSize, llvm::COFFYAML::Section::SectionData, llvm::COFF::SectionSize, llvm::COFF::section::SizeOfRawData, llvm::COFFYAML::Section::StructuredData, llvm::CodeViewYAML::toDebugH(), toDebugS(), and llvm::CodeViewYAML::toDebugT().
Referenced by llvm::yaml::yaml2coff().
◆ layoutOptionalHeader()
| bool layoutOptionalHeader ( COFFParser & CP) | static |
|---|
◆ operator<<() [1/2]
template<typename value_type>
◆ operator<<() [2/2]
template<size_t NumBytes>
◆ toDebugS()
◆ writeCOFF()
Definition at line 391 of file COFFEmitter.cpp.
References llvm::object::dos_header::AddressOfNewExeHeader, llvm::object::dos_header::AddressOfRelocationTable, assert(), llvm::object::pe32_header::BaseOfData, llvm::COFF::BigObjMagic, binary_le(), llvm::yaml::BinaryRef::binary_size(), llvm::COFF::section::Characteristics, E(), llvm::WithColor::error(), llvm::COFFYAML::Section::Header, llvm::COFFYAML::Symbol::Header, I, llvm::COFF::IMAGE_FILE_MACHINE_UNKNOWN, llvm::COFF::IMAGE_SCN_LNK_NRELOC_OVFL, initializeOptionalHeader(), llvm::object::dos_header::Magic, llvm::COFF::BigObjHeader::MinBigObjectVersion, llvm::COFF::section::Name, llvm::COFFYAML::Symbol::Name, llvm::COFF::NameSize, llvm::COFF::symbol::NumberOfAuxSymbols, llvm::COFF::section::NumberOfLineNumbers, llvm::COFF::section::NumberOfRelocations, llvm::COFF::PE32Header::PE32, llvm::COFF::PE32Header::PE32_PLUS, llvm::COFF::PEMagic, llvm::COFF::section::PointerToLineNumbers, llvm::COFF::section::PointerToRawData, llvm::COFF::section::PointerToRelocations, llvm::COFFYAML::Section::Relocations, llvm::COFFYAML::Section::SectionData, Size, llvm::COFF::section::SizeOfRawData, llvm::COFFYAML::Section::StructuredData, llvm::COFF::Symbol16Size, llvm::raw_ostream::tell(), llvm::COFF::section::VirtualAddress, llvm::COFF::section::VirtualSize, llvm::raw_ostream::write(), llvm::raw_ostream::write_zeros(), llvm::yaml::BinaryRef::writeAsBinary(), and zeros().
Referenced by llvm::yaml::yaml2coff().