fix a fixme: don't create an explicit "CStringSection" for ELF,
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
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp
index 7d8f529..730d32f 100644
--- a/lib/Target/TargetLoweringObjectFile.cpp
+++ b/lib/Target/TargetLoweringObjectFile.cpp
@@ -320,10 +320,6 @@
   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 @@
   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 @@
     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);
   }