13#ifndef LLVM_BINARYFORMAT_XCOFF_H
14#define LLVM_BINARYFORMAT_XCOFF_H
21template <
unsigned>
class SmallString;
22template <
typename T>
class Expected;
378 unsigned FloatingParmsNum);
380 unsigned FixedParmsNum,
381 unsigned FloatingParmsNum,
382 unsigned VectorParmsNum);
Tagged union holding either a T or a Error.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
DwarfSectionSubtypeFlags
Values for defining the section subtype of sections of type STYP_DWARF as they would appear in the (s...
@ SSUBTYP_DWARNGE
DWARF aranges section.
@ SSUBTYP_DWFRAME
DWARF frame section.
@ SSUBTYP_DWABREV
DWARF abbrev section.
@ SSUBTYP_DWINFO
DWARF info section.
@ SSUBTYP_DWRNGES
DWARF ranges section.
@ SSUBTYP_DWLOC
DWARF loc section.
@ SSUBTYP_DWMAC
DWARF macinfo section.
@ SSUBTYP_DWPBNMS
DWARF pubnames section.
@ SSUBTYP_DWPBTYP
DWARF pubtypes section.
@ SSUBTYP_DWLINE
DWARF line section.
@ SSUBTYP_DWSTR
DWARF str section.
@ FORK_POLICY
Forktree policy specified (main program only).
@ SHR_SYMTAB
At exec time, create shared symbol table for program (main program only).
@ FORK_COR
If _AOUT_FORK_POLICY is set, specify copy-on-reference if this bit is set.
static constexpr uint8_t XR_BIASED_LENGTH_MASK
constexpr size_t RelocationSerializationSize32
SmallString< 32 > getExtendedTBTableFlagString(uint8_t Flag)
@ F_DSA
file uses Dynamic Segment Allocation (32-bit only)
@ F_SHROBJ
file is a shared object
@ F_DEP_2
Data Execution Protection bit 2.
@ F_LNNO
line numbers stripped from file
@ F_DYNLOAD
file is dynamically loadable and executable (equivalent to F_EXEC on AIX)
@ F_LPDATA
executable requires large pages for data
@ F_LPTEXT
executable requires large pages for text
@ F_LOADONLY
file can be loaded by the system loader, but it is ignored by the linker if it is a member of an arch...
@ F_RELFLG
relocation info stripped from file
@ F_DEP_1
Data Execution Protection bit 1.
@ F_LSYMS
local symbols stripped from file
@ F_FDPR_PROF
file was profiled with FDPR
@ F_FDPR_OPTI
file was reordered with FDPR
@ F_EXEC
file is executable (i.e., it has a loader section)
@ F_VARPG
executable requests using variable size pages
XCOFF::CFileCpuId getCpuID(StringRef CPU)
constexpr size_t ExceptionSectionEntrySize64
static constexpr uint8_t XR_FIXUP_INDICATOR_MASK
constexpr uint16_t VISIBILITY_MASK
Expected< SmallString< 32 > > parseParmsTypeWithVecInfo(uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum, unsigned VectorParmsNum)
static constexpr uint8_t XR_SIGN_INDICATOR_MASK
StringRef getRelocationTypeString(XCOFF::RelocationType Type)
Expected< SmallString< 32 > > parseParmsType(uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum)
constexpr size_t RelocationSerializationSize64
constexpr size_t ExceptionSectionEntrySize32
constexpr size_t FileHeaderSize64
StringRef getMappingClassString(XCOFF::StorageMappingClass SMC)
constexpr size_t AuxFileHeaderSize64
constexpr size_t SectionHeaderSize64
Expected< SmallString< 32 > > parseVectorParmsType(uint32_t Value, unsigned ParmsNum)
constexpr size_t AuxFileEntNameSize
@ AUX_SECT
Identifies a SECT auxiliary entry.
@ AUX_FILE
Identifies a file auxiliary entry.
@ AUX_EXCEPT
Identifies an exception auxiliary entry.
@ AUX_FCN
Identifies a function auxiliary entry.
@ AUX_SYM
Identifies a symbol auxiliary entry.
@ AUX_CSECT
Identifies a csect auxiliary entry.
@ R_RBR
Branch relative to self relocation.
@ R_TOC
Relative to the TOC relocation.
@ R_RLA
Positive load address relocation. Modifiable instruction.
@ R_TLSML
Module reference to the local TLS storage.
@ R_TRL
TOC relative indirect load relocation.
@ R_BR
Branch relative to self relocation.
@ R_POS
Positive relocation.
@ R_RBA
Branch absolute relocation.
@ R_BA
Branch absolute relocation.
@ R_REL
Relative to self relocation.
@ R_NEG
Negative relocation.
@ R_TLS_IE
Initial-exec reference to TLS symbol.
@ R_TLSM
Module reference to TLS.
@ R_GL
Global linkage-external TOC address relocation.
@ R_REF
A non-relocating relocation.
@ R_RL
Positive indirect load relocation. Modifiable instruction.
@ R_TRLA
Relative to the TOC or to the thread-local storage base relocation.
@ R_TCL
Local object TOC address relocation.
@ R_TOCL
Relative to TOC lower.
@ R_TOCU
Relative to TOC upper.
@ R_TLS_LD
Local-dynamic reference to TLS symbol.
@ R_TLS
General-dynamic reference to TLS symbol.
@ R_TLS_LE
Local-exec reference to TLS symbol.
@ TB_EH_INFO
Exception handling info present.
@ TB_OS1
Reserved for OS use.
@ TB_SSP_CANARY
stack smasher canary present on stack.
@ TB_LONGTBTABLE2
Additional tbtable extension exists.
@ TB_OS2
Reserved for OS use.
@ TB_RESERVED
Reserved for compiler.
@ TB_Fortran
Fortran language.
@ TB_CPLUSPLUS
C++ language.
VisibilityType
Values for visibility as they would appear when encoded in the high 4 bits of the 16-bit unsigned n_t...
@ TCPU_PWRX
RS2 implementation of POWER architecture.
@ TCPU_604
604 implementation of PowerPC architecture.
@ TCPU_ANY
Mixture of any incompatable POWER and PowerPC architecture implementations.
@ TCPU_PPC64
PowerPC common architecture 64-bit mode.
@ TCPU_PWR
POWER common architecture objects.
@ TCPU_COM
POWER and PowerPC architecture common.
@ TCPU_603
603 implementation of PowerPC architecture.
@ TCPU_PPC
PowerPC common architecture 32 bit mode.
@ TCPU_601
601 implementation of PowerPC architecture.
@ TCPU_INVALID
Invalid id - assumes POWER for old objects.
constexpr size_t NameSize
constexpr uint16_t RelocOverflow
constexpr size_t AuxFileHeaderSizeShort
constexpr size_t AuxFileHeaderSize32
@ XFT_FN
Specifies the source-file name.
@ XFT_CD
Specifies compiler-defined information.
@ XFT_CV
Specifies the compiler version number.
@ XFT_CT
Specifies the compiler time stamp.
constexpr size_t FileHeaderSize32
StorageMappingClass
Storage Mapping Class definitions.
@ XMC_TE
Symbol mapped at the end of TOC.
@ XMC_TB
Traceback Table csect.
@ XMC_TC0
TOC Anchor for TOC Addressability.
@ XMC_SV3264
Supervisor Call for both 32- and 64-bit processes.
@ XMC_GL
Global Linkage (Interfile Interface Code)
@ XMC_DS
Descriptor csect.
@ XMC_SV64
Supervisor Call for 64-bit process.
@ XMC_TL
Initialized thread-local variable.
@ XMC_RO
Read Only Constant.
@ XMC_DB
Debug Dictionary Table.
@ XMC_UA
Unclassified - Treated as Read Write.
@ XMC_SV
Supervisor Call (32-bit process only)
@ XMC_TD
Scalar data item in the TOC.
@ XMC_UC
Un-named Fortran Common.
@ XMC_UL
Uninitialized thread-local variable.
@ XMC_TI
Traceback Index csect.
@ XMC_XO
Extended Operation (Pseudo Machine Instruction)
@ XMC_BS
BSS class (uninitialized static internal)
@ XMC_TC
General TOC item.
constexpr size_t SectionHeaderSize32
constexpr size_t SymbolTableEntrySize
constexpr size_t FileNamePadSize
StringRef getTCPUString(XCOFF::CFileCpuId TCPU)
StringRef getNameForTracebackTableLanguageId(TracebackTable::LanguageID LangId)
constexpr uint8_t AllocRegNo
@ XTY_CM
Common csect definition. For uninitialized storage.
@ XTY_SD
Csect definition for initialized storage.
@ XTY_LD
Label definition.
@ XTY_ER
External reference.
This is an optimization pass for GlobalISel generic memory operations.
StorageMappingClass MappingClass
CsectProperties(StorageMappingClass SMC, SymbolType ST)
static constexpr uint32_t VersionMask
static constexpr uint32_t FPRSavedMask
static constexpr uint16_t NumberOfVRSavedMask
static constexpr uint8_t NumberOfFloatingPointParmsShift
static constexpr uint32_t NumberOfFixedParmsMask
static constexpr uint16_t HasVMXInstructionMask
static constexpr uint32_t IsLRSavedMask
static constexpr uint16_t HasVarArgsMask
static constexpr uint32_t IsTOClessMask
static constexpr uint32_t IsAllocaUsedMask
static constexpr uint8_t WidthOfParamType
static constexpr uint16_t IsVRSavedOnStackMask
static constexpr uint32_t ParmTypeFloatingIsDoubleBit
static constexpr uint16_t NumberOfVectorParmsMask
static constexpr uint32_t ParmTypeIsFloatingBit
static constexpr uint32_t IsFloatingPointPresentMask
static constexpr uint32_t FPRSavedShift
static constexpr uint32_t ParmTypeIsVectorShortBit
static constexpr uint32_t IsOutOfLineEpilogOrPrologueMask
static constexpr uint32_t NumberOfFloatingPointParmsMask
static constexpr uint32_t HasControlledStorageMask
static constexpr uint32_t ParmTypeMask
static constexpr uint32_t HasExtensionTableMask
static constexpr uint32_t IsInternalProcedureMask
static constexpr uint32_t ParmTypeIsDoubleBits
static constexpr uint8_t VersionShift
static constexpr uint32_t HasTraceBackTableOffsetMask
static constexpr uint32_t IsCRSavedMask
static constexpr uint8_t NumberOfFixedParmsShift
static constexpr uint32_t GPRSavedMask
static constexpr uint32_t ParmTypeIsVectorIntBit
static constexpr uint8_t NumberOfVectorParmsShift
static constexpr uint32_t IsFixupMask
static constexpr uint32_t IsGlobaLinkageMask
static constexpr uint32_t HasParmsOnStackMask
static constexpr uint32_t ParmTypeIsFixedBits
static constexpr uint32_t OnConditionDirectiveMask
static constexpr uint32_t ParmTypeIsVectorBits
static constexpr uint32_t IsFunctionNamePresentMask
static constexpr uint32_t IsBackChainStoredMask
static constexpr uint32_t ParmTypeIsVectorCharBit
static constexpr uint32_t IsInterruptHandlerMask
static constexpr uint32_t LanguageIdMask
static constexpr uint8_t LanguageIdShift
static constexpr uint32_t ParmTypeIsVectorFloatBit
static constexpr uint8_t OnConditionDirectiveShift
static constexpr uint32_t HasVectorInfoMask
static constexpr uint32_t ParmTypeIsFloatingBits
static constexpr uint8_t NumberOfVRSavedShift
static constexpr uint32_t IsFloatingPointOperationLogOrAbortEnabledMask
static constexpr uint32_t GPRSavedShift