make SectionKind know whether a symbol is weak or not in addition

to its classification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77140 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-07-26 07:00:12 +00:00
parent 37939c910f
commit 4c50922f6b
4 changed files with 45 additions and 36 deletions

View File

@@ -157,14 +157,16 @@ ELFSection &ELFWriter::getConstantPoolSection(MachineConstantPoolEntry &CPE) {
SectionKind Kind;
switch (CPE.getRelocationInfo()) {
default: llvm_unreachable("Unknown section kind");
case 2: Kind = SectionKind::get(SectionKind::ReadOnlyWithRel); break;
case 1: Kind = SectionKind::get(SectionKind::ReadOnlyWithRelLocal); break;
case 2: Kind = SectionKind::get(SectionKind::ReadOnlyWithRel,false); break;
case 1:
Kind = SectionKind::get(SectionKind::ReadOnlyWithRelLocal,false);
break;
case 0:
switch (TM.getTargetData()->getTypeAllocSize(CPE.getType())) {
case 4: Kind = SectionKind::get(SectionKind::MergeableConst4); break;
case 8: Kind = SectionKind::get(SectionKind::MergeableConst8); break;
case 16: Kind = SectionKind::get(SectionKind::MergeableConst16); break;
default: Kind = SectionKind::get(SectionKind::MergeableConst); break;
case 4: Kind = SectionKind::get(SectionKind::MergeableConst4,false); break;
case 8: Kind = SectionKind::get(SectionKind::MergeableConst8,false); break;
case 16: Kind = SectionKind::get(SectionKind::MergeableConst16,false);break;
default: Kind = SectionKind::get(SectionKind::MergeableConst,false); break;
}
}