LLVM 22.0.0git
llvm::MCSectionMachO Class Referencefinal

This represents a section on a Mach-O system (used by Mac OS X). More...

#include "llvm/MC/MCSectionMachO.h"

Inheritance diagram for llvm::MCSectionMachO:
[legend]

Public Member Functions

StringRef getSegmentName () const
unsigned getTypeAndAttributes () const
unsigned getStubSize () const
MachO::SectionType getType () const
bool hasAttribute (unsigned Value) const
void allocAtoms ()
const MCSymbolgetAtom (size_t I) const
void setAtom (size_t I, const MCSymbol *Sym)
unsigned getLayoutOrder () const
void setLayoutOrder (unsigned Value)
Public Member Functions inherited from llvm::MCSection
 MCSection (const MCSection &)=delete
MCSectionoperator= (const MCSection &)=delete
StringRef getName () const
bool isText () const
MCSymbolgetBeginSymbol ()
const MCSymbolgetBeginSymbol () const
void setBeginSymbol (MCSymbol *Sym)
MCSymbolgetEndSymbol (MCContext &Ctx)
bool hasEnded () const
Align getAlign () const
void setAlignment (Align Value)
void ensureMinAlignment (Align MinAlignment)
 Makes sure that Alignment is at least MinAlignment.
unsigned getOrdinal () const
void setOrdinal (unsigned Value)
bool hasInstructions () const
void setHasInstructions (bool Value)
bool isRegistered () const
void setIsRegistered (bool Value)
unsigned firstLinkerRelaxable () const
bool isLinkerRelaxable () const
void setFirstLinkerRelaxable (unsigned Order)
MCFragmentgetDummyFragment ()
FragListcurFragList () const
iterator begin () const
iterator end () const
void dump (DenseMap< const MCFragment *, SmallVector< const MCSymbol *, 0 > > *FragToSyms=nullptr) const
bool isBssSection () const
 Check whether this section is "virtual", that is has no actual object file contents.

Static Public Member Functions

static Error ParseSectionSpecifier (StringRef Spec, StringRef &Segment, StringRef &Section, unsigned &TAA, bool &TAAParsed, unsigned &StubSize)
 Parse the section specifier indicated by "Spec".

Friends

class MCContext
class MCAsmInfoDarwin

Additional Inherited Members

Public Attributes inherited from llvm::MCSection
friend MCAssembler
friend MCObjectStreamer
Static Public Attributes inherited from llvm::MCSection
static constexpr unsigned NonUniqueID = ~0U
Protected Member Functions inherited from llvm::MCSection
 MCSection (StringRef Name, bool IsText, bool IsBss, MCSymbol *Begin)
Protected Attributes inherited from llvm::MCSection
StringRef Name

Detailed Description

This represents a section on a Mach-O system (used by Mac OS X).

On a Mac system, these are also described in /usr/include/mach-o/loader.h.

Definition at line 25 of file MCSectionMachO.h.

Member Function Documentation

◆ allocAtoms()

void MCSectionMachO::allocAtoms ( )

Definition at line 288 of file MCSectionMachO.cpp.

References llvm::MCSection::curFragList().

◆ getAtom()

const MCSymbol * MCSectionMachO::getAtom ( size_t I) const

Definition at line 294 of file MCSectionMachO.cpp.

References I.

◆ getLayoutOrder()

unsigned llvm::MCSectionMachO::getLayoutOrder ( ) const
inline

Definition at line 84 of file MCSectionMachO.h.

◆ getSegmentName()

StringRef llvm::MCSectionMachO::getSegmentName ( ) const
inline

◆ getStubSize()

unsigned llvm::MCSectionMachO::getStubSize ( ) const
inline

◆ getType()

MachO::SectionType llvm::MCSectionMachO::getType ( ) const
inline

◆ getTypeAndAttributes()

unsigned llvm::MCSectionMachO::getTypeAndAttributes ( ) const
inline

◆ hasAttribute()

bool llvm::MCSectionMachO::hasAttribute ( unsigned Value) const
inline

Definition at line 63 of file MCSectionMachO.h.

◆ ParseSectionSpecifier()

Error MCSectionMachO::ParseSectionSpecifier ( StringRef Spec,
StringRef & Segment,
StringRef & Section,
unsigned & TAA,
bool & TAAParsed,
unsigned & StubSize )
static

Parse the section specifier indicated by "Spec".

ParseSectionSpecifier - Parse the section specifier indicated by "Spec".

This is a string that can appear after a .section directive in a mach-o flavored .s file. If successful, this fills in the specified Out parameters and returns an empty string. When an invalid section specifier is present, this returns an Error indicating the problem. If no TAA was parsed, TAA is not altered, and TAAWasSet becomes false.

This is a string that can appear after a .section directive in a mach-o flavored .s file. If successful, this fills in the specified Out parameters and returns an empty string. When an invalid section specifier is present, this returns a string indicating the problem.

Definition at line 179 of file MCSectionMachO.cpp.

References llvm::createStringError(), llvm::StringRef::empty(), llvm::find_if(), llvm::StringRef::getAsInteger(), llvm::inconvertibleErrorCode(), llvm::MachO::S_SYMBOL_STUBS, llvm::MachO::SECTION_TYPE, SectionAttrDescriptors, SectionTypeDescriptors, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::Error::success().

Referenced by llvm::TargetLoweringObjectFileMachO::emitModuleMetadata(), and llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal().

◆ setAtom()

void MCSectionMachO::setAtom ( size_t I,
const MCSymbol * Sym )

Definition at line 298 of file MCSectionMachO.cpp.

References I.

◆ setLayoutOrder()

void llvm::MCSectionMachO::setLayoutOrder ( unsigned Value)
inline

Definition at line 85 of file MCSectionMachO.h.

◆ MCAsmInfoDarwin

friend class MCAsmInfoDarwin
friend

Definition at line 27 of file MCSectionMachO.h.

References MCAsmInfoDarwin.

Referenced by MCAsmInfoDarwin.

◆ MCContext

friend class MCContext
friend

Definition at line 26 of file MCSectionMachO.h.

References MCContext.

Referenced by MCContext.


The documentation for this class was generated from the following files: