mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-27 13:40:30 +00:00
Use MCSectionELF in places we know we have an ELF section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118699 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3355c4e598
commit
4283f4b81e
@ -30,6 +30,7 @@ namespace llvm {
|
||||
class StringRef;
|
||||
class Twine;
|
||||
class MCSectionMachO;
|
||||
class MCSectionELF;
|
||||
|
||||
/// MCContext - Context object for machine code objects. This class owns all
|
||||
/// of the sections that it creates.
|
||||
@ -138,9 +139,9 @@ namespace llvm {
|
||||
return getMachOSection(Segment, Section, TypeAndAttributes, 0, K);
|
||||
}
|
||||
|
||||
const MCSection *getELFSection(StringRef Section, unsigned Type,
|
||||
unsigned Flags, SectionKind Kind,
|
||||
unsigned EntrySize = 0);
|
||||
const MCSectionELF *getELFSection(StringRef Section, unsigned Type,
|
||||
unsigned Flags, SectionKind Kind,
|
||||
unsigned EntrySize = 0);
|
||||
|
||||
const MCSection *getCOFFSection(StringRef Section, unsigned Characteristics,
|
||||
int Selection, SectionKind Kind);
|
||||
|
@ -1048,7 +1048,7 @@ void ELFObjectWriterImpl::WriteRelocation(MCAssembler &Asm, MCAsmLayout &Layout,
|
||||
const MCSectionData &SD) {
|
||||
if (!Relocations[&SD].empty()) {
|
||||
MCContext &Ctx = Asm.getContext();
|
||||
const MCSection *RelaSection;
|
||||
const MCSectionELF *RelaSection;
|
||||
const MCSectionELF &Section =
|
||||
static_cast<const MCSectionELF&>(SD.getSection());
|
||||
|
||||
@ -1154,14 +1154,14 @@ void ELFObjectWriterImpl::CreateMetadataSections(MCAssembler &Asm,
|
||||
unsigned NumRegularSections = Asm.size();
|
||||
|
||||
// We construct .shstrtab, .symtab and .strtab in this order to match gnu as.
|
||||
const MCSection *ShstrtabSection =
|
||||
const MCSectionELF *ShstrtabSection =
|
||||
Ctx.getELFSection(".shstrtab", ELF::SHT_STRTAB, 0,
|
||||
SectionKind::getReadOnly(), false);
|
||||
MCSectionData &ShstrtabSD = Asm.getOrCreateSectionData(*ShstrtabSection);
|
||||
ShstrtabSD.setAlignment(1);
|
||||
ShstrtabIndex = Asm.size();
|
||||
|
||||
const MCSection *SymtabSection =
|
||||
const MCSectionELF *SymtabSection =
|
||||
Ctx.getELFSection(".symtab", ELF::SHT_SYMTAB, 0,
|
||||
SectionKind::getReadOnly(),
|
||||
EntrySize);
|
||||
@ -1172,7 +1172,7 @@ void ELFObjectWriterImpl::CreateMetadataSections(MCAssembler &Asm,
|
||||
MCSectionData *SymtabShndxSD = NULL;
|
||||
|
||||
if (NeedsSymtabShndx) {
|
||||
const MCSection *SymtabShndxSection =
|
||||
const MCSectionELF *SymtabShndxSection =
|
||||
Ctx.getELFSection(".symtab_shndx", ELF::SHT_SYMTAB_SHNDX, 0,
|
||||
SectionKind::getReadOnly(), 4);
|
||||
SymtabShndxSD = &Asm.getOrCreateSectionData(*SymtabShndxSection);
|
||||
@ -1350,8 +1350,8 @@ void ELFObjectWriterImpl::WriteObject(MCAssembler &Asm,
|
||||
|
||||
case ELF::SHT_REL:
|
||||
case ELF::SHT_RELA: {
|
||||
const MCSection *SymtabSection;
|
||||
const MCSection *InfoSection;
|
||||
const MCSectionELF *SymtabSection;
|
||||
const MCSectionELF *InfoSection;
|
||||
|
||||
SymtabSection = Asm.getContext().getELFSection(".symtab", ELF::SHT_SYMTAB, 0,
|
||||
SectionKind::getReadOnly(),
|
||||
|
@ -148,8 +148,7 @@ getMachOSection(StringRef Segment, StringRef Section,
|
||||
Reserved2, Kind);
|
||||
}
|
||||
|
||||
|
||||
const MCSection *MCContext::
|
||||
const MCSectionELF *MCContext::
|
||||
getELFSection(StringRef Section, unsigned Type, unsigned Flags,
|
||||
SectionKind Kind, unsigned EntrySize) {
|
||||
if (ELFUniquingMap == 0)
|
||||
|
Loading…
Reference in New Issue
Block a user