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:
Rafael Espindola 2010-11-10 19:05:07 +00:00
parent 3355c4e598
commit 4283f4b81e
3 changed files with 11 additions and 11 deletions

View File

@ -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);

View File

@ -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(),

View File

@ -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)