class MCObjectFileInfo

Declaration

class MCObjectFileInfo { /* full declaration omitted */ };

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:26

Member Variables

protected bool CommDirectiveSupportsAlignment = false
True if .comm supports alignment. This is a hack for as long as we support 10.4 Tiger, whose assembler doesn't support alignment on comm.
protected bool SupportsWeakOmittedEHFrame = false
True if target object file supports a weak_definition of constant 0 for an omitted EH frame.
protected bool SupportsCompactUnwindWithoutEHFrame = false
True if the target object file supports emitting a compact unwind section without an associated EH frame section.
protected bool OmitDwarfIfHaveCompactUnwind = false
OmitDwarfIfHaveCompactUnwind - True if the target object file supports having some functions with compact unwind and other with dwarf unwind.
protected unsigned int FDECFIEncoding = 0
FDE CFI encoding. Controls the encoding of the begin label in the .eh_frame section. Unlike the LSDA encoding, personality encoding, and type encodings, this is something that the assembler just "knows" about its target
protected unsigned int CompactUnwindDwarfEHFrameOnly = 0
Compact unwind encoding indicating that we should emit only an EH frame.
protected llvm::MCSection* TextSection = nullptr
Section directive for standard text.
protected llvm::MCSection* DataSection = nullptr
Section directive for standard data.
protected llvm::MCSection* BSSSection = nullptr
Section that is default initialized to zero.
protected llvm::MCSection* ReadOnlySection = nullptr
Section that is readonly and can contain arbitrary initialized data. Targets are not required to have a readonly section. If they don't, various bits of code will fall back to using the data section for constants.
protected llvm::MCSection* LSDASection = nullptr
If exception handling is supported by the target, this is the section the Language Specific Data Area information is emitted to.
protected llvm::MCSection* CompactUnwindSection = nullptr
If exception handling is supported by the target and the target can support a compact representation of the CIE and FDE, this is the section to emit them into.
protected llvm::MCSection* DwarfAbbrevSection = nullptr
protected llvm::MCSection* DwarfInfoSection = nullptr
protected llvm::MCSection* DwarfLineSection = nullptr
protected llvm::MCSection* DwarfLineStrSection = nullptr
protected llvm::MCSection* DwarfFrameSection = nullptr
protected llvm::MCSection* DwarfPubTypesSection = nullptr
protected const llvm::MCSection* DwarfDebugInlineSection = nullptr
protected llvm::MCSection* DwarfStrSection = nullptr
protected llvm::MCSection* DwarfLocSection = nullptr
protected llvm::MCSection* DwarfARangesSection = nullptr
protected llvm::MCSection* DwarfRangesSection = nullptr
protected llvm::MCSection* DwarfMacinfoSection = nullptr
protected llvm::MCSection* DwarfPubNamesSection = nullptr
protected llvm::MCSection* DwarfDebugNamesSection = nullptr
Accelerator table sections. DwarfDebugNamesSection is the DWARF v5 accelerator table, while DwarfAccelNamesSection, DwarfAccelObjCSection, DwarfAccelNamespaceSection, DwarfAccelTypesSection are pre-DWARF v5 extensions.
protected llvm::MCSection* DwarfAccelNamesSection = nullptr
protected llvm::MCSection* DwarfAccelObjCSection = nullptr
protected llvm::MCSection* DwarfAccelNamespaceSection = nullptr
protected llvm::MCSection* DwarfAccelTypesSection = nullptr
protected llvm::MCSection* DwarfInfoDWOSection = nullptr
protected llvm::MCSection* DwarfTypesDWOSection = nullptr
protected llvm::MCSection* DwarfAbbrevDWOSection = nullptr
protected llvm::MCSection* DwarfStrDWOSection = nullptr
protected llvm::MCSection* DwarfLineDWOSection = nullptr
protected llvm::MCSection* DwarfLocDWOSection = nullptr
protected llvm::MCSection* DwarfStrOffDWOSection = nullptr
protected llvm::MCSection* DwarfMacinfoDWOSection = nullptr
protected llvm::MCSection* DwarfStrOffSection = nullptr
The DWARF v5 string offset and address table sections.
protected llvm::MCSection* DwarfAddrSection = nullptr
protected llvm::MCSection* DwarfRnglistsSection = nullptr
The DWARF v5 range list section.
protected llvm::MCSection* DwarfLoclistsSection = nullptr
The DWARF v5 locations list section.
protected llvm::MCSection* DwarfRnglistsDWOSection = nullptr
The DWARF v5 range and location list sections for fission.
protected llvm::MCSection* DwarfLoclistsDWOSection = nullptr
protected llvm::MCSection* DwarfCUIndexSection = nullptr
protected llvm::MCSection* DwarfTUIndexSection = nullptr
protected llvm::MCSection* DwarfGnuPubNamesSection = nullptr
Section for newer gnu pubnames.
protected llvm::MCSection* DwarfGnuPubTypesSection = nullptr
Section for newer gnu pubtypes.
protected llvm::MCSection* DwarfSwiftASTSection = nullptr
protected llvm::MCSection* COFFDebugSymbolsSection = nullptr
protected llvm::MCSection* COFFDebugTypesSection = nullptr
protected llvm::MCSection* COFFGlobalTypeHashesSection = nullptr
protected llvm::MCSection* TLSExtraDataSection = nullptr
If the target needs to put additional information for a TLS variable, it'll go here.
protected llvm::MCSection* TLSDataSection = nullptr
Section directive for Thread Local data. ELF, MachO, COFF, and Wasm.
protected llvm::MCSection* TLSBSSSection = nullptr
Null if this target doesn't support a BSS section. ELF and MachO only.
protected llvm::MCSection* StackMapSection = nullptr
StackMap section.
protected llvm::MCSection* FaultMapSection = nullptr
FaultMap section.
protected llvm::MCSection* RemarksSection = nullptr
Remarks section.
protected llvm::MCSection* EHFrameSection = nullptr
It is initialized on demand so it can be overwritten (with uniquing).
protected llvm::MCSection* StackSizesSection = nullptr
Section containing metadata on function stack sizes.
protected int StackSizesUniquing
protected llvm::MCSection* DataRelROSection = nullptr
protected llvm::MCSection* MergeableConst4Section = nullptr
protected llvm::MCSection* MergeableConst8Section = nullptr
protected llvm::MCSection* MergeableConst16Section = nullptr
protected llvm::MCSection* MergeableConst32Section = nullptr
protected llvm::MCSection* TLSTLVSection = nullptr
Contains the source code name of the variable, visibility and a pointer to the initial value (.tdata or .tbss).
protected const llvm::MCSection* TLSThreadInitSection = nullptr
Section for thread local data initialization functions.
protected llvm::MCSection* CStringSection = nullptr
protected llvm::MCSection* UStringSection = nullptr
protected llvm::MCSection* TextCoalSection = nullptr
protected llvm::MCSection* ConstTextCoalSection = nullptr
protected llvm::MCSection* ConstDataSection = nullptr
protected llvm::MCSection* DataCoalSection = nullptr
protected llvm::MCSection* ConstDataCoalSection = nullptr
protected llvm::MCSection* DataCommonSection = nullptr
protected llvm::MCSection* DataBSSSection = nullptr
protected llvm::MCSection* FourByteConstantSection = nullptr
protected llvm::MCSection* EightByteConstantSection = nullptr
protected llvm::MCSection* SixteenByteConstantSection = nullptr
protected llvm::MCSection* LazySymbolPointerSection = nullptr
protected llvm::MCSection* NonLazySymbolPointerSection = nullptr
protected llvm::MCSection* ThreadLocalPointerSection = nullptr
protected llvm::MCSection* DrectveSection = nullptr
COFF specific sections.
protected llvm::MCSection* PDataSection = nullptr
protected llvm::MCSection* XDataSection = nullptr
protected llvm::MCSection* SXDataSection = nullptr
protected llvm::MCSection* GFIDsSection = nullptr
protected llvm::MCSection* GLJMPSection = nullptr

