|
LLVM 24.0.0git
|
The COFF component of yaml2obj. More...
#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringMap.h"#include "llvm/DebugInfo/CodeView/StringsAndChecksums.h"#include "llvm/ObjectYAML/ContiguousBlobAccumulator.h"#include "llvm/ObjectYAML/ObjectYAML.h"#include "llvm/ObjectYAML/yaml2obj.h"#include "llvm/Support/BinaryStreamWriter.h"#include "llvm/Support/Endian.h"#include "llvm/Support/SourceMgr.h"#include "llvm/Support/WithColor.h"#include "llvm/Support/raw_ostream.h"#include <optional>#include <vector>Go to the source code of this file.
Classes | |
| class | ContiguousBlobAccumulator |
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 T> | |
| static uint32_t | initializeOptionalHeader (COFFParser &CP, uint16_t Magic, T Header) |
| static bool | writeCOFF (COFFParser &CP, ContiguousBlobAccumulator &CBA) |
| template<typename T> | |
| static void | writeLoadConfig (T &S, ContiguousBlobAccumulator &CBA) |
| LLVM_ABI bool | llvm::yaml::yaml2coff (COFFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH, uint64_t MaxSize) |
The COFF component of yaml2obj.
Definition in file COFFEmitter.cpp.
|
static |
Definition at line 307 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::COFFYAML::Object::OptionalHeader, llvm::COFFYAML::Object::Sections, llvm::COFF::section::SizeOfRawData, T, llvm::COFF::section::VirtualAddress, and llvm::COFF::section::VirtualSize.
Referenced by writeCOFF().
|
static |
Definition at line 194 of file COFFEmitter.cpp.
References llvm::alignTo(), assert(), llvm::yaml::BinaryRef::binary_size(), llvm::COFF::section::Characteristics, llvm::COFFYAML::Section::DebugH, llvm::COFFYAML::Section::DebugP, llvm::COFFYAML::Section::DebugS, llvm::COFFYAML::Section::DebugT, E(), llvm::codeview::StringsAndChecksums::hasChecksums(), llvm::codeview::StringsAndChecksums::hasStrings(), llvm::COFFYAML::Object::Header, llvm::COFFYAML::Section::Header, llvm::COFF::IMAGE_SCN_LNK_NRELOC_OVFL, llvm::CodeViewYAML::initializeStringsAndChecksums(), llvm::COFFYAML::Section::Name, llvm::COFF::section::NumberOfRelocations, llvm::COFF::header::NumberOfSections, llvm::COFF::header::NumberOfSymbols, llvm::COFF::PEMagic, llvm::COFF::section::PointerToRawData, llvm::COFF::section::PointerToRelocations, llvm::COFF::header::PointerToSymbolTable, llvm::COFFYAML::Section::Relocations, llvm::COFF::RelocationSize, llvm::COFFYAML::Section::SectionData, llvm::COFFYAML::Object::Sections, llvm::COFF::SectionSize, llvm::COFF::header::SizeOfOptionalHeader, llvm::COFF::section::SizeOfRawData, llvm::COFFYAML::Section::StructuredData, llvm::COFFYAML::Object::Symbols, llvm::CodeViewYAML::toDebugH(), toDebugS(), and llvm::CodeViewYAML::toDebugT().
Referenced by llvm::yaml::yaml2coff().
|
static |
Definition at line 155 of file COFFEmitter.cpp.
References llvm::COFFYAML::Object::Header, llvm::COFFYAML::Object::OptionalHeader, and llvm::COFF::header::SizeOfOptionalHeader.
Referenced by llvm::yaml::yaml2coff().
|
static |
Definition at line 167 of file COFFEmitter.cpp.
References Allocator, B(), llvm::COFF::DEBUG_SECTION_MAGIC, llvm::little, Size, llvm::CodeViewYAML::toCodeViewSubsectionList(), and llvm::BinaryStreamWriter::writeInteger().
Referenced by layoutCOFF().
|
static |
Definition at line 361 of file COFFEmitter.cpp.
References llvm::object::dos_header::AddressOfNewExeHeader, llvm::object::dos_header::AddressOfRelocationTable, assert(), llvm::object::pe32_header::BaseOfData, llvm::COFF::BigObjMagic, llvm::COFF::header::Characteristics, llvm::COFF::section::Characteristics, E(), llvm::WithColor::error(), llvm::yaml::ContiguousBlobAccumulator::getOffset(), llvm::COFFYAML::Object::Header, llvm::COFFYAML::Section::Header, llvm::COFFYAML::Symbol::Header, I, llvm::COFF::IMAGE_FILE_MACHINE_UNKNOWN, llvm::COFF::IMAGE_SCN_LNK_NRELOC_OVFL, initializeOptionalHeader(), llvm::COFF::header::Machine, 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::header::NumberOfSections, llvm::COFF::header::NumberOfSymbols, llvm::COFFYAML::Object::OptionalHeader, 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::COFF::header::PointerToSymbolTable, llvm::COFFYAML::Section::Relocations, llvm::COFFYAML::Section::SectionData, llvm::COFFYAML::Object::Sections, Size, llvm::COFF::header::SizeOfOptionalHeader, llvm::COFF::section::SizeOfRawData, llvm::COFFYAML::Section::StructuredData, llvm::COFF::Symbol16Size, llvm::COFFYAML::Object::Symbols, llvm::COFF::header::TimeDateStamp, llvm::COFF::section::VirtualAddress, llvm::COFF::section::VirtualSize, llvm::yaml::ContiguousBlobAccumulator::write(), llvm::yaml::ContiguousBlobAccumulator::writeAsBinary(), and llvm::yaml::ContiguousBlobAccumulator::writeZeros().
Referenced by llvm::yaml::yaml2coff().
|
static |
Definition at line 577 of file COFFEmitter.cpp.
References T, llvm::yaml::ContiguousBlobAccumulator::write(), and llvm::yaml::ContiguousBlobAccumulator::writeZeros().
Referenced by llvm::COFFYAML::SectionDataEntry::writeAsBinary().