LLVM 20.0.0git
|
Classes | |
struct | CsectProperties |
struct | TracebackTable |
Enumerations | |
enum | ReservedSectionNum : int16_t { N_DEBUG = -2 , N_ABS = -1 , N_UNDEF = 0 } |
enum | MagicNumber : uint16_t { XCOFF32 = 0x01DF , XCOFF64 = 0x01F7 } |
enum | AuxHeaderFlags64 : uint16_t { SHR_SYMTAB = 0x8000 , FORK_POLICY = 0x4000 , FORK_COR = 0x2000 } |
enum | XCOFFInterpret : uint16_t { OLD_XCOFF_INTERPRET = 1 , NEW_XCOFF_INTERPRET = 2 } |
enum | FileFlag : uint16_t { F_RELFLG = 0x0001 , F_EXEC = 0x0002 , F_LNNO = 0x0004 , F_LSYMS = 0x0008 , F_FDPR_PROF = 0x0010 , F_FDPR_OPTI = 0x0020 , F_DSA = 0x0040 , F_DEP_1 = 0x0080 , F_VARPG = 0x0100 , F_LPTEXT = 0x0400 , F_LPDATA = 0x0800 , F_DYNLOAD = 0x1000 , F_SHROBJ = 0x2000 , F_LOADONLY , F_DEP_2 = 0x8000 } |
enum | StorageMappingClass : uint8_t { XMC_PR = 0 , XMC_RO = 1 , XMC_DB = 2 , XMC_GL = 6 , XMC_XO = 7 , XMC_SV = 8 , XMC_SV64 = 17 , XMC_SV3264 = 18 , XMC_TI = 12 , XMC_TB = 13 , XMC_RW = 5 , XMC_TC0 = 15 , XMC_TC = 3 , XMC_TD = 16 , XMC_DS = 10 , XMC_UA = 4 , XMC_BS = 9 , XMC_UC = 11 , XMC_TL = 20 , XMC_UL = 21 , XMC_TE = 22 } |
Storage Mapping Class definitions. More... | |
enum | SectionTypeFlags : int32_t { STYP_PAD = 0x0008 , STYP_DWARF = 0x0010 , STYP_TEXT = 0x0020 , STYP_DATA = 0x0040 , STYP_BSS = 0x0080 , STYP_EXCEPT = 0x0100 , STYP_INFO = 0x0200 , STYP_TDATA = 0x0400 , STYP_TBSS = 0x0800 , STYP_LOADER = 0x1000 , STYP_DEBUG = 0x2000 , STYP_TYPCHK = 0x4000 , STYP_OVRFLO = 0x8000 } |
enum | DwarfSectionSubtypeFlags : int32_t { SSUBTYP_DWINFO = 0x1'0000 , SSUBTYP_DWLINE = 0x2'0000 , SSUBTYP_DWPBNMS = 0x3'0000 , SSUBTYP_DWPBTYP = 0x4'0000 , SSUBTYP_DWARNGE = 0x5'0000 , SSUBTYP_DWABREV = 0x6'0000 , SSUBTYP_DWSTR = 0x7'0000 , SSUBTYP_DWRNGES = 0x8'0000 , SSUBTYP_DWLOC = 0x9'0000 , SSUBTYP_DWFRAME = 0xA'0000 , SSUBTYP_DWMAC = 0xB'0000 } |
Values for defining the section subtype of sections of type STYP_DWARF as they would appear in the (signed, 32-bit) s_flags field of the section header structure, contributing to the 16 most significant bits. More... | |
enum | StorageClass : uint8_t { C_FILE = 103 , C_BINCL = 108 , C_EINCL = 109 , C_GSYM = 128 , C_STSYM = 133 , C_BCOMM = 135 , C_ECOMM = 137 , C_ENTRY = 141 , C_BSTAT = 143 , C_ESTAT = 144 , C_GTLS = 145 , C_STTLS = 146 , C_DWARF = 112 , C_LSYM = 129 , C_PSYM = 130 , C_RSYM = 131 , C_RPSYM = 132 , C_ECOML = 136 , C_FUN = 142 , C_EXT = 2 , C_WEAKEXT = 111 , C_NULL = 0 , C_STAT = 3 , C_BLOCK = 100 , C_FCN = 101 , C_HIDEXT = 107 , C_INFO = 110 , C_DECL = 140 , C_AUTO = 1 , C_REG = 4 , C_EXTDEF = 5 , C_LABEL = 6 , C_ULABEL = 7 , C_MOS = 8 , C_ARG = 9 , C_STRTAG = 10 , C_MOU = 11 , C_UNTAG = 12 , C_TPDEF = 13 , C_USTATIC = 14 , C_ENTAG = 15 , C_MOE = 16 , C_REGPARM = 17 , C_FIELD = 18 , C_EOS = 102 , C_LINE = 104 , C_ALIAS = 105 , C_HIDDEN = 106 , C_EFCN = 255 , C_TCSYM = 134 } |
enum | SymbolType : uint8_t { XTY_ER = 0 , XTY_SD = 1 , XTY_LD = 2 , XTY_CM = 3 } |
enum | VisibilityType : uint16_t { SYM_V_UNSPECIFIED = 0x0000 , SYM_V_INTERNAL = 0x1000 , SYM_V_HIDDEN = 0x2000 , SYM_V_PROTECTED = 0x3000 , SYM_V_EXPORTED = 0x4000 } |
Values for visibility as they would appear when encoded in the high 4 bits of the 16-bit unsigned n_type field of symbol table entries. More... | |
enum | RelocationType : uint8_t { R_POS = 0x00 , R_RL = 0x0c , R_RLA = 0x0d , R_NEG = 0x01 , R_REL = 0x02 , R_TOC = 0x03 , R_TRL = 0x12 , R_TRLA , R_GL = 0x05 , R_TCL = 0x06 , R_REF = 0x0f , R_BA = 0x08 , R_BR = 0x0a , R_RBA = 0x18 , R_RBR = 0x1a , R_TLS = 0x20 , R_TLS_IE = 0x21 , R_TLS_LD = 0x22 , R_TLS_LE = 0x23 , R_TLSM = 0x24 , R_TLSML = 0x25 , R_TOCU = 0x30 , R_TOCL = 0x31 } |
enum | CFileStringType : uint8_t { XFT_FN = 0 , XFT_CT = 1 , XFT_CV = 2 , XFT_CD = 128 } |
enum | CFileLangId : uint8_t { TB_C = 0 , TB_Fortran = 1 , TB_CPLUSPLUS = 9 } |
enum | CFileCpuId : uint8_t { TCPU_PPC64 = 2 , TCPU_COM = 3 , TCPU_970 = 19 } |
enum | SymbolAuxType : uint8_t { AUX_EXCEPT = 255 , AUX_FCN = 254 , AUX_SYM = 253 , AUX_FILE = 252 , AUX_CSECT = 251 , AUX_SECT = 250 } |
enum | ExtendedTBTableFlag : uint8_t { TB_OS1 = 0x80 , TB_RESERVED = 0x40 , TB_SSP_CANARY = 0x20 , TB_OS2 = 0x10 , TB_EH_INFO = 0x08 , TB_LONGTBTABLE2 = 0x01 } |
Functions | |
StringRef | getMappingClassString (XCOFF::StorageMappingClass SMC) |
StringRef | getRelocationTypeString (XCOFF::RelocationType Type) |
Expected< SmallString< 32 > > | parseParmsType (uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum) |
Expected< SmallString< 32 > > | parseParmsTypeWithVecInfo (uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum, unsigned VectorParmsNum) |
Expected< SmallString< 32 > > | parseVectorParmsType (uint32_t Value, unsigned ParmsNum) |
StringRef | getNameForTracebackTableLanguageId (TracebackTable::LanguageID LangId) |
SmallString< 32 > | getExtendedTBTableFlagString (uint8_t Flag) |
void | addExceptionEntry (MCObjectWriter &Writer, const MCSymbol *Symbol, const MCSymbol *Trap, unsigned LanguageCode, unsigned ReasonCode, unsigned FunctionSize, bool hasDebug) |
void | addCInfoSymEntry (MCObjectWriter &Writer, StringRef Name, StringRef Metadata) |
Variables | |
constexpr size_t | FileNamePadSize = 6 |
constexpr size_t | NameSize = 8 |
constexpr size_t | AuxFileEntNameSize = 14 |
constexpr size_t | FileHeaderSize32 = 20 |
constexpr size_t | FileHeaderSize64 = 24 |
constexpr size_t | AuxFileHeaderSize32 = 72 |
constexpr size_t | AuxFileHeaderSize64 = 110 |
constexpr size_t | AuxFileHeaderSizeShort = 28 |
constexpr size_t | SectionHeaderSize32 = 40 |
constexpr size_t | SectionHeaderSize64 = 72 |
constexpr size_t | SymbolTableEntrySize = 18 |
constexpr size_t | RelocationSerializationSize32 = 10 |
constexpr size_t | RelocationSerializationSize64 = 14 |
constexpr size_t | ExceptionSectionEntrySize32 = 6 |
constexpr size_t | ExceptionSectionEntrySize64 = 10 |
constexpr uint16_t | RelocOverflow = 65535 |
constexpr uint8_t | AllocRegNo = 31 |
static constexpr uint8_t | XR_SIGN_INDICATOR_MASK = 0x80 |
static constexpr uint8_t | XR_FIXUP_INDICATOR_MASK = 0x40 |
static constexpr uint8_t | XR_BIASED_LENGTH_MASK = 0x3f |
constexpr uint16_t | VISIBILITY_MASK = 0x7000 |
enum llvm::XCOFF::CFileCpuId : uint8_t |
enum llvm::XCOFF::CFileLangId : uint8_t |
enum llvm::XCOFF::CFileStringType : uint8_t |
enum llvm::XCOFF::DwarfSectionSubtypeFlags : int32_t |
Values for defining the section subtype of sections of type STYP_DWARF as they would appear in the (signed, 32-bit) s_flags field of the section header structure, contributing to the 16 most significant bits.
Defined in the system header scnhdr.h
.
enum llvm::XCOFF::ExtendedTBTableFlag : uint8_t |
enum llvm::XCOFF::FileFlag : uint16_t |
enum llvm::XCOFF::MagicNumber : uint16_t |
enum llvm::XCOFF::RelocationType : uint8_t |
Enumerator | |
---|---|
R_POS | Positive relocation. Provides the address of the referenced symbol. |
R_RL | Positive indirect load relocation. Modifiable instruction. |
R_RLA | Positive load address relocation. Modifiable instruction. |
R_NEG | Negative relocation. Provides the negative of the address of the referenced symbol. |
R_REL | Relative to self relocation. Provides a displacement value between the address of the referenced symbol and the address being relocated. |
R_TOC | Relative to the TOC relocation. Provides a displacement that is the difference between the address of the referenced symbol and the TOC anchor csect. |
R_TRL | TOC relative indirect load relocation. Similar to R_TOC, but not modifiable instruction. |
R_TRLA | Relative to the TOC or to the thread-local storage base relocation. Compilers are not permitted to generate this relocation type. It is the result of a reversible transformation by the linker of an R_TOC relation that turned a load instruction into an add-immediate instruction. |
R_GL | Global linkage-external TOC address relocation. Provides the address of the external TOC associated with a defined external symbol. |
R_TCL | Local object TOC address relocation. Provides the address of the local TOC entry of a defined external symbol. |
R_REF | A non-relocating relocation. Used to prevent the binder from garbage collecting a csect (such as code used for dynamic initialization of non-local statics) for which another csect has an implicit dependency. |
R_BA | Branch absolute relocation. Provides the address of the referenced symbol. References a non-modifiable instruction. |
R_BR | Branch relative to self relocation. Provides the displacement that is the difference between the address of the referenced symbol and the address of the referenced branch instruction. References a non-modifiable instruction. |
R_RBA | Branch absolute relocation. Similar to R_BA but references a modifiable instruction. |
R_RBR | Branch relative to self relocation. Similar to the R_BR relocation type, but references a modifiable instruction. |
R_TLS | General-dynamic reference to TLS symbol. |
R_TLS_IE | Initial-exec reference to TLS symbol. |
R_TLS_LD | Local-dynamic reference to TLS symbol. |
R_TLS_LE | Local-exec reference to TLS symbol. |
R_TLSM | Module reference to TLS. Provides a handle for the module containing the referenced symbol. |
R_TLSML | Module reference to the local TLS storage. |
R_TOCU | Relative to TOC upper. Specifies the high-order 16 bits of a large code model TOC-relative relocation. |
R_TOCL | Relative to TOC lower. Specifies the low-order 16 bits of a large code model TOC-relative relocation. |
enum llvm::XCOFF::ReservedSectionNum : int16_t |
enum llvm::XCOFF::SectionTypeFlags : int32_t |
enum llvm::XCOFF::StorageClass : uint8_t |
enum llvm::XCOFF::StorageMappingClass : uint8_t |
Storage Mapping Class definitions.
Enumerator | |
---|---|
XMC_PR | Program Code. |
XMC_RO | Read Only Constant. |
XMC_DB | Debug Dictionary Table. |
XMC_GL | Global Linkage (Interfile Interface Code) |
XMC_XO | Extended Operation (Pseudo Machine Instruction) |
XMC_SV | Supervisor Call (32-bit process only) |
XMC_SV64 | Supervisor Call for 64-bit process. |
XMC_SV3264 | Supervisor Call for both 32- and 64-bit processes. |
XMC_TI | Traceback Index csect. |
XMC_TB | Traceback Table csect. |
XMC_RW | Read Write Data. |
XMC_TC0 | TOC Anchor for TOC Addressability. |
XMC_TC | General TOC item. |
XMC_TD | Scalar data item in the TOC. |
XMC_DS | Descriptor csect. |
XMC_UA | Unclassified - Treated as Read Write. |
XMC_BS | BSS class (uninitialized static internal) |
XMC_UC | Un-named Fortran Common. |
XMC_TL | Initialized thread-local variable. |
XMC_UL | Uninitialized thread-local variable. |
XMC_TE | Symbol mapped at the end of TOC. |
enum llvm::XCOFF::SymbolAuxType : uint8_t |
enum llvm::XCOFF::SymbolType : uint8_t |
Values for visibility as they would appear when encoded in the high 4 bits of the 16-bit unsigned n_type field of symbol table entries.
Valid for 32-bit XCOFF only when the vstamp in the auxiliary header is greater than 1.
Enumerator | |
---|---|
SYM_V_UNSPECIFIED | |
SYM_V_INTERNAL | |
SYM_V_HIDDEN | |
SYM_V_PROTECTED | |
SYM_V_EXPORTED |
void llvm::XCOFF::addCInfoSymEntry | ( | MCObjectWriter & | Writer, |
StringRef | Name, | ||
StringRef | Metadata | ||
) |
Definition at line 1752 of file XCOFFObjectWriter.cpp.
References addCInfoSymEntry(), and Name.
Referenced by addCInfoSymEntry(), and llvm::MCXCOFFStreamer::emitXCOFFCInfoSym().
void llvm::XCOFF::addExceptionEntry | ( | MCObjectWriter & | Writer, |
const MCSymbol * | Symbol, | ||
const MCSymbol * | Trap, | ||
unsigned | LanguageCode, | ||
unsigned | ReasonCode, | ||
unsigned | FunctionSize, | ||
bool | hasDebug | ||
) |
Definition at line 1744 of file XCOFFObjectWriter.cpp.
References addExceptionEntry(), and Trap.
Referenced by addExceptionEntry(), and llvm::MCXCOFFStreamer::emitXCOFFExceptDirective().
SmallString< 32 > llvm::XCOFF::getExtendedTBTableFlagString | ( | uint8_t | Flag | ) |
Definition at line 162 of file XCOFF.cpp.
References llvm::SmallVectorTemplateBase< T, bool >::pop_back().
StringRef llvm::XCOFF::getMappingClassString | ( | XCOFF::StorageMappingClass | SMC | ) |
Definition at line 20 of file XCOFF.cpp.
References SMC_CASE.
Referenced by llvm::MCContext::getXCOFFSection().
StringRef llvm::XCOFF::getNameForTracebackTableLanguageId | ( | TracebackTable::LanguageID | LangId | ) |
Definition at line 87 of file XCOFF.cpp.
References llvm::Basic, llvm::CallingConv::C, and LANG_CASE.
StringRef llvm::XCOFF::getRelocationTypeString | ( | XCOFF::RelocationType | Type | ) |
Definition at line 53 of file XCOFF.cpp.
References R_BA, R_BR, R_GL, R_NEG, R_POS, R_RBA, R_RBR, R_REF, R_REL, R_RL, R_RLA, R_TCL, R_TLS, R_TLS_IE, R_TLS_LD, R_TLS_LE, R_TLSM, R_TLSML, R_TOC, R_TOCL, R_TOCU, R_TRL, R_TRLA, and RELOC_CASE.
Referenced by llvm::object::XCOFFObjectFile::getRelocationTypeName().
Expected< SmallString< 32 > > llvm::XCOFF::parseParmsType | ( | uint32_t | Value, |
unsigned | FixedParmsNum, | ||
unsigned | FloatingParmsNum | ||
) |
Definition at line 110 of file XCOFF.cpp.
References llvm::createStringError(), llvm::XCOFF::TracebackTable::ParmTypeFloatingIsDoubleBit, and llvm::XCOFF::TracebackTable::ParmTypeIsFloatingBit.
Expected< SmallString< 32 > > llvm::XCOFF::parseParmsTypeWithVecInfo | ( | uint32_t | Value, |
unsigned | FixedParmsNum, | ||
unsigned | FloatingParmsNum, | ||
unsigned | VectorParmsNum | ||
) |
Definition at line 188 of file XCOFF.cpp.
References assert(), llvm::createStringError(), llvm::XCOFF::TracebackTable::ParmTypeIsDoubleBits, llvm::XCOFF::TracebackTable::ParmTypeIsFixedBits, llvm::XCOFF::TracebackTable::ParmTypeIsFloatingBits, llvm::XCOFF::TracebackTable::ParmTypeIsVectorBits, and llvm::XCOFF::TracebackTable::ParmTypeMask.
Expected< SmallString< 32 > > llvm::XCOFF::parseVectorParmsType | ( | uint32_t | Value, |
unsigned | ParmsNum | ||
) |
Definition at line 240 of file XCOFF.cpp.
References llvm::createStringError(), llvm::XCOFF::TracebackTable::ParmTypeIsVectorCharBit, llvm::XCOFF::TracebackTable::ParmTypeIsVectorFloatBit, llvm::XCOFF::TracebackTable::ParmTypeIsVectorIntBit, llvm::XCOFF::TracebackTable::ParmTypeIsVectorShortBit, and llvm::XCOFF::TracebackTable::ParmTypeMask.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 29 of file XCOFF.h.
Referenced by llvm::MCPseudoProbeDecoder::buildGUID2FuncDescMap(), llvm::object::Archive::Child::Child(), emitPPA1Name(), llvm::object::generateXCOFFFixedNameStringRef(), llvm::coverage::CovMapFunctionRecordV1< IntPtrT >::getFuncName(), llvm::cl::generic_parser_base::getOptionWidth(), getUUID(), llvm::StructType::setName(), and verifyNoteSection().
|
constexpr |
Definition at line 39 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::relocations().
|
constexpr |
Definition at line 40 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::relocations().
|
constexpr |
Definition at line 43 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::getNumberOfRelocationEntries().
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 38 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::checkSymbolEntryPointer(), llvm::object::XCOFFObjectFile::getAdvancedSymbolEntryAddress(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::XCOFFObjectFile::getSymbolByIndex(), llvm::object::MachOObjectFile::getSymbolByIndex(), llvm::object::MachOObjectFile::getSymbolIndex(), llvm::object::XCOFFObjectFile::getSymbolIndex(), llvm::object::MachOObjectFile::moveSymbolNext(), and llvm::object::MachOObjectFile::symbol_end().
|
constexpr |
Definition at line 259 of file XCOFF.h.
Referenced by llvm::yaml::ScalarBitSetTraits< WasmYAML::SymbolFlags >::bitset(), and llvm::object::XCOFFObjectFile::getSymbolFlags().
|
staticconstexpr |
Definition at line 60 of file XCOFF.h.
Referenced by llvm::object::XCOFFRelocation< AddressType >::getRelocatedLength().
|
staticconstexpr |
Definition at line 57 of file XCOFF.h.
Referenced by llvm::object::XCOFFRelocation< AddressType >::isFixupIndicated().
|
staticconstexpr |
Definition at line 54 of file XCOFF.h.
Referenced by llvm::object::XCOFFRelocation< AddressType >::isRelocationSigned().