Pass a MCSymbolELF to a few ELF only functions. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238868 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2015-06-02 21:30:13 +00:00
parent 6af0f89f37
commit 4cc59a13c7
5 changed files with 14 additions and 14 deletions

View File

@ -343,18 +343,18 @@ namespace llvm {
MCSectionELF *getELFSection(StringRef Section, unsigned Type, MCSectionELF *getELFSection(StringRef Section, unsigned Type,
unsigned Flags, unsigned EntrySize, unsigned Flags, unsigned EntrySize,
const MCSymbol *Group, unsigned UniqueID, const MCSymbolELF *Group, unsigned UniqueID,
const char *BeginSymName, const char *BeginSymName,
const MCSectionELF *Associated); const MCSectionELF *Associated);
MCSectionELF *createELFRelSection(StringRef Name, unsigned Type, MCSectionELF *createELFRelSection(StringRef Name, unsigned Type,
unsigned Flags, unsigned EntrySize, unsigned Flags, unsigned EntrySize,
const MCSymbol *Group, const MCSymbolELF *Group,
const MCSectionELF *Associated); const MCSectionELF *Associated);
void renameELFSection(MCSectionELF *Section, StringRef Name); void renameELFSection(MCSectionELF *Section, StringRef Name);
MCSectionELF *createELFGroupSection(const MCSymbol *Group); MCSectionELF *createELFGroupSection(const MCSymbolELF *Group);
MCSectionCOFF *getCOFFSection(StringRef Section, unsigned Characteristics, MCSectionCOFF *getCOFFSection(StringRef Section, unsigned Characteristics,
SectionKind Kind, StringRef COMDATSymName, SectionKind Kind, StringRef COMDATSymName,

View File

@ -16,7 +16,7 @@
#include "llvm/ADT/Twine.h" #include "llvm/ADT/Twine.h"
#include "llvm/MC/MCSection.h" #include "llvm/MC/MCSection.h"
#include "llvm/MC/MCSymbol.h" #include "llvm/MC/MCSymbolELF.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
#include "llvm/Support/ELF.h" #include "llvm/Support/ELF.h"
#include "llvm/Support/raw_ostream.h" #include "llvm/Support/raw_ostream.h"
@ -46,7 +46,7 @@ class MCSectionELF : public MCSection {
/// section does not contain fixed-sized entries 'EntrySize' will be 0. /// section does not contain fixed-sized entries 'EntrySize' will be 0.
unsigned EntrySize; unsigned EntrySize;
const MCSymbol *Group; const MCSymbolELF *Group;
/// Depending on the type of the section this is sh_link or sh_info. /// Depending on the type of the section this is sh_link or sh_info.
const MCSectionELF *Associated; const MCSectionELF *Associated;
@ -54,7 +54,7 @@ class MCSectionELF : public MCSection {
private: private:
friend class MCContext; friend class MCContext;
MCSectionELF(StringRef Section, unsigned type, unsigned flags, SectionKind K, MCSectionELF(StringRef Section, unsigned type, unsigned flags, SectionKind K,
unsigned entrySize, const MCSymbol *group, unsigned UniqueID, unsigned entrySize, const MCSymbolELF *group, unsigned UniqueID,
MCSymbol *Begin, const MCSectionELF *Associated) MCSymbol *Begin, const MCSectionELF *Associated)
: MCSection(SV_ELF, K, Begin), SectionName(Section), Type(type), : MCSection(SV_ELF, K, Begin), SectionName(Section), Type(type),
Flags(flags), UniqueID(UniqueID), EntrySize(entrySize), Group(group), Flags(flags), UniqueID(UniqueID), EntrySize(entrySize), Group(group),
@ -73,7 +73,7 @@ public:
unsigned getType() const { return Type; } unsigned getType() const { return Type; }
unsigned getFlags() const { return Flags; } unsigned getFlags() const { return Flags; }
unsigned getEntrySize() const { return EntrySize; } unsigned getEntrySize() const { return EntrySize; }
const MCSymbol *getGroup() const { return Group; } const MCSymbolELF *getGroup() const { return Group; }
void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS, void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS,
const MCExpr *Subsection) const override; const MCExpr *Subsection) const override;

View File

@ -1242,7 +1242,7 @@ void ELFObjectWriter::WriteObject(MCAssembler &Asm,
// Remember the offset into the file for this section. // Remember the offset into the file for this section.
uint64_t SecStart = OS.tell(); uint64_t SecStart = OS.tell();
const MCSymbol *SignatureSymbol = Section.getGroup(); const MCSymbolELF *SignatureSymbol = Section.getGroup();
writeSectionData(Asm, Section, Layout); writeSectionData(Asm, Section, Layout);
uint64_t SecEnd = OS.tell(); uint64_t SecEnd = OS.tell();

View File

@ -302,7 +302,7 @@ void MCContext::renameELFSection(MCSectionELF *Section, StringRef Name) {
MCSectionELF *MCContext::createELFRelSection(StringRef Name, unsigned Type, MCSectionELF *MCContext::createELFRelSection(StringRef Name, unsigned Type,
unsigned Flags, unsigned EntrySize, unsigned Flags, unsigned EntrySize,
const MCSymbol *Group, const MCSymbolELF *Group,
const MCSectionELF *Associated) { const MCSectionELF *Associated) {
StringMap<bool>::iterator I; StringMap<bool>::iterator I;
bool Inserted; bool Inserted;
@ -317,9 +317,9 @@ MCSectionELF *MCContext::getELFSection(StringRef Section, unsigned Type,
unsigned Flags, unsigned EntrySize, unsigned Flags, unsigned EntrySize,
StringRef Group, unsigned UniqueID, StringRef Group, unsigned UniqueID,
const char *BeginSymName) { const char *BeginSymName) {
MCSymbol *GroupSym = nullptr; MCSymbolELF *GroupSym = nullptr;
if (!Group.empty()) if (!Group.empty())
GroupSym = getOrCreateSymbol(Group); GroupSym = cast<MCSymbolELF>(getOrCreateSymbol(Group));
return getELFSection(Section, Type, Flags, EntrySize, GroupSym, UniqueID, return getELFSection(Section, Type, Flags, EntrySize, GroupSym, UniqueID,
BeginSymName, nullptr); BeginSymName, nullptr);
@ -327,7 +327,7 @@ MCSectionELF *MCContext::getELFSection(StringRef Section, unsigned Type,
MCSectionELF *MCContext::getELFSection(StringRef Section, unsigned Type, MCSectionELF *MCContext::getELFSection(StringRef Section, unsigned Type,
unsigned Flags, unsigned EntrySize, unsigned Flags, unsigned EntrySize,
const MCSymbol *GroupSym, const MCSymbolELF *GroupSym,
unsigned UniqueID, unsigned UniqueID,
const char *BeginSymName, const char *BeginSymName,
const MCSectionELF *Associated) { const MCSectionELF *Associated) {
@ -360,7 +360,7 @@ MCSectionELF *MCContext::getELFSection(StringRef Section, unsigned Type,
return Result; return Result;
} }
MCSectionELF *MCContext::createELFGroupSection(const MCSymbol *Group) { MCSectionELF *MCContext::createELFGroupSection(const MCSymbolELF *Group) {
MCSectionELF *Result = new (*this) MCSectionELF *Result = new (*this)
MCSectionELF(".group", ELF::SHT_GROUP, 0, SectionKind::getReadOnly(), 4, MCSectionELF(".group", ELF::SHT_GROUP, 0, SectionKind::getReadOnly(), 4,
Group, ~0, nullptr, nullptr); Group, ~0, nullptr, nullptr);

View File

@ -1022,7 +1022,7 @@ inline void ARMELFStreamer::SwitchToEHSection(const char *Prefix,
} }
// Get .ARM.extab or .ARM.exidx section // Get .ARM.extab or .ARM.exidx section
const MCSymbol *Group = FnSection.getGroup(); const MCSymbolELF *Group = FnSection.getGroup();
if (Group) if (Group)
Flags |= ELF::SHF_GROUP; Flags |= ELF::SHF_GROUP;
MCSectionELF *EHSection = MCSectionELF *EHSection =