42 void MCObjectFileInfo::initMachOMCObjectFileInfo(
Triple T) {
247 void MCObjectFileInfo::initELFMCObjectFileInfo(
Triple T) {
529 void MCObjectFileInfo::initCOFFMCObjectFileInfo(
Triple T) {
577 assert(T.
isOSWindows() &&
"Windows is the only supported COFF target");
627 ".debug_gnu_pubnames",
632 ".debug_gnu_pubtypes",
687 ".debug_str_offsets.dwo",
780 initMachOMCObjectFileInfo(TT);
785 initCOFFMCObjectFileInfo(TT);
788 initELFMCObjectFileInfo(TT);
803 void MCObjectFileInfo::InitEHFrameSection() {
812 else if (Env ==
IsELF)
Instances of this class represent a uniqued identifier for a section in the current translation unit...
MCSection * MergeableConst4Section
S_NON_LAZY_SYMBOL_POINTERS - Section with non-lazy symbol pointers.
const MCAsmInfo * getAsmInfo() const
bool isOSBinFormatMachO() const
Tests whether the environment is MachO.
MCSection * DwarfPubTypesSection
MCSection * DwarfGnuPubTypesSection
Section for newer gnu pubtypes.
MCSection * StackMapSection
StackMap section.
MCSection * ConstDataSection
MCSection * SixteenByteConstantSection
MCSectionELF * getELFSection(StringRef Section, unsigned Type, unsigned Flags)
unsigned PersonalityEncoding
Some encoding values for EH.
MCSection * TextSection
Section directive for standard text.
static SectionKind getDataRel()
MCSection * ConstTextCoalSection
MCSection * DataCoalSection
MCSection * LazySymbolPointerSection
static SectionKind getMergeableConst8()
static SectionKind getMergeableConst16()
MCSection * DataRelSection
static SectionKind getMergeable1ByteCString()
S_THREAD_LOCAL_VARIABLES - Section with thread local variable structure data.
setjmp/longjmp based exceptions
MCSection * getDwarfTypesSection(uint64_t Hash) const
static SectionKind getMergeableConst4()
static bool useCompactUnwind(const Triple &T)
bool isOSWindows() const
Tests whether the OS is Windows.
MCSection * DwarfInfoDWOSection
bool isMacOSX() const
isMacOSX - Is this a Mac OS X triple.
S_4BYTE_LITERALS - Section with 4 byte literals.
static SectionKind getBSS()
MCSection * DwarfLocDWOSection
MCSection * MergeableConst16Section
MCSection * DwarfPubNamesSection
MCSection * DwarfLineSection
S_8BYTE_LITERALS - Section with 8 byte literals.
MCSection * StaticDtorSection
This section contains the static destructor pointer list.
ObjectFormatType getObjectFormat() const
getFormat - Get the object format for this triple.
MCSection * EightByteConstantSection
S_MOD_TERM_FUNC_POINTERS - Section with only function pointers for termination.
MCSection * DwarfFrameSection
MCSection * TLSDataSection
Section directive for Thread Local data. ELF, MachO and COFF.
Context object for machine code objects.
unsigned isMacOSXVersionLT(unsigned Major, unsigned Minor=0, unsigned Micro=0) const
isMacOSXVersionLT - Comparison function for checking OS X version compatibility, which handles suppor...
MCSection * DwarfStrDWOSection
MCSection * DataCommonSection
const MCSection * DwarfDebugInlineSection
MCSectionMachO * getMachOSection(StringRef Segment, StringRef Section, unsigned TypeAndAttributes, unsigned Reserved2, SectionKind K, const char *BeginSymName=nullptr)
Return the MCSection for the specified mach-o section.
MCSection * DrectveSection
COFF specific sections.
static std::string utostr(uint64_t X, bool isNeg=false)
MCSection * DwarfAccelNamesSection
DWARF5 Experimental Debug Info Sections DwarfAccelNamesSection, DwarfAccelObjCSection, DwarfAccelNamespaceSection, DwarfAccelTypesSection - If we use the DWARF accelerated hash tables then we want to emit these sections.
ArchType getArch() const
getArch - Get the parsed architecture type of this triple.
MCSection * DataSection
Section directive for standard data.
bool isiOS() const
Is this an iOS triple.
S_ATTR_STRIP_STATIC_SYMS - Ok to strip static symbols in this section in files with the MY_DYLDLINK f...
S_ATTR_PURE_INSTRUCTIONS - Section contains only true machine instructions.
MCSection * TLSTLVSection
Section for thread local structure information.
S_THREAD_LOCAL_ZEROFILL - Thread local zerofill section.
const MCSection * DataRelLocalSection
MCSection * DwarfStrSection
MCSection * DwarfAccelNamespaceSection
ExceptionHandling getExceptionHandlingType() const
MCSection * UStringSection
S_THREAD_LOCAL_REGULAR - Thread local data section.
bool SupportsCompactUnwindWithoutEHFrame
True if the target object file supports emitting a compact unwind section without an associated EH fr...
S_CSTRING_LITERALS - Section with literal C strings.
bool CommDirectiveSupportsAlignment
True if .comm supports alignment.
S_ATTR_LIVE_SUPPORT - Blocks are live if they reference live blocks.
MCSection * DataRelROLocalSection
MCSection * DwarfInfoSection
MCSection * StaticCtorSection
This section contains the static constructor pointer list.
Triple - Helper class for working with autoconf configuration names.
MCSection * COFFDebugSymbolsSection
MCSection * DwarfAbbrevSection
bool isOSDarwin() const
isOSDarwin - Is this a "Darwin" OS (OS X or iOS).
MCSection * EHFrameSection
EH frame section.
S_LAZY_SYMBOL_POINTERS - Section with lazy symbol pointers.
MCSection * DwarfTypesDWOSection
static SectionKind getThreadBSS()
MCSection * DwarfAddrSection
MCSection * DwarfLineDWOSection
MCSection * DwarfRangesSection
static SectionKind getMetadata()
static SectionKind getReadOnlyWithRel()
MCSection * DwarfARangesSection
MCSection * DataBSSSection
MCSection * CompactUnwindSection
If exception handling is supported by the target and the target can support a compact representation ...
MCSection * DwarfAccelTypesSection
S_THREAD_LOCAL_INIT_FUNCTION_POINTERS - Section with thread local variable initialization pointers to...
MCSection * DwarfStrOffDWOSection
S_16BYTE_LITERALS - Section with only 16 byte literals.
void InitMCObjectFileInfo(const Triple &TT, Reloc::Model RM, CodeModel::Model CM, MCContext &ctx)
MCSection * DwarfGnuPubNamesSection
Section for newer gnu pubnames.
MCSection * DwarfAbbrevDWOSection
MCSection * FaultMapSection
FaultMap section.
MCSection * FourByteConstantSection
static SectionKind getMergeable2ByteCString()
MCSection * SXDataSection
MCSection * LSDASection
If exception handling is supported by the target, this is the section the Language Specific Data Area...
MCSection * TLSExtraDataSection
Extra TLS Variable Data section.
unsigned CompactUnwindDwarfEHFrameOnly
Compact unwind encoding indicating that we should emit only an EH frame.
S_ATTR_DEBUG - A debug section.
MCSection * DwarfAccelObjCSection
MCSectionCOFF * getCOFFSection(StringRef Section, unsigned Characteristics, SectionKind Kind, StringRef COMDATSymName, int Selection, const char *BeginSymName=nullptr)
S_COALESCED - Section contains symbols that are to be coalesced.
MCSection * TLSBSSSection
Section directive for Thread Local uninitialized data.
MCSection * NonLazySymbolPointerSection
MCSection * TextCoalSection
const MCSection * TLSThreadInitSection
Section for thread local data initialization functions.
MCSection * CStringSection
unsigned EHSectionType
Section flags for eh_frame.
bool isKnownWindowsMSVCEnvironment() const
bool isWindowsItaniumEnvironment() const
bool SupportsWeakOmittedEHFrame
True if target object file supports a weak_definition of constant 0 for an omitted EH frame...
std::string Hash(const Unit &U)
MCSection * BSSSection
Section that is default initialized to zero.
StringRef - Represent a constant reference to a string, i.e.
MCSection * ReadOnlySection
Section that is readonly and can contain arbitrary initialized data.
S_ZEROFILL - Zero fill on demand section.
MCSection * DataRelROSection
S_MOD_INIT_FUNC_POINTERS - Section with only function pointers for initialization.
static SectionKind getReadOnly()
S_ATTR_NO_TOC - Section contains coalesced symbols that are not to be in a ranlib table of contents...
MCSection * DwarfLocSection
static SectionKind getText()
MCSection * MergeableConst8Section