LLVM
15.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. Valid for 32-bit XCOFF only when the vstamp in the auxiliary header is greater than 1. 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_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) |
Variables | |
constexpr size_t | FileNamePadSize = 6 |
constexpr size_t | NameSize = 8 |
constexpr size_t | FileHeaderSize32 = 20 |
constexpr size_t | FileHeaderSize64 = 24 |
constexpr size_t | AuxFileHeaderSize32 = 72 |
constexpr size_t | AuxFileHeaderSize64 = 110 |
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 uint16_t | RelocOverflow = 65535 |
constexpr uint8_t | AllocRegNo = 31 |
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 |
SmallString< 32 > llvm::XCOFF::getExtendedTBTableFlagString | ( | uint8_t | Flag | ) |
Definition at line 162 of file XCOFF.cpp.
References TB_EH_INFO, TB_LONGTBTABLE2, TB_OS1, TB_OS2, TB_RESERVED, and TB_SSP_CANARY.
StringRef llvm::XCOFF::getMappingClassString | ( | XCOFF::StorageMappingClass | SMC | ) |
Definition at line 20 of file XCOFF.cpp.
References llvm::SIInstrFlags::DS, SMC_CASE, and llvm::X86II::TB.
StringRef llvm::XCOFF::getNameForTracebackTableLanguageId | ( | TracebackTable::LanguageID | LangId | ) |
Definition at line 87 of file XCOFF.cpp.
References llvm::Assembly, llvm::codeview::Cobol, llvm::codeview::Fortran, llvm::codeview::Java, 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::tgtok::Bits, llvm::createStringError(), llvm::invalid_argument, 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::tgtok::Bits, llvm::createStringError(), llvm::invalid_argument, 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::tgtok::Bits, llvm::createStringError(), llvm::invalid_argument, 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 |
Definition at line 29 of file XCOFF.h.
Referenced by llvm::object::generateXCOFFFixedNameStringRef().
|
constexpr |
Definition at line 37 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::relocations().
|
constexpr |
Definition at line 38 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::relocations().
|
constexpr |
Definition at line 39 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::getNumberOfRelocationEntries().
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 36 of file XCOFF.h.
Referenced by llvm::object::XCOFFObjectFile::checkSymbolEntryPointer(), llvm::object::XCOFFObjectFile::getAdvancedSymbolEntryAddress(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::MachOObjectFile::getSymbolByIndex(), llvm::object::XCOFFObjectFile::getSymbolByIndex(), llvm::object::MachOObjectFile::getSymbolIndex(), llvm::object::XCOFFObjectFile::getSymbolIndex(), llvm::object::MachOObjectFile::moveSymbolNext(), and llvm::object::MachOObjectFile::symbol_end().
|
constexpr |
Definition at line 243 of file XCOFF.h.
Referenced by llvm::yaml::ScalarBitSetTraits< WasmYAML::SymbolFlags >::bitset(), and llvm::object::XCOFFObjectFile::getSymbolFlags().