llvm::MCSectionELF

This represents a section on linux, lots of unix variants and some bare metal systems.

Synopsis

Declared in <llvm/MC/MCSectionELF.h>

class MCSectionELF final
    : public MCSection

Base Classes

NameDescription
MCSectionInstances of this class represent a uniqued identifier for a section in the current translation unit. The MCContext class uniques and creates these.

Types

NameDescription
FragList Intrusive singly-linked list of fragments for a subsection.
iterator Forward iterator over fragments in a section.

Member Functions

NameDescription
operator= [deleted]Deleted copy assignment.
begin Return an iterator to the first fragment in this section.
curFragList Return the active fragment list for this section.
dump Print a human-readable description of this section to stderr.
end Return an end iterator past the last fragment in this section.
ensureMinAlignment Makes sure that Alignment is at least MinAlignment.
firstLinkerRelaxable Return the layout order of the first linker-relaxable fragment, or ~0u if none.
getAlign Return the required alignment of this section.
getBeginSymbol Return the section begin symbol, if any.
getDummyFragment Return the dummy fragment used as a sentinel for this section.
getEndSymbol Return the section end symbol, creating it in Ctx if needed.
getEntrySize Return the size of each fixed-size entry, or 0 if not applicable.
getFlags Return the ELF section flags (sh_flags).
getGroup Return the section group signature symbol, or null if none.
getLinkedToSection Return the section that LinkedToSym is defined in (SHF_LINK_ORDER).
getLinkedToSymbol Return the SHF_LINK_ORDER linked-to symbol, or null if none.
getName Return the name of this section.
getOffsets Return the start and end file offsets used by ELFWriter.
getOrdinal Return this section's index in the assembler's section list.
getType Return the ELF section type (sh_type).
getUniqueID Return the unique ID assigned to this section.
hasEnded Return true if an end symbol has already been created for this section.
hasInstructions Return true if instructions have been emitted into this section.
isBssSection Check whether this section is "virtual", that is has no actual object file contents.
isComdat Return true if this section belongs to a GRP_COMDAT group.
isLinkerRelaxable Return true if this section contains any linker-relaxable fragments.
isRegistered Return true if this section has been registered with the assembler.
isText Return true if this is a text (code) section.
isUnique Return true if this section was created with a unique ID.
setAlignment Set the required alignment of this section.
setBeginSymbol Set the section begin symbol; may be called only once.
setFirstLinkerRelaxable Record the layout order of the first linker-relaxable fragment.
setFlags Set the ELF section flags (sh_flags).
setHasInstructions Set whether instructions have been emitted into this section.
setIsRegistered Set whether this section has been registered with the assembler.
setOffsets Set the start and end file offsets used by ELFWriter.
setOrdinal Set this section's index in the assembler's section list.

Static Data Members

NameDescription
NonUniqueID Sentinel unique ID meaning the section is not uniquely identified.

Protected Data Members

NameDescription
Name Section name as it appears in the object file.

Friends

NameDescription
llvm::MCAsmInfoELFTarget asm properties for ELF-based targets.
llvm::MCContextContext object for machine code objects. This class owns all of the sections that it creates.