LLVM: llvm::XCOFF Namespace Reference (original ) (raw )
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_INVALID = 0 , TCPU_PPC = 1 , TCPU_PPC64 = 2 , TCPU_COM = 3 , TCPU_PWR = 4 , TCPU_ANY = 5 , TCPU_601 = 6 , TCPU_603 = 7 , TCPU_604 = 8 , TCPU_620 = 16 , TCPU_A35 = 17 , TCPU_PWR5 = 18 , TCPU_970 = 19 , TCPU_PWR6 = 20 , TCPU_PWR5X = 22 , TCPU_PWR6E = 23 , TCPU_PWR7 = 24 , TCPU_PWR8 = 25 , TCPU_PWR9 = 26 , TCPU_PWR10 = 27 , TCPU_PWRX = 224 }
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 }
Enumerator
SHR_SYMTAB
At exec time, create shared symbol table for program (main program only).
FORK_POLICY
Forktree policy specified (main program only).
FORK_COR
If _AOUT_FORK_POLICY is set, specify copy-on-reference if this bit is set. Specify copy-on- write otherwise. If _AOUT_FORK_POLICY is 0, this bit is reserved for future use and should be set to 0.
Definition at line 64 of file XCOFF.h .
◆ CFileCpuId
Enumerator
TCPU_INVALID
Invalid id - assumes POWER for old objects.
TCPU_PPC
PowerPC common architecture 32 bit mode.
TCPU_PPC64
PowerPC common architecture 64-bit mode.
TCPU_COM
POWER and PowerPC architecture common.
TCPU_PWR
POWER common architecture objects.
TCPU_ANY
Mixture of any incompatable POWER and PowerPC architecture implementations.
TCPU_601
601 implementation of PowerPC architecture.
TCPU_603
603 implementation of PowerPC architecture.
TCPU_604
604 implementation of PowerPC architecture.
TCPU_620
TCPU_A35
TCPU_PWR5
TCPU_970
TCPU_PWR6
TCPU_PWR5X
TCPU_PWR6E
TCPU_PWR7
TCPU_PWR8
TCPU_PWR9
TCPU_PWR10
TCPU_PWRX
RS2 implementation of POWER architecture.
Definition at line 338 of file XCOFF.h .
◆ CFileLangId
Enumerator
TB_C
C language.
TB_Fortran
Fortran language.
TB_CPLUSPLUS
C++ language.
Definition at line 331 of file XCOFF.h .
◆ CFileStringType
Enumerator
XFT_FN
Specifies the source-file name.
XFT_CT
Specifies the compiler time stamp.
XFT_CV
Specifies the compiler version number.
XFT_CD
Specifies compiler-defined information.
Definition at line 324 of file XCOFF.h .
◆ DwarfSectionSubtypeFlagsValues 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.
Enumerator
SSUBTYP_DWINFO
DWARF info section.
SSUBTYP_DWLINE
DWARF line section.
SSUBTYP_DWPBNMS
DWARF pubnames section.
SSUBTYP_DWPBTYP
DWARF pubtypes section.
SSUBTYP_DWARNGE
DWARF aranges section.
SSUBTYP_DWABREV
DWARF abbrev section.
SSUBTYP_DWSTR
DWARF str section.
SSUBTYP_DWRNGES
DWARF ranges section.
SSUBTYP_DWLOC
DWARF loc section.
SSUBTYP_DWFRAME
DWARF frame section.
SSUBTYP_DWMAC
DWARF macinfo section.
Definition at line 155 of file XCOFF.h .
◆ ExtendedTBTableFlag
Enumerator
TB_OS1
Reserved for OS use.
TB_RESERVED
Reserved for compiler.
TB_SSP_CANARY
stack smasher canary present on stack.
TB_OS2
Reserved for OS use.
TB_EH_INFO
Exception handling info present.
TB_LONGTBTABLE2
Additional tbtable extension exists.
Definition at line 485 of file XCOFF.h .
◆ FileFlag
Enumerator
F_RELFLG
relocation info stripped from file
F_EXEC
file is executable (i.e., it has a loader section)
F_LNNO
line numbers stripped from file
F_LSYMS
local symbols stripped from file
F_FDPR_PROF
file was profiled with FDPR
F_FDPR_OPTI
file was reordered with FDPR
F_DSA
file uses Dynamic Segment Allocation (32-bit only)
F_DEP_1
Data Execution Protection bit 1.
F_VARPG
executable requests using variable size pages
F_LPTEXT
executable requires large pages for text
F_LPDATA
executable requires large pages for data
F_DYNLOAD
file is dynamically loadable and executable (equivalent to F_EXEC on AIX)
F_SHROBJ
file is a shared object
F_LOADONLY
file can be loaded by the system loader, but it is ignored by the linker if it is a member of an archive.
F_DEP_2
Data Execution Protection bit 2.
Definition at line 79 of file XCOFF.h .
◆ MagicNumber
Enumerator
XCOFF32
XCOFF64
Definition at line 49 of file XCOFF.h .
◆ RelocationType
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.
Definition at line 263 of file XCOFF.h .
◆ ReservedSectionNum
Enumerator
N_DEBUG
N_ABS
N_UNDEF
Definition at line 47 of file XCOFF.h .
◆ SectionTypeFlagsenum llvm::XCOFF::SectionTypeFlags : int32_t
Enumerator
STYP_PAD
STYP_DWARF
STYP_TEXT
STYP_DATA
STYP_BSS
STYP_EXCEPT
STYP_INFO
STYP_TDATA
STYP_TBSS
STYP_LOADER
STYP_DEBUG
STYP_TYPCHK
STYP_OVRFLO
Definition at line 135 of file XCOFF.h .
◆ StorageClass
Enumerator
C_FILE
C_BINCL
C_EINCL
C_GSYM
C_STSYM
C_BCOMM
C_ECOMM
C_ENTRY
C_BSTAT
C_ESTAT
C_GTLS
C_STTLS
C_DWARF
C_LSYM
C_PSYM
C_RSYM
C_RPSYM
C_ECOML
C_FUN
C_EXT
C_WEAKEXT
C_NULL
C_STAT
C_BLOCK
C_FCN
C_HIDEXT
C_INFO
C_DECL
C_AUTO
C_REG
C_EXTDEF
C_LABEL
C_ULABEL
C_MOS
C_ARG
C_STRTAG
C_MOU
C_UNTAG
C_TPDEF
C_USTATIC
C_ENTAG
C_MOE
C_REGPARM
C_FIELD
C_EOS
C_LINE
C_ALIAS
C_HIDDEN
C_EFCN
C_TCSYM
Definition at line 171 of file XCOFF.h .
◆ StorageMappingClassStorage 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.
Definition at line 104 of file XCOFF.h .
◆ SymbolAuxType
Enumerator
AUX_EXCEPT
Identifies an exception auxiliary entry.
AUX_FCN
Identifies a function auxiliary entry.
AUX_SYM
Identifies a symbol auxiliary entry.
AUX_FILE
Identifies a file auxiliary entry.
AUX_CSECT
Identifies a csect auxiliary entry.
AUX_SECT
Identifies a SECT auxiliary entry.
Definition at line 366 of file XCOFF.h .
◆ SymbolType
Enumerator
XTY_ER
External reference.
XTY_SD
Csect definition for initialized storage.
XTY_LD
Label definition. Defines an entry point to an initialized csect.
XTY_CM
Common csect definition. For uninitialized storage.
Definition at line 241 of file XCOFF.h .
◆ VisibilityTypeValues 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
Definition at line 252 of file XCOFF.h .
◆ XCOFFInterpret
Enumerator
OLD_XCOFF_INTERPRET
NEW_XCOFF_INTERPRET
Definition at line 74 of file XCOFF.h .
◆ getCpuID()Definition at line 112 of file XCOFF.cpp .
References llvm::StringSwitch< T, R >::Case() , llvm::StringSwitch< T, R >::Cases() , llvm::Default , llvm::PPC::normalizeCPUName() , TCPU_601 , TCPU_603 , TCPU_604 , TCPU_620 , TCPU_970 , TCPU_ANY , TCPU_COM , TCPU_INVALID , TCPU_PWR10 , TCPU_PWR5 , TCPU_PWR5X , TCPU_PWR6 , TCPU_PWR6E , TCPU_PWR7 , TCPU_PWR8 , and TCPU_PWR9 .
◆ getExtendedTBTableFlagString()◆ getMappingClassString()◆ getNameForTracebackTableLanguageId()◆ getRelocationTypeString()Definition at line 55 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() .
◆ getTCPUString()◆ parseParmsType()◆ parseParmsTypeWithVecInfo()◆ parseVectorParmsType()◆ AllocRegNo
uint8_t llvm::XCOFF::AllocRegNo = 31
constexpr
Definition at line 45 of file XCOFF.h .
◆ AuxFileEntNameSize
size_t llvm::XCOFF::AuxFileEntNameSize = 14
constexpr
Definition at line 31 of file XCOFF.h .
size_t llvm::XCOFF::AuxFileHeaderSize32 = 72
constexpr
Definition at line 34 of file XCOFF.h .
size_t llvm::XCOFF::AuxFileHeaderSize64 = 110
constexpr
Definition at line 35 of file XCOFF.h .
size_t llvm::XCOFF::AuxFileHeaderSizeShort = 28
constexpr
Definition at line 36 of file XCOFF.h .
◆ ExceptionSectionEntrySize32
size_t llvm::XCOFF::ExceptionSectionEntrySize32 = 6
constexpr
Definition at line 42 of file XCOFF.h .
◆ ExceptionSectionEntrySize64
size_t llvm::XCOFF::ExceptionSectionEntrySize64 = 10
constexpr
Definition at line 43 of file XCOFF.h .
size_t llvm::XCOFF::FileHeaderSize32 = 20
constexpr
Definition at line 32 of file XCOFF.h .
size_t llvm::XCOFF::FileHeaderSize64 = 24
constexpr
Definition at line 33 of file XCOFF.h .
◆ FileNamePadSize
size_t llvm::XCOFF::FileNamePadSize = 6
constexpr
Definition at line 29 of file XCOFF.h .
◆ NameSize
size_t llvm::XCOFF::NameSize = 8
constexpr
◆ RelocationSerializationSize32
size_t llvm::XCOFF::RelocationSerializationSize32 = 10
constexpr
◆ RelocationSerializationSize64
size_t llvm::XCOFF::RelocationSerializationSize64 = 14
constexpr
◆ RelocOverflow
uint16_t llvm::XCOFF::RelocOverflow = 65535
constexpr
size_t llvm::XCOFF::SectionHeaderSize32 = 40
constexpr
Definition at line 37 of file XCOFF.h .
size_t llvm::XCOFF::SectionHeaderSize64 = 72
constexpr
Definition at line 38 of file XCOFF.h .
◆ SymbolTableEntrySize
size_t llvm::XCOFF::SymbolTableEntrySize = 18
constexpr
◆ VISIBILITY_MASK
uint16_t llvm::XCOFF::VISIBILITY_MASK = 0x7000
constexpr
◆ XR_BIASED_LENGTH_MASK
uint8_t llvm::XCOFF::XR_BIASED_LENGTH_MASK = 0x3f
staticconstexpr
◆ XR_FIXUP_INDICATOR_MASK
uint8_t llvm::XCOFF::XR_FIXUP_INDICATOR_MASK = 0x40
staticconstexpr
◆ XR_SIGN_INDICATOR_MASK
uint8_t llvm::XCOFF::XR_SIGN_INDICATOR_MASK = 0x80
staticconstexpr