|
LLVM
4.0.0
|
This represents a section on a Mach-O system (used by Mac OS X). More...
#include <MCSectionMachO.h>
Static Public Member Functions | |
| static std::string | ParseSectionSpecifier (StringRef Spec, StringRef &Segment, StringRef &Section, unsigned &TAA, bool &TAAParsed, unsigned &StubSize) |
| Parse the section specifier indicated by "Spec". More... | |
| static bool | classof (const MCSection *S) |
Static Public Member Functions inherited from llvm::MCSection | |
| static FragmentListType MCSection::* | getSublistAccess (MCFragment *) |
| Support for MCFragment::getNextNode(). More... | |
Friends | |
| class | MCContext |
Additional Inherited Members | |
Public Types inherited from llvm::MCSection | |
| enum | SectionVariant { SV_COFF = 0, SV_ELF, SV_MachO } |
| enum | BundleLockStateType { NotBundleLocked, BundleLocked, BundleLockedAlignToEnd } |
| Express the state of bundle locked groups while emitting code. More... | |
| typedef iplist< MCFragment > | FragmentListType |
| typedef FragmentListType::const_iterator | const_iterator |
| typedef FragmentListType::iterator | iterator |
| typedef FragmentListType::const_reverse_iterator | const_reverse_iterator |
| typedef FragmentListType::reverse_iterator | reverse_iterator |
Protected Member Functions inherited from llvm::MCSection | |
| MCSection (SectionVariant V, SectionKind K, MCSymbol *Begin) | |
| ~MCSection () | |
Protected Attributes inherited from llvm::MCSection | |
| SectionVariant | Variant |
| SectionKind | Kind |
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.
Definition at line 84 of file MCSectionMachO.h.
References llvm::MCSection::getVariant(), and llvm::MCSection::SV_MachO.
|
inline |
Definition at line 48 of file MCSectionMachO.h.
References AMDGPU::PT_NOTE::SectionName.
Referenced by canGoAfterDWARF(), canUseLocalRelocation(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), PrintSwitchToSection(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 42 of file MCSectionMachO.h.
Referenced by canGoAfterDWARF(), canUseLocalRelocation(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), PrintSwitchToSection(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 56 of file MCSectionMachO.h.
Referenced by llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), and llvm::MachObjectWriter::writeSection().
|
inline |
Definition at line 58 of file MCSectionMachO.h.
References llvm::MachO::SECTION_TYPE.
Referenced by llvm::MachObjectWriter::bindIndirectSymbols(), canUseLocalRelocation(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), isVirtualSection(), PrintSwitchToSection(), and llvm::MachObjectWriter::writeObject().
|
inline |
Definition at line 55 of file MCSectionMachO.h.
Referenced by llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), and PrintSwitchToSection().
Definition at line 62 of file MCSectionMachO.h.
Referenced by canUseLocalRelocation(), canUsePrivateLabel(), and UseCodeAlign().
|
overridevirtual |
Check whether this section is "virtual", that is has no actual object file contents.
Implements llvm::MCSection.
Definition at line 160 of file MCSectionMachO.cpp.
References getType(), llvm::MachO::S_GB_ZEROFILL, llvm::MachO::S_THREAD_LOCAL_ZEROFILL, and llvm::MachO::S_ZEROFILL.
Referenced by llvm::MachObjectWriter::writeSection().
|
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 a string 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 171 of file MCSectionMachO.cpp.
References llvm::sys::path::begin(), llvm::StringRef::empty(), llvm::sys::path::end(), llvm::find_if(), llvm::StringRef::getAsInteger(), llvm::MachO::S_SYMBOL_STUBS, llvm::MachO::SECTION_TYPE, SectionAttrDescriptors, SectionTypeDescriptors, llvm::StringRef::size(), llvm::SmallVectorTemplateCommon< T >::size(), and llvm::StringRef::split().
Referenced by llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), and llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal().
|
overridevirtual |
Implements llvm::MCSection.
Definition at line 92 of file MCSectionMachO.cpp.
References AssemblerName, assert(), AttrFlag, llvm::StringRef::empty(), getSectionName(), getSegmentName(), getType(), getTypeAndAttributes(), i, llvm::MachO::LAST_KNOWN_SECTION_TYPE, llvm::MachO::SECTION_ATTRIBUTES, SectionAttrDescriptors, SectionTypeDescriptors, and Separator.
|
overridevirtual |
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
Implements llvm::MCSection.
Definition at line 156 of file MCSectionMachO.cpp.
References hasAttribute(), and llvm::MachO::S_ATTR_PURE_INSTRUCTIONS.
|
friend |
Definition at line 39 of file MCSectionMachO.h.
1.8.6