class MCSectionELF
Declaration
class MCSectionELF : public MCSection { /* full declaration omitted */ };
Description
This represents a section on linux, lots of unix variants and some bare metal systems.
Declared at: llvm/include/llvm/MC/MCSectionELF.h:26
Inherits from: MCSection
Member Variables
- private unsigned int Type
- This is the sh_type field of a section, drawn from the enums below.
- private unsigned int Flags
- This is the sh_flags field of a section, drawn from the enums below.
- private unsigned int UniqueID
- private unsigned int EntrySize
- The size of each entry in this section. This size only makes sense for sections that contain fixed-sized entries. If a section does not contain fixed-sized entries 'EntrySize' will be 0.
- private const PointerIntPair<const llvm::MCSymbolELF*, 1, bool> Group
- The section group signature symbol (if not null) and a bool indicating whether this is a GRP_COMDAT group.
- private const llvm::MCSymbol* LinkedToSym
- Used by SHF_LINK_ORDER. If non-null, the sh_link field will be set to the section header index of the section where LinkedToSym is defined.
Inherited from MCSection:
Method Overview
- private MCSectionELF(llvm::StringRef Name, unsigned int type, unsigned int flags, llvm::SectionKind K, unsigned int entrySize, const llvm::MCSymbolELF * group, bool IsComdat, unsigned int UniqueID, llvm::MCSymbol * Begin, const llvm::MCSymbolELF * LinkedToSym)
- public static bool classof(const llvm::MCSection * S)
- public unsigned int getEntrySize() const
- public unsigned int getFlags() const
- public const llvm::MCSymbolELF * getGroup() const
- public const llvm::MCSection * getLinkedToSection() const
- public const llvm::MCSymbol * getLinkedToSymbol() const
- public unsigned int getType() const
- public unsigned int getUniqueID() const
- public llvm::StringRef getVirtualSectionKind() const
- public bool isComdat() const
- public bool isUnique() const
- public bool isVirtualSection() const
- public void printSwitchToSection(const llvm::MCAsmInfo & MAI, const llvm::Triple & T, llvm::raw_ostream & OS, const llvm::MCExpr * Subsection) const
- public void setFlags(unsigned int F)
- private void setSectionName(llvm::StringRef Name)
- public bool shouldOmitSectionDirective(llvm::StringRef Name, const llvm::MCAsmInfo & MAI) const
- public bool useCodeAlign() const
Inherited from MCSection:
- public addPendingLabel
- public begin
- public begin
- public dump
- public end
- public end
- public flushPendingLabels
- public flushPendingLabels
- public getAlignment
- public getBeginSymbol
- public getBeginSymbol
- public getBundleLockState
- public getDummyFragment
- public getDummyFragment
- public getEndSymbol
- public getFragmentList
- public getFragmentList
- public getKind
- public getLayoutOrder
- public getName
- public getOrdinal
- public getSublistAccess
- public getSubsectionInsertionPoint
- public getVariant
- public getVirtualSectionKind
- public hasEnded
- public hasInstructions
- public isBundleGroupBeforeFirstInst
- public isBundleLocked
- public isRegistered
- public isVirtualSection
- public printSwitchToSection
- public setAlignment
- public setBeginSymbol
- public setBundleGroupBeforeFirstInst
- public setBundleLockState
- public setHasInstructions
- public setIsRegistered
- public setLayoutOrder
- public setOrdinal
- public useCodeAlign
Methods
¶MCSectionELF(llvm::StringRef Name,
unsigned int type,
unsigned int flags,
llvm::SectionKind K,
unsigned int entrySize,
const llvm::MCSymbolELF* group,
bool IsComdat,
unsigned int UniqueID,
llvm::MCSymbol* Begin,
const llvm::MCSymbolELF* LinkedToSym)
MCSectionELF(llvm::StringRef Name,
unsigned int type,
unsigned int flags,
llvm::SectionKind K,
unsigned int entrySize,
const llvm::MCSymbolELF* group,
bool IsComdat,
unsigned int UniqueID,
llvm::MCSymbol* Begin,
const llvm::MCSymbolELF* LinkedToSym)
Declared at: llvm/include/llvm/MC/MCSectionELF.h:52
Parameters
- llvm::StringRef Name
- unsigned int type
- unsigned int flags
- llvm::SectionKind K
- unsigned int entrySize
- const llvm::MCSymbolELF* group
- bool IsComdat
- unsigned int UniqueID
- llvm::MCSymbol* Begin
- const llvm::MCSymbolELF* LinkedToSym
¶static bool classof(const llvm::MCSection* S)
static bool classof(const llvm::MCSection* S)
Declared at: llvm/include/llvm/MC/MCSectionELF.h:94
Parameters
- const llvm::MCSection* S
¶unsigned int getEntrySize() const
unsigned int getEntrySize() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:74
¶unsigned int getFlags() const
unsigned int getFlags() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:73
¶const llvm::MCSymbolELF* getGroup() const
const llvm::MCSymbolELF* getGroup() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:76
¶const llvm::MCSection* getLinkedToSection() const
const llvm::MCSection* getLinkedToSection() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:89
¶const llvm::MCSymbol* getLinkedToSymbol() const
const llvm::MCSymbol* getLinkedToSymbol() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:92
¶unsigned int getType() const
unsigned int getType() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:72
¶unsigned int getUniqueID() const
unsigned int getUniqueID() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:87
¶llvm::StringRef getVirtualSectionKind() const
llvm::StringRef getVirtualSectionKind() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:84
¶bool isComdat() const
bool isComdat() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:77
¶bool isUnique() const
bool isUnique() const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:86
¶bool isVirtualSection() const
bool isVirtualSection() const
Description
Check whether this section is "virtual", that is has no actual object file contents.
Declared at: llvm/include/llvm/MC/MCSectionELF.h:83
¶void printSwitchToSection(
const llvm::MCAsmInfo& MAI,
const llvm::Triple& T,
llvm::raw_ostream& OS,
const llvm::MCExpr* Subsection) const
void printSwitchToSection(
const llvm::MCAsmInfo& MAI,
const llvm::Triple& T,
llvm::raw_ostream& OS,
const llvm::MCExpr* Subsection) const
Declared at: llvm/include/llvm/MC/MCSectionELF.h:79
Parameters
- const llvm::MCAsmInfo& MAI
- const llvm::Triple& T
- llvm::raw_ostream& OS
- const llvm::MCExpr* Subsection
¶void setFlags(unsigned int F)
void setFlags(unsigned int F)
Declared at: llvm/include/llvm/MC/MCSectionELF.h:75
Parameters
- unsigned int F
¶void setSectionName(llvm::StringRef Name)
void setSectionName(llvm::StringRef Name)
Declared at: llvm/include/llvm/MC/MCSectionELF.h:65
Parameters
- llvm::StringRef Name
¶bool shouldOmitSectionDirective(
llvm::StringRef Name,
const llvm::MCAsmInfo& MAI) const
bool shouldOmitSectionDirective(
llvm::StringRef Name,
const llvm::MCAsmInfo& MAI) const
Description
Decides whether a '.section' directive should be printed before the section name
Declared at: llvm/include/llvm/MC/MCSectionELF.h:70
Parameters
- llvm::StringRef Name
- const llvm::MCAsmInfo& MAI
¶bool useCodeAlign() const
bool useCodeAlign() const
Description
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
Declared at: llvm/include/llvm/MC/MCSectionELF.h:82