llvm-mc: Unique zero fill sections.
authorDaniel Dunbar <daniel@zuster.org>
Fri, 28 Aug 2009 05:48:29 +0000 (05:48 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 28 Aug 2009 05:48:29 +0000 (05:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80342 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-mc/AsmParser.cpp

index 2c855d950fd67e27a4db101fcfdcc65ea3dc10ea..9f219925b0f9d1cf26dde9cb56ce2b47fc43b2e4 100644 (file)
@@ -1287,15 +1287,10 @@ bool AsmParser::ParseDirectiveDarwinZerofill() {
   // If this is the end of the line all that was wanted was to create the
   // the section but with no symbol.
   if (Lexer.is(AsmToken::EndOfStatement)) {
-    // FIXME: CACHE THIS.
-    MCSection *S = 0; //Ctx.GetSection(Section);
-    if (S == 0)
-      S = MCSectionMachO::Create(Segment, Section,
-                                 MCSectionMachO::S_ZEROFILL, 0,
-                                 SectionKind(), Ctx);
-    
     // Create the zerofill section but no symbol
-    Out.EmitZerofill(S);
+    Out.EmitZerofill(getMachOSection(Segment, Section,
+                                     MCSectionMachO::S_ZEROFILL, 0,
+                                     SectionKind()));
     return false;
   }
 
@@ -1348,16 +1343,13 @@ bool AsmParser::ParseDirectiveDarwinZerofill() {
   if (!Sym->isUndefined())
     return Error(IDLoc, "invalid symbol redefinition");
 
-  // FIXME: Arch specific.
-  // FIXME: CACHE.
-  MCSection *S = 0; //Ctx.GetSection(Section);
-  if (S == 0)
-    S = MCSectionMachO::Create(Segment, Section,
-                               MCSectionMachO::S_ZEROFILL, 0,
-                               SectionKind(), Ctx);
-  
   // Create the zerofill Symbol with Size and Pow2Alignment
-  Out.EmitZerofill(S, Sym, Size, Pow2Alignment);
+  //
+  // FIXME: Arch specific.
+  Out.EmitZerofill(getMachOSection(Segment, Section,
+                                 MCSectionMachO::S_ZEROFILL, 0,
+                                 SectionKind()),
+                   Sym, Size, Pow2Alignment);
 
   return false;
 }