Represents an XCOFF control section (csect) or DWARF section.

Synopsis

Declared in <llvm/MC/MCSectionXCOFF.h>

class MCSectionXCOFF final
    : public MCSection

Description

A csect is the smallest unit of data/code relocated as a single block. A csect can either be: 1) Initialized: The Type will be XTY_SD, and the symbols inside the csect will have a label definition representing their offset within the csect. 2) Uninitialized: The Type will be XTY_CM, it will contain a single symbol, and may not contain label definitions. 3) An external reference providing a symbol table entry for a symbol contained in another XCOFF object file. External reference csects are not implemented yet.

Base Classes

Name

Description

MCSection

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

Types

Name

Description

FragList

Intrusive singly‐linked list of fragments for a subsection.

iterator

Forward iterator over fragments in a section.

Member Functions

Name

Description

~MCSectionXCOFF [destructor]

Destroy this XCOFF section.

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.

getCSectType

Return the XCOFF symbol type for this csect.

getCsectProp

Return the csect properties, if this section is a csect.

getDummyFragment

Return the dummy fragment used as a sentinel for this section.

getDwarfSubtypeFlags

Return the DWARF section subtype flags, if this is a DWARF section.

getEndSymbol

Return the section end symbol, creating it in Ctx if needed.

getKind

Return the SectionKind for this section.

getMappingClass

Return the XCOFF storage mapping class for this csect.

getName

Return the name of this section.

getOrdinal

Return this section's index in the assembler's section list.

getQualNameSymbol

Return the qualifying name symbol for this section.

getStorageClass

Return the XCOFF storage class of the qualifying name symbol.

getSymbolTableName

Return the name used for this section in the symbol table.

getVisibilityType

Return the XCOFF visibility type of the qualifying name symbol.

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.

isCsect

Return true if this section is a csect.

isDwarfSect

Return true if this section is a DWARF section.

isLinkerRelaxable

Return true if this section contains any linker‐relaxable fragments.

isMultiSymbolsAllowed

Return true if this section may contain multiple symbols.

isRegistered

Return true if this section has been registered with the assembler.

isText

Return true if this is a text (code) section.

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.

setHasInstructions

Set whether instructions have been emitted into this section.

setIsRegistered

Set whether this section has been registered with the assembler.

setOrdinal

Set this section's index in the assembler's section list.

setSymbolTableName

Set the name used for this section in the symbol table.

Static Data Members

Name

Description

NonUniqueID

Sentinel unique ID meaning the section is not uniquely identified.

Protected Data Members

Name

Description

Name

Section name as it appears in the object file.

Friends

Name

Description

llvm::MCAsmInfoXCOFF

Target asm properties for XCOFF‐based targets.

llvm::MCContext

Context object for machine code objects. This class owns all of the sections that it creates.

Created with MrDocs