LLVM: llvm::objcopy::coff Namespace Reference (original) (raw)
| Classes | |
|---|---|
| struct | AuxSymbol |
| class | COFFObjectFile |
| class | COFFReader |
| class | COFFWriter |
| struct | Object |
| struct | Relocation |
| struct | Section |
| struct | Symbol |
| Functions | |
|---|---|
| LLVM_ABI Error | executeObjcopyOnBinary (const CommonConfig &Config, const COFFConfig &, object::COFFObjectFile &In, raw_ostream &Out) |
| Apply the transformations described by Config and COFFConfig to In and writes the result into Out. | |
| static bool | isDebugSection (const Section &Sec) |
| static uint64_t | getNextRVA (const Object &Obj) |
| static Expected< std::vector< uint8_t > > | createGnuDebugLinkSectionContents (StringRef File) |
| static void | addSection (Object &Obj, StringRef Name, ArrayRef< uint8_t > Contents, uint32_t Characteristics) |
| static Error | addGnuDebugLink (Object &Obj, StringRef DebugLinkFile) |
| static uint32_t | flagsToCharacteristics (SectionFlag AllFlags, uint32_t OldChar) |
| static Error | dumpSection (Object &O, StringRef SectionName, StringRef FileName) |
| static Error | handleArgs (const CommonConfig &Config, const COFFConfig &COFFConfig, Object &Obj) |
| template<class Symbol1Ty, class Symbol2Ty> | |
| void | copySymbol (Symbol1Ty &Dest, const Symbol2Ty &Src) |
| template<class PeHeader1Ty, class PeHeader2Ty> | |
| void | copyPeHeader (PeHeader1Ty &Dest, const PeHeader2Ty &Src) |
◆ addGnuDebugLink()
◆ addSection()
◆ copyPeHeader()
template<class PeHeader1Ty, class PeHeader2Ty>
| void llvm::objcopy::coff::copyPeHeader | ( | PeHeader1Ty & | Dest, |
|---|---|---|---|
| const PeHeader2Ty & | Src ) |
◆ copySymbol()
template<class Symbol1Ty, class Symbol2Ty>
| void llvm::objcopy::coff::copySymbol | ( | Symbol1Ty & | Dest, |
|---|---|---|---|
| const Symbol2Ty & | Src ) |
◆ createGnuDebugLinkSectionContents()
Definition at line 44 of file COFFObjcopy.cpp.
References llvm::alignTo(), llvm::arrayRefFromStringRef(), llvm::crc32(), llvm::createFileError(), llvm::Data, llvm::StringRef::data(), llvm::objcopy::File, llvm::sys::path::filename(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFile(), llvm::StringRef::size(), and llvm::support::endian::write32le().
Referenced by addGnuDebugLink().
◆ dumpSection()
◆ executeObjcopyOnBinary()
◆ flagsToCharacteristics()
Definition at line 98 of file COFFObjcopy.cpp.
References llvm::COFF::IMAGE_SCN_ALIGN_1024BYTES, llvm::COFF::IMAGE_SCN_ALIGN_128BYTES, llvm::COFF::IMAGE_SCN_ALIGN_16BYTES, llvm::COFF::IMAGE_SCN_ALIGN_1BYTES, llvm::COFF::IMAGE_SCN_ALIGN_2048BYTES, llvm::COFF::IMAGE_SCN_ALIGN_256BYTES, llvm::COFF::IMAGE_SCN_ALIGN_2BYTES, llvm::COFF::IMAGE_SCN_ALIGN_32BYTES, llvm::COFF::IMAGE_SCN_ALIGN_4096BYTES, llvm::COFF::IMAGE_SCN_ALIGN_4BYTES, llvm::COFF::IMAGE_SCN_ALIGN_512BYTES, llvm::COFF::IMAGE_SCN_ALIGN_64BYTES, llvm::COFF::IMAGE_SCN_ALIGN_8192BYTES, llvm::COFF::IMAGE_SCN_ALIGN_8BYTES, llvm::COFF::IMAGE_SCN_CNT_CODE, llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA, llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA, llvm::COFF::IMAGE_SCN_LNK_REMOVE, llvm::COFF::IMAGE_SCN_MEM_DISCARDABLE, llvm::COFF::IMAGE_SCN_MEM_EXECUTE, llvm::COFF::IMAGE_SCN_MEM_READ, llvm::COFF::IMAGE_SCN_MEM_SHARED, llvm::COFF::IMAGE_SCN_MEM_WRITE, llvm::objcopy::SecAlloc, llvm::objcopy::SecCode, llvm::objcopy::SecData, llvm::objcopy::SecDebug, llvm::objcopy::SecExclude, llvm::objcopy::SecLoad, llvm::objcopy::SecNoload, llvm::objcopy::SecReadonly, and llvm::objcopy::SecShare.
Referenced by handleArgs().
◆ getNextRVA()
◆ handleArgs()
Definition at line 157 of file COFFObjcopy.cpp.
References llvm::objcopy::CommonConfig::AddGnuDebugLink, addGnuDebugLink(), llvm::objcopy::CommonConfig::AddSection, addSection(), llvm::objcopy::All, llvm::object::coff_section::Characteristics, llvm::createStringError(), llvm::COFF::DEBUG_DIRECTORY, llvm::objcopy::CommonConfig::DiscardMode, llvm::objcopy::CommonConfig::DumpSection, dumpSection(), E(), llvm::objcopy::NameMatcher::empty(), llvm::StringRef::empty(), llvm::objcopy::File, llvm::find_if(), flagsToCharacteristics(), llvm::objcopy::coff::Section::Header, I, llvm::COFF::IMAGE_SCN_ALIGN_1BYTES, llvm::COFF::IMAGE_SCN_CNT_CODE, llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA, llvm::COFF::IMAGE_SCN_MEM_DISCARDABLE, llvm::COFF::IMAGE_SYM_CLASS_STATIC, llvm::invalid_argument, isDebugSection(), llvm::objcopy::COFFConfig::MajorSubsystemVersion, llvm::objcopy::NameMatcher::matches(), llvm::objcopy::COFFConfig::MinorSubsystemVersion, llvm::objcopy::coff::Section::Name, llvm::objcopy::CommonConfig::OnlyKeepDebug, llvm::objcopy::CommonConfig::OnlySection, llvm::objcopy::CommonConfig::OutputFilename, llvm::object::data_directory::RelativeVirtualAddress, llvm::objcopy::coff::Section::Relocs, llvm::objcopy::NewSectionInfo::SectionData, llvm::objcopy::NewSectionInfo::SectionName, llvm::objcopy::CommonConfig::SetSectionFlags, llvm::object::data_directory::Size, llvm::object::coff_section::SizeOfRawData, llvm::StringRef::str(), llvm::objcopy::CommonConfig::StripAll, llvm::objcopy::CommonConfig::StripAllGNU, llvm::objcopy::CommonConfig::StripDebug, llvm::objcopy::CommonConfig::StripUnneeded, llvm::objcopy::COFFConfig::Subsystem, llvm::Error::success(), llvm::objcopy::CommonConfig::SymbolsToRemove, llvm::objcopy::CommonConfig::SymbolsToRename, llvm::objcopy::CommonConfig::ToRemove, ToRemove, llvm::objcopy::CommonConfig::UnneededSymbolsToRemove, llvm::objcopy::CommonConfig::UpdateSection, and llvm::object::coff_section::VirtualAddress.
Referenced by executeObjcopyOnBinary().