diff options
Diffstat (limited to 'lib/MC/MCContext.cpp')
-rw-r--r-- | lib/MC/MCContext.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp index e5586a0d7c..1e65f87792 100644 --- a/lib/MC/MCContext.cpp +++ b/lib/MC/MCContext.cpp @@ -160,6 +160,10 @@ getELFSection(StringRef Section, unsigned Type, unsigned Flags, StringMapEntry<const MCSectionELF*> &Entry = Map.GetOrCreateValue(Section); if (Entry.getValue()) return Entry.getValue(); + // Possibly refine the entry size first. + if (!EntrySize) { + EntrySize = MCSectionELF::DetermineEntrySize(Kind); + } MCSectionELF *Result = new (*this) MCSectionELF(Entry.getKey(), Type, Flags, Kind, IsExplicit, EntrySize); Entry.setValue(Result); |