mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
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:
parent
6af0f89f37
commit
4cc59a13c7
@ -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,
|
||||||
|
@ -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;
|
||||||
|
@ -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();
|
||||||
|
@ -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);
|
||||||
|
@ -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 =
|
||||||
|
Loading…
Reference in New Issue
Block a user