diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-01 23:46:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-01 23:46:12 +0000 |
commit | 83d77faf6e8fc2c1c2377d037283dc162d8667a1 (patch) | |
tree | cd4f74cf10362426bfb894be3eb9b94b3d8c3fde /lib/CodeGen/ELFWriter.cpp | |
parent | 0da3f4f742bd70e4f12d2f16f766f978417683f1 (diff) | |
download | external_llvm-83d77faf6e8fc2c1c2377d037283dc162d8667a1.zip external_llvm-83d77faf6e8fc2c1c2377d037283dc162d8667a1.tar.gz external_llvm-83d77faf6e8fc2c1c2377d037283dc162d8667a1.tar.bz2 |
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.
The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77833 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ELFWriter.cpp')
-rw-r--r-- | lib/CodeGen/ELFWriter.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/CodeGen/ELFWriter.cpp b/lib/CodeGen/ELFWriter.cpp index 1d33c7e..be1e6bf 100644 --- a/lib/CodeGen/ELFWriter.cpp +++ b/lib/CodeGen/ELFWriter.cpp @@ -178,7 +178,13 @@ void ELFWriter::addExternalSymbol(const char *External) { // Get jump table section on the section name returned by TAI ELFSection &ELFWriter::getJumpTableSection() { unsigned Align = TM.getTargetData()->getPointerABIAlignment(); - return getSection(TAI->getJumpTableDataSection(), + + const TargetLoweringObjectFile &TLOF = + TM.getTargetLowering()->getObjFileLowering(); + + return getSection(TLOF.getSectionForConstant( + SectionKind::get(SectionKind::ReadOnly)) + ->getName(), ELFSection::SHT_PROGBITS, ELFSection::SHF_ALLOC, Align); } @@ -204,7 +210,7 @@ ELFSection &ELFWriter::getConstantPoolSection(MachineConstantPoolEntry &CPE) { const TargetLoweringObjectFile &TLOF = TM.getTargetLowering()->getObjFileLowering(); - return getSection(TLOF.getSectionForMergeableConstant(Kind)->getName(), + return getSection(TLOF.getSectionForConstant(Kind)->getName(), ELFSection::SHT_PROGBITS, ELFSection::SHF_MERGE | ELFSection::SHF_ALLOC, CPE.getAlignment()); |