fix a fixme: don't create an explicit "CStringSection" for ELF,
authorChris Lattner <sabre@nondot.org>
Tue, 4 Aug 2009 16:19:50 +0000 (16:19 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 4 Aug 2009 16:19:50 +0000 (16:19 +0000)
it is just being used as a prefix, so forward substitute it directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78067 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetLoweringObjectFile.h
lib/Target/TargetLoweringObjectFile.cpp

index 76cf2aeec1af2424a2b51e9e0f1af9b67a47e2ee..3715a6585ac7715521bebeb14cac72673dde1634 100644 (file)
@@ -187,8 +187,6 @@ protected:
   ///
   const MCSection *TLSBSSSection;         // Defaults to ".tbss".
   
-  const MCSection *CStringSection;
-  
   const MCSection *DataRelSection;
   const MCSection *DataRelLocalSection;
   const MCSection *DataRelROSection;
index 7d8f529bb9ba6e023ba56e3948da500790fb7b9b..730d32f5429b9748f3389353b2a3a9204d64b457 100644 (file)
@@ -320,10 +320,6 @@ void TargetLoweringObjectFileELF::Initialize(MCContext &Ctx,
   TLSDataSection =
     getOrCreateSection("\t.tdata", false, SectionKind::getThreadData());
   
-  // FIXME: No reason to make this.
-  CStringSection = getOrCreateSection("\t.rodata.str", true,
-                               SectionKind::getMergeable1ByteCString());
-
   TLSBSSSection = getOrCreateSection("\t.tbss", false, 
                                      SectionKind::getThreadBSS());
 
@@ -511,7 +507,6 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
   if (Kind.isMergeable1ByteCString() ||
       Kind.isMergeable2ByteCString() ||
       Kind.isMergeable4ByteCString()) {
-   assert(CStringSection && "Should have string section prefix");
     
     // We also need alignment here.
     // FIXME: this is getting the alignment of the character, not the
@@ -519,16 +514,16 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
     unsigned Align = 
       TM.getTargetData()->getPreferredAlignment(cast<GlobalVariable>(GV));
     
-    const char *SizeSpec = "1.";
+    const char *SizeSpec = ".rodata.str1.";
     if (Kind.isMergeable2ByteCString())
-      SizeSpec = "2.";
+      SizeSpec = ".rodata.str2.";
     else if (Kind.isMergeable4ByteCString())
-      SizeSpec = "4.";
+      SizeSpec = ".rodata.str4.";
     else
       assert(Kind.isMergeable1ByteCString() && "unknown string width");
     
     
-    std::string Name = CStringSection->getName() + SizeSpec + utostr(Align);
+    std::string Name = SizeSpec + utostr(Align);
     return getOrCreateSection(Name.c_str(), false, Kind);
   }