diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-11-10 19:05:07 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-11-10 19:05:07 +0000 |
commit | 4283f4b81e8c1cbf5c7a7b51e949e109ae25ff8c (patch) | |
tree | 5eae757984e995d69734c0bb8235e3a693cf6637 /lib/MC | |
parent | 3355c4e5986571da8f16fca060941e4020a4447b (diff) | |
download | external_llvm-4283f4b81e8c1cbf5c7a7b51e949e109ae25ff8c.zip external_llvm-4283f4b81e8c1cbf5c7a7b51e949e109ae25ff8c.tar.gz external_llvm-4283f4b81e8c1cbf5c7a7b51e949e109ae25ff8c.tar.bz2 |
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
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/ELFObjectWriter.cpp | 12 | ||||
-rw-r--r-- | lib/MC/MCContext.cpp | 3 |
2 files changed, 7 insertions, 8 deletions
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index 313f2e2..ec7091f 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -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(), diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp index 3b96264..bafa10a 100644 --- a/lib/MC/MCContext.cpp +++ b/lib/MC/MCContext.cpp @@ -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) |