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:

protected Name
protected Variant
protected Kind
public static NonUniqueID = ~0U

Method Overview

Inherited from MCSection:

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)

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)

Declared at: llvm/include/llvm/MC/MCSectionELF.h:94

Parameters

const llvm::MCSection* S

unsigned int getEntrySize() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:74

unsigned int getFlags() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:73

const llvm::MCSymbolELF* getGroup() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:76

const llvm::MCSection* getLinkedToSection() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:89

const llvm::MCSymbol* getLinkedToSymbol() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:92

unsigned int getType() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:72

unsigned int getUniqueID() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:87

llvm::StringRef getVirtualSectionKind() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:84

bool isComdat() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:77

bool isUnique() const

Declared at: llvm/include/llvm/MC/MCSectionELF.h:86

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

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)

Declared at: llvm/include/llvm/MC/MCSectionELF.h:75

Parameters

unsigned int F

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

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

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