19 void MCObjectFileInfo::InitMachOMCObjectFileInfo(
Triple T) {
36 MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS,
99 MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS,
155 MCSectionMachO::S_ATTR_DEBUG,
165 MCSectionMachO::S_ATTR_DEBUG,
169 MCSectionMachO::S_ATTR_DEBUG,
174 MCSectionMachO::S_ATTR_DEBUG,
178 MCSectionMachO::S_ATTR_DEBUG,
183 MCSectionMachO::S_ATTR_DEBUG,
187 MCSectionMachO::S_ATTR_DEBUG,
191 MCSectionMachO::S_ATTR_DEBUG,
195 MCSectionMachO::S_ATTR_DEBUG,
199 MCSectionMachO::S_ATTR_DEBUG,
203 MCSectionMachO::S_ATTR_DEBUG,
207 MCSectionMachO::S_ATTR_DEBUG,
211 MCSectionMachO::S_ATTR_DEBUG,
215 MCSectionMachO::S_ATTR_DEBUG,
219 MCSectionMachO::S_ATTR_DEBUG,
223 MCSectionMachO::S_ATTR_DEBUG,
227 MCSectionMachO::S_ATTR_DEBUG,
231 MCSectionMachO::S_ATTR_DEBUG,
235 MCSectionMachO::S_ATTR_DEBUG,
244 void MCObjectFileInfo::InitELFMCObjectFileInfo(
Triple T) {
346 ELF::SHF_WRITE | ELF::SHF_ALLOC,
357 ELF::SHF_WRITE |ELF::SHF_ALLOC,
367 ELF::SHF_ALLOC | ELF::SHF_TLS |
373 ELF::SHF_ALLOC | ELF::SHF_TLS |
379 ELF::SHF_ALLOC |ELF::SHF_WRITE,
384 ELF::SHF_ALLOC |ELF::SHF_WRITE,
389 ELF::SHF_ALLOC |ELF::SHF_WRITE,
394 ELF::SHF_ALLOC |ELF::SHF_WRITE,
399 ELF::SHF_ALLOC |ELF::SHF_MERGE,
404 ELF::SHF_ALLOC |ELF::SHF_MERGE,
409 ELF::SHF_ALLOC |ELF::SHF_MERGE,
414 ELF::SHF_ALLOC |ELF::SHF_WRITE,
419 ELF::SHF_ALLOC |ELF::SHF_WRITE,
453 Ctx->
getELFSection(
".debug_gnu_pubnames", ELF::SHT_PROGBITS, 0,
456 Ctx->
getELFSection(
".debug_gnu_pubtypes", ELF::SHT_PROGBITS, 0,
460 ELF::SHF_MERGE | ELF::SHF_STRINGS,
485 Ctx->
getELFSection(
".apple_namespaces", ELF::SHT_PROGBITS, 0,
496 Ctx->
getELFSection(
".debug_abbrev.dwo", ELF::SHT_PROGBITS, 0,
500 ELF::SHF_MERGE | ELF::SHF_STRINGS,
509 Ctx->
getELFSection(
".debug_str_offsets.dwo", ELF::SHT_PROGBITS, 0,
517 void MCObjectFileInfo::InitCOFFMCObjectFileInfo(
Triple T) {
521 COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA |
522 COFF::IMAGE_SCN_MEM_READ |
523 COFF::IMAGE_SCN_MEM_WRITE,
527 COFF::IMAGE_SCN_CNT_CODE |
528 COFF::IMAGE_SCN_MEM_EXECUTE |
529 COFF::IMAGE_SCN_MEM_READ,
533 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
534 COFF::IMAGE_SCN_MEM_READ |
535 COFF::IMAGE_SCN_MEM_WRITE,
539 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
540 COFF::IMAGE_SCN_MEM_READ,
545 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
546 COFF::IMAGE_SCN_MEM_READ,
551 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
552 COFF::IMAGE_SCN_MEM_READ |
553 COFF::IMAGE_SCN_MEM_WRITE,
561 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
562 COFF::IMAGE_SCN_MEM_READ,
567 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
568 COFF::IMAGE_SCN_MEM_READ |
569 COFF::IMAGE_SCN_MEM_WRITE,
579 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
580 COFF::IMAGE_SCN_MEM_READ,
586 COFF::IMAGE_SCN_MEM_DISCARDABLE |
587 COFF::IMAGE_SCN_MEM_READ,
591 COFF::IMAGE_SCN_MEM_DISCARDABLE |
592 COFF::IMAGE_SCN_MEM_READ,
596 COFF::IMAGE_SCN_MEM_DISCARDABLE |
597 COFF::IMAGE_SCN_MEM_READ,
601 COFF::IMAGE_SCN_MEM_DISCARDABLE |
602 COFF::IMAGE_SCN_MEM_READ,
606 COFF::IMAGE_SCN_MEM_DISCARDABLE |
607 COFF::IMAGE_SCN_MEM_READ,
611 COFF::IMAGE_SCN_MEM_DISCARDABLE |
612 COFF::IMAGE_SCN_MEM_READ,
616 COFF::IMAGE_SCN_MEM_DISCARDABLE |
617 COFF::IMAGE_SCN_MEM_READ,
621 COFF::IMAGE_SCN_MEM_DISCARDABLE |
622 COFF::IMAGE_SCN_MEM_READ,
626 COFF::IMAGE_SCN_MEM_DISCARDABLE |
627 COFF::IMAGE_SCN_MEM_READ,
631 COFF::IMAGE_SCN_MEM_DISCARDABLE |
632 COFF::IMAGE_SCN_MEM_READ,
636 COFF::IMAGE_SCN_MEM_DISCARDABLE |
637 COFF::IMAGE_SCN_MEM_READ,
641 COFF::IMAGE_SCN_MEM_DISCARDABLE |
642 COFF::IMAGE_SCN_MEM_READ,
646 COFF::IMAGE_SCN_MEM_DISCARDABLE |
647 COFF::IMAGE_SCN_MEM_READ,
652 COFF::IMAGE_SCN_LNK_INFO,
657 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
658 COFF::IMAGE_SCN_MEM_READ,
663 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
664 COFF::IMAGE_SCN_MEM_READ,
668 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
669 COFF::IMAGE_SCN_MEM_READ |
670 COFF::IMAGE_SCN_MEM_WRITE,
708 InitMachOMCObjectFileInfo(T);
714 InitCOFFMCObjectFileInfo(T);
717 InitELFMCObjectFileInfo(T);
721 void MCObjectFileInfo::InitEHFrameSection() {
726 MCSectionMachO::S_ATTR_NO_TOC |
727 MCSectionMachO::S_ATTR_STRIP_STATIC_SYMS |
728 MCSectionMachO::S_ATTR_LIVE_SUPPORT,
730 else if (Env == IsELF)
738 COFF::IMAGE_SCN_CNT_INITIALIZED_DATA |
739 COFF::IMAGE_SCN_MEM_READ |
740 COFF::IMAGE_SCN_MEM_WRITE,
const MCSection * NonLazySymbolPointerSection
OSType getOS() const
getOS - Get the parsed operating system type of this triple.
const MCSection * DwarfARangesSection
const MCSection * DwarfFrameSection
static SectionKind getReadOnlyWithRelLocal()
const MCSection * DataRelROSection
const MCSection * DwarfAbbrevDWOSection
const MCSection * DwarfStrDWOSection
const MCSection * DwarfAccelTypesSection
const MCSection * StaticDtorSection
unsigned PersonalityEncoding
const MCSectionELF * getELFSection(StringRef Section, unsigned Type, unsigned Flags, SectionKind Kind)
static SectionKind getDataRel()
const MCSection * ConstTextCoalSection
static SectionKind getDataRelLocal()
static SectionKind getMergeableConst8()
static SectionKind getMergeableConst16()
const MCSection * DataCoalSection
static SectionKind getMergeable1ByteCString()
const MCSection * DwarfStrSection
const MCSection * StackMapSection
StackMap section.
static SectionKind getMergeableConst4()
const MCSection * DataBSSSection
const MCSection * DwarfInfoSection
const MCSection * DwarfAccelNamespaceSection
const MCSection * DwarfAbbrevSection
const MCSection * EightByteConstantSection
static SectionKind getBSS()
const MCSection * DataRelSection
const MCSection * DwarfLocSection
const MCSection * DwarfPubNamesSection
unsigned isMacOSXVersionLT(unsigned Major, unsigned Minor=0, unsigned Micro=0) const
const MCSection * DwarfDebugInlineSection
ArchType getArch() const
getArch - Get the parsed architecture type of this triple.
const MCSection * DwarfMacroInfoSection
static SectionKind getThreadData()
bool IsFunctionEHFrameSymbolPrivate
const MCSection * DwarfLineSection
const MCSection * LazySymbolPointerSection
const MCSection * DwarfGnuPubTypesSection
void InitMCObjectFileInfo(StringRef TT, Reloc::Model RM, CodeModel::Model CM, MCContext &ctx)
const MCSection * DwarfInfoDWOSection
These are used for the Fission separate debug information files.
const MCSection * MergeableConst8Section
const MCSection * XDataSection
const MCSection * BSSSection
BSSSection - Section that is default initialized to zero.
const MCSection * TextSection
const MCSection * DataRelLocalSection
const MCSection * TLSExtraDataSection
bool CommDirectiveSupportsAlignment
const MCSectionCOFF * getCOFFSection(StringRef Section, unsigned Characteristics, SectionKind Kind, int Selection=0, const MCSectionCOFF *Assoc=0)
const MCSection * DwarfPubTypesSection
bool isOSDarwin() const
isOSDarwin - Is this a "Darwin" OS (OS X or iOS).
const MCSection * LSDASection
static SectionKind getThreadBSS()
const MCSection * DwarfAccelObjCSection
const MCSection * DrectveSection
static SectionKind getMetadata()
static SectionKind getReadOnlyWithRel()
const MCSection * ReadOnlySection
const MCSection * CStringSection
const MCSection * TLSBSSSection
const MCSection * EHFrameSection
static SectionKind getMergeable2ByteCString()
const MCSection * DataRelROLocalSection
const MCSection * SixteenByteConstantSection
const MCSection * StaticCtorSection
unsigned CompactUnwindDwarfEHFrameOnly
const MCSection * MergeableConst16Section
const MCSection * TLSTLVSection
const MCSection * TLSDataSection
const MCSection * FourByteConstantSection
const MCSection * TextCoalSection
const MCSection * DwarfLocDWOSection
const MCSection * DwarfLineDWOSection
const MCSection * DataSection
const MCSection * DwarfAddrSection
EnvironmentType getEnvironment() const
getEnvironment - Get the parsed environment type of this triple.
const MCSection * UStringSection
const MCSection * TLSThreadInitSection
unsigned EHSectionType
Section flags for eh_frame.
const MCSection * CompactUnwindSection
bool SupportsWeakOmittedEHFrame
const MCSection * DwarfGnuPubNamesSection
Sections for newer gnu pubnames and pubtypes.
const MCSection * DwarfAccelNamesSection
const MCSectionMachO * getMachOSection(StringRef Segment, StringRef Section, unsigned TypeAndAttributes, unsigned Reserved2, SectionKind K)
const MCSection * DwarfStrOffDWOSection
const MCSection * MergeableConst4Section
const MCSection * ConstDataSection
const MCSection * PDataSection
static SectionKind getReadOnly()
const MCSection * DwarfRangesSection
const MCSection * DataCommonSection
static SectionKind getText()