Method Overview

Methods

void InitMCObjectFileInfo(
    const llvm::Triple& TT,
    bool PIC,
    llvm::MCContext& ctx,
    bool LargeCodeModel = false)

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:220

Parameters

const llvm::Triple& TT
bool PIC
llvm::MCContext& ctx
bool LargeCodeModel = false

llvm::MCSection* getBSSSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:245

llvm::MCSection* getCOFFDebugSymbolsSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:314

llvm::MCSection* getCOFFDebugTypesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:317

llvm::MCSection* getCOFFGlobalTypeHashesSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:320

const llvm::MCSection* getCStringSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:354

bool getCommDirectiveSupportsAlignment() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:233

unsigned int getCompactUnwindDwarfEHFrameOnly()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:239

llvm::MCSection* getCompactUnwindSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:248

const llvm::MCSection* getConstDataCoalSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:362

const llvm::MCSection* getConstDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:360

const llvm::MCSection* getConstTextCoalSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:357

llvm::MCSection* getDataBSSSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:366

const llvm::MCSection* getDataCoalSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:361

const llvm::MCSection* getDataCommonSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:365

llvm::MCSection* getDataRelROSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:335

llvm::MCSection* getDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:244

llvm::MCSection* getDrectveSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:387

llvm::MCSection* getDwarfARangesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:270

llvm::MCSection* getDwarfAbbrevDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:294

