mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
MC/Mach-O: Add MCSectionMachO::getType()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98582 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
689fac0226
commit
99d22adcad
@ -151,10 +151,12 @@ public:
|
||||
return StringRef(SectionName, 16);
|
||||
return StringRef(SectionName);
|
||||
}
|
||||
|
||||
|
||||
unsigned getTypeAndAttributes() const { return TypeAndAttributes; }
|
||||
unsigned getStubSize() const { return Reserved2; }
|
||||
|
||||
|
||||
unsigned getType() const { return TypeAndAttributes & SECTION_TYPE; }
|
||||
|
||||
/// 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
|
||||
@ -165,7 +167,7 @@ public:
|
||||
StringRef &Section, // Out.
|
||||
unsigned &TAA, // Out.
|
||||
unsigned &StubSize); // Out.
|
||||
|
||||
|
||||
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
|
||||
raw_ostream &OS) const;
|
||||
};
|
||||
|
@ -52,8 +52,7 @@ static uint64_t WriteNopData(uint64_t Count, MachObjectWriter &MOW);
|
||||
static bool isVirtualSection(const MCSection &Section) {
|
||||
// FIXME: Lame.
|
||||
const MCSectionMachO &SMO = static_cast<const MCSectionMachO&>(Section);
|
||||
unsigned Type = SMO.getTypeAndAttributes() & MCSectionMachO::SECTION_TYPE;
|
||||
return (Type == MCSectionMachO::S_ZEROFILL);
|
||||
return (SMO.getType() == MCSectionMachO::S_ZEROFILL);
|
||||
}
|
||||
|
||||
static unsigned getFixupKindLog2Size(unsigned Kind) {
|
||||
@ -615,9 +614,7 @@ public:
|
||||
const MCSectionMachO &Section =
|
||||
static_cast<const MCSectionMachO&>(it->SectionData->getSection());
|
||||
|
||||
unsigned Type =
|
||||
Section.getTypeAndAttributes() & MCSectionMachO::SECTION_TYPE;
|
||||
if (Type != MCSectionMachO::S_NON_LAZY_SYMBOL_POINTERS)
|
||||
if (Section.getType() != MCSectionMachO::S_NON_LAZY_SYMBOL_POINTERS)
|
||||
continue;
|
||||
|
||||
Asm.getOrCreateSymbolData(*it->Symbol);
|
||||
@ -630,10 +627,8 @@ public:
|
||||
const MCSectionMachO &Section =
|
||||
static_cast<const MCSectionMachO&>(it->SectionData->getSection());
|
||||
|
||||
unsigned Type =
|
||||
Section.getTypeAndAttributes() & MCSectionMachO::SECTION_TYPE;
|
||||
if (Type != MCSectionMachO::S_LAZY_SYMBOL_POINTERS &&
|
||||
Type != MCSectionMachO::S_SYMBOL_STUBS)
|
||||
if (Section.getType() != MCSectionMachO::S_LAZY_SYMBOL_POINTERS &&
|
||||
Section.getType() != MCSectionMachO::S_SYMBOL_STUBS)
|
||||
continue;
|
||||
|
||||
// Set the symbol type to undefined lazy, but only on construction.
|
||||
@ -911,9 +906,7 @@ public:
|
||||
// special handling.
|
||||
const MCSectionMachO &Section =
|
||||
static_cast<const MCSectionMachO&>(it->SectionData->getSection());
|
||||
unsigned Type =
|
||||
Section.getTypeAndAttributes() & MCSectionMachO::SECTION_TYPE;
|
||||
if (Type == MCSectionMachO::S_NON_LAZY_SYMBOL_POINTERS) {
|
||||
if (Section.getType() == MCSectionMachO::S_NON_LAZY_SYMBOL_POINTERS) {
|
||||
// If this symbol is defined and internal, mark it as such.
|
||||
if (it->Symbol->isDefined() &&
|
||||
!Asm.getSymbolData(*it->Symbol).isExternal()) {
|
||||
|
Loading…
Reference in New Issue
Block a user