diff --git a/include/llvm/MC/MCSection.h b/include/llvm/MC/MCSection.h
index bdc46be..e73760a 100644
--- a/include/llvm/MC/MCSection.h
+++ b/include/llvm/MC/MCSection.h
@@ -53,7 +53,33 @@
   };
 
   
-  typedef MCSection MCSectionELF;
+  class MCSectionELF : public MCSection {
+    MCSectionELF(const StringRef &Name, bool IsDirective, SectionKind K,
+                 MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {}
+  public:
+    
+    static MCSectionELF *Create(const StringRef &Name, bool IsDirective, 
+                                SectionKind K, MCContext &Ctx);
+    
+  };
+
+  class MCSectionMachO : public MCSection {
+    MCSectionMachO(const StringRef &Name, bool IsDirective, SectionKind K,
+                   MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {}
+  public:
+    
+    static MCSectionMachO *Create(const StringRef &Name, bool IsDirective, 
+                                  SectionKind K, MCContext &Ctx);
+  };
+  
+  class MCSectionPECOFF : public MCSection {
+    MCSectionPECOFF(const StringRef &Name, bool IsDirective, SectionKind K,
+                    MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {}
+  public:
+    
+    static MCSectionPECOFF *Create(const StringRef &Name, bool IsDirective, 
+                                   SectionKind K, MCContext &Ctx);
+  };
   
 } // end namespace llvm
 
diff --git a/lib/MC/MCSection.cpp b/lib/MC/MCSection.cpp
index 84487b2..2d5eb33 100644
--- a/lib/MC/MCSection.cpp
+++ b/lib/MC/MCSection.cpp
@@ -22,8 +22,26 @@
   Entry = this;
 }
 
-MCSection *MCSection::Create(const StringRef &Name, bool IsDirective, 
-                             SectionKind K, MCContext &Ctx) {
+MCSection *MCSection::
+Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
   return new (Ctx) MCSection(Name, IsDirective, K, Ctx);
 }
 
+
+MCSectionELF *MCSectionELF::
+Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
+  return new (Ctx) MCSectionELF(Name, IsDirective, K, Ctx);
+}
+
+
+MCSectionMachO *MCSectionMachO::
+Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
+  return new (Ctx) MCSectionMachO(Name, IsDirective, K, Ctx);
+}
+
+
+MCSectionPECOFF *MCSectionPECOFF::
+Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
+  return new (Ctx) MCSectionPECOFF(Name, IsDirective, K, Ctx);
+}
+
