make target-specific TLOF impls (except PIC16) create target-specific
MCSection instances.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78500 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp
index eabd626..bd3b376 100644
--- a/lib/Target/TargetLoweringObjectFile.cpp
+++ b/lib/Target/TargetLoweringObjectFile.cpp
@@ -284,7 +284,7 @@
 getELFSection(const char *Name, bool isDirective, SectionKind Kind) const {
   if (MCSection *S = getContext().GetSection(Name))
     return S;
-  return MCSection::Create(Name, isDirective, Kind, getContext());
+  return MCSectionELF::Create(Name, isDirective, Kind, getContext());
 }
 
 void TargetLoweringObjectFileELF::Initialize(MCContext &Ctx,
@@ -598,7 +598,7 @@
 getMachOSection(const char *Name, bool isDirective, SectionKind Kind) const {
   if (MCSection *S = getContext().GetSection(Name))
     return S;
-  return MCSection::Create(Name, isDirective, Kind, getContext());
+  return MCSectionMachO::Create(Name, isDirective, Kind, getContext());
 }
 
 
@@ -808,7 +808,7 @@
 getCOFFSection(const char *Name, bool isDirective, SectionKind Kind) const {
   if (MCSection *S = getContext().GetSection(Name))
     return S;
-  return MCSection::Create(Name, isDirective, Kind, getContext());
+  return MCSectionCOFF::Create(Name, isDirective, Kind, getContext());
 }
 
 void TargetLoweringObjectFileCOFF::Initialize(MCContext &Ctx,