summaryrefslogtreecommitdiff
path: root/lib/MC/MCSectionELF.cpp
diff options
context:
space:
mode:
authorJan Wen Voung <jvoung@google.com>2010-09-30 05:59:22 +0000
committerJan Wen Voung <jvoung@google.com>2010-09-30 05:59:22 +0000
commit186e7a0fb1b2028e4fa9c3efe29d9433c91b3f66 (patch)
treedffdd5461c22f40aeb61afb3c80cef1ba8567648 /lib/MC/MCSectionELF.cpp
parent1b6285cd72c480cd39048539d03b240e3c47d195 (diff)
downloadllvm-186e7a0fb1b2028e4fa9c3efe29d9433c91b3f66.tar.gz
llvm-186e7a0fb1b2028e4fa9c3efe29d9433c91b3f66.tar.bz2
llvm-186e7a0fb1b2028e4fa9c3efe29d9433c91b3f66.tar.xz
Move logic of determining ELF entsize from the .s printer to initialization
time. That way, the EntrySize field is initialized for other code paths, namely, the .ll -> .o code path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115141 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCSectionELF.cpp')
-rw-r--r--lib/MC/MCSectionELF.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/MC/MCSectionELF.cpp b/lib/MC/MCSectionELF.cpp
index a7599de1b7..ef935d0c64 100644
--- a/lib/MC/MCSectionELF.cpp
+++ b/lib/MC/MCSectionELF.cpp
@@ -104,17 +104,8 @@ void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &MAI,
else if (Type == MCSectionELF::SHT_PROGBITS)
OS << "progbits";
- if (getKind().isMergeable1ByteCString()) {
- OS << ",1";
- } else if (getKind().isMergeable2ByteCString()) {
- OS << ",2";
- } else if (getKind().isMergeable4ByteCString() ||
- getKind().isMergeableConst4()) {
- OS << ",4";
- } else if (getKind().isMergeableConst8()) {
- OS << ",8";
- } else if (getKind().isMergeableConst16()) {
- OS << ",16";
+ if (EntrySize) {
+ OS << "," << EntrySize;
}
}
@@ -132,4 +123,12 @@ bool MCSectionELF::HasCommonSymbols() const {
return false;
}
-
+unsigned MCSectionELF::DetermineEntrySize(SectionKind Kind) {
+ if (Kind.isMergeable1ByteCString()) return 1;
+ if (Kind.isMergeable2ByteCString()) return 2;
+ if (Kind.isMergeable4ByteCString()) return 4;
+ if (Kind.isMergeableConst4()) return 4;
+ if (Kind.isMergeableConst8()) return 8;
+ if (Kind.isMergeableConst16()) return 16;
+ return 0;
+}