llvm::MCSection* getDwarfAbbrevSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:249

llvm::MCSection* getDwarfAccelNamesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:279

llvm::MCSection* getDwarfAccelNamespaceSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:283

llvm::MCSection* getDwarfAccelObjCSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:282

llvm::MCSection* getDwarfAccelTypesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:286

llvm::MCSection* getDwarfAddrSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:300

llvm::MCSection* getDwarfCUIndexSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:310

const llvm::MCSection*
getDwarfDebugInlineSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:265

llvm::MCSection* getDwarfDebugNamesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:276

llvm::MCSection* getDwarfFrameSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:256

llvm::MCSection* getDwarfGnuPubNamesSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:259

llvm::MCSection* getDwarfGnuPubTypesSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:262

llvm::MCSection* getDwarfInfoDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:289

llvm::MCSection* getDwarfInfoSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:250

llvm::MCSection* getDwarfInfoSection(
    uint64_t Hash) const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:251

Parameters

uint64_t Hash

llvm::MCSection* getDwarfLineDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:296

llvm::MCSection* getDwarfLineSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:254

llvm::MCSection* getDwarfLineStrSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:255

llvm::MCSection* getDwarfLocDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:297

llvm::MCSection* getDwarfLocSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:269

llvm::MCSection* getDwarfLoclistsDWOSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:304

llvm::MCSection* getDwarfLoclistsSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:273

llvm::MCSection* getDwarfMacinfoDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:307

llvm::MCSection* getDwarfMacinfoSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:274

llvm::MCSection* getDwarfPubNamesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:257

llvm::MCSection* getDwarfPubTypesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:258

llvm::MCSection* getDwarfRangesSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:271

llvm::MCSection* getDwarfRnglistsDWOSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:301

llvm::MCSection* getDwarfRnglistsSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:272

llvm::MCSection* getDwarfStrDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:295

llvm::MCSection* getDwarfStrOffDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:298

llvm::MCSection* getDwarfStrOffSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:299

llvm::MCSection* getDwarfStrSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:268

llvm::MCSection* getDwarfSwiftASTSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:312

llvm::MCSection* getDwarfTUIndexSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:311

llvm::MCSection* getDwarfTypesDWOSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:293

llvm::MCSection* getDwarfTypesSection(
    uint64_t Hash) const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:290

Parameters

uint64_t Hash

llvm::MCSection* getEHFrameSection()

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:394

const llvm::MCSection*
getEightByteConstantSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:370

unsigned int getFDEEncoding() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:237

llvm::MCSection* getFaultMapSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:329

const llvm::MCSection*
getFourByteConstantSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:367

llvm::MCSection* getGFIDsSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:391

llvm::MCSection* getGLJMPSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:392

llvm::MCSection* getLSDASection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:247

llvm::MCSection* getLazySymbolPointerSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:376

const llvm::MCSection*
getMergeableConst16Section() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:342

const llvm::MCSection*
getMergeableConst32Section() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:345

const llvm::MCSection* getMergeableConst4Section()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:336

const llvm::MCSection* getMergeableConst8Section()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:339

llvm::MCSection* getNonLazySymbolPointerSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:379

llvm::MCObjectFileInfo::Environment
getObjectFileType() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:399

bool getOmitDwarfIfHaveCompactUnwind() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:229

llvm::MCSection* getPDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:388

llvm::MCSection* getReadOnlySection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:246

llvm::MCSection* getRemarksSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:330

const llvm::VersionTuple& getSDKVersion() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:424

llvm::MCSection* getSXDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:390

const llvm::MCSection*
getSixteenByteConstantSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:373

llvm::MCSection* getStackMapSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:328

llvm::MCSection* getStackSizesSection(
    const llvm::MCSection& TextSec) const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:332

Parameters

const llvm::MCSection& TextSec

bool getSupportsCompactUnwindWithoutEHFrame()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:226

bool getSupportsWeakOmittedEHFrame() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:223

llvm::MCSection* getTLSBSSSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:326

const llvm::MCSection* getTLSDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:325

llvm::MCSection* getTLSExtraDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:324

const llvm::MCSection* getTLSTLVSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:350

const llvm::MCSection* getTLSThreadInitSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:351

const llvm::Triple& getTargetTriple() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:418

llvm::MCSection* getTextCoalSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:356

llvm::MCSection* getTextSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:243

llvm::MCSection* getThreadLocalPointerSection()
    const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:382

const llvm::MCSection* getUStringSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:355

llvm::MCSection* getXDataSection() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:389

bool isPositionIndependent() const

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:401

void setSDKVersion(
    const llvm::VersionTuple& TheSDKVersion)

Declared at: llvm/include/llvm/MC/MCObjectFileInfo.h:420

Parameters

const llvm::VersionTuple& TheSDKVersion