LLVM 22.0.0git
|
Public Types | |
enum | DwoMode { AllSections , NonDwoOnly , DwoOnly } |
Public Member Functions | |
WinCOFFWriter (WinCOFFObjectWriter &OWriter, raw_pwrite_stream &OS, DwoMode Mode) | |
void | reset () |
void | setAssembler (MCAssembler *A) |
void | executePostLayoutBinding () |
void | recordRelocation (const MCFragment &F, const MCFixup &Fixup, MCValue Target, uint64_t &FixedValue) |
uint64_t | writeObject () |
int | getSectionNumber (const MCSection &Section) const |
Public Attributes | |
enum llvm::WinCOFFWriter::DwoMode | Mode |
Definition at line 122 of file WinCOFFObjectWriter.cpp.
Enumerator | |
---|---|
AllSections | |
NonDwoOnly | |
DwoOnly |
Definition at line 151 of file WinCOFFObjectWriter.cpp.
WinCOFFWriter::WinCOFFWriter | ( | WinCOFFObjectWriter & | OWriter, |
raw_pwrite_stream & | OS, | ||
DwoMode | Mode ) |
Definition at line 231 of file WinCOFFObjectWriter.cpp.
References llvm::COFF::isAnyArm64(), llvm::little, and Mode.
void WinCOFFWriter::executePostLayoutBinding | ( | ) |
Definition at line 812 of file WinCOFFObjectWriter.cpp.
References DwoOnly, llvm::COFF::IMAGE_SYM_CLASS_STATIC, isDwoSection(), llvm::COFF::MaxNumberOfSections16, Mode, NonDwoOnly, and llvm::report_fatal_error().
Definition at line 1161 of file WinCOFFObjectWriter.cpp.
void WinCOFFWriter::recordRelocation | ( | const MCFragment & | F, |
const MCFixup & | Fixup, | ||
MCValue | Target, | ||
uint64_t & | FixedValue ) |
Definition at line 841 of file WinCOFFObjectWriter.cpp.
References A(), assert(), B(), F, Fixup, llvm::FK_SecRel_2, llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::COFF::IMAGE_FILE_MACHINE_R4000, llvm::COFF::IMAGE_REL_AMD64_REL32, llvm::COFF::IMAGE_REL_ARM64_REL32, llvm::COFF::IMAGE_REL_ARM_ABSOLUTE, llvm::COFF::IMAGE_REL_ARM_ADDR32, llvm::COFF::IMAGE_REL_ARM_ADDR32NB, llvm::COFF::IMAGE_REL_ARM_BLX11, llvm::COFF::IMAGE_REL_ARM_BLX23T, llvm::COFF::IMAGE_REL_ARM_BLX24, llvm::COFF::IMAGE_REL_ARM_BRANCH11, llvm::COFF::IMAGE_REL_ARM_BRANCH20T, llvm::COFF::IMAGE_REL_ARM_BRANCH24, llvm::COFF::IMAGE_REL_ARM_BRANCH24T, llvm::COFF::IMAGE_REL_ARM_MOV32A, llvm::COFF::IMAGE_REL_ARM_MOV32T, llvm::COFF::IMAGE_REL_ARM_REL32, llvm::COFF::IMAGE_REL_ARM_SECREL, llvm::COFF::IMAGE_REL_ARM_SECTION, llvm::COFF::IMAGE_REL_ARM_TOKEN, llvm::COFF::IMAGE_REL_I386_REL32, llvm::COFF::IMAGE_REL_MIPS_PAIR, llvm::COFF::IMAGE_REL_MIPS_REFHI, llvm::COFF::IMAGE_REL_MIPS_SECRELHI, llvm::COFF::isAnyArm64(), and llvm_unreachable.
void WinCOFFWriter::reset | ( | ) |
Definition at line 801 of file WinCOFFObjectWriter.cpp.
|
inline |
Definition at line 161 of file WinCOFFObjectWriter.cpp.
References A().
uint64_t WinCOFFWriter::writeObject | ( | ) |
Definition at line 1001 of file WinCOFFObjectWriter.cpp.
References assert(), DwoOnly, llvm::encodeULEB128(), llvm::MCSectionCOFF::getCOMDATSymbol(), llvm::MCSymbol::getIndex(), llvm::MCSection::getName(), llvm::MCSymbol::getName(), llvm::MCSymbol::getSection(), getTime(), I, llvm::COFF::IMAGE_COMDAT_SELECT_ASSOCIATIVE, llvm::COFF::IMAGE_SCN_LNK_REMOVE, isDwoSection(), llvm::MCSymbol::isInSection(), llvm::MCSymbol::isRegistered(), llvm::MCSymbol::isTemporary(), Mode, llvm::COFF::section::Name, llvm::COFF::NameSize, NonDwoOnly, llvm::raw_svector_ostream::str(), and llvm::support::endian::write().
enum llvm::WinCOFFWriter::DwoMode llvm::WinCOFFWriter::Mode |
Referenced by executePostLayoutBinding(), WinCOFFWriter(), and writeObject().