Add a variable to track whether or not we've used a unique section,
[oota-llvm.git] / lib / CodeGen / TargetLoweringObjectFileImpl.cpp
index 3621b5828780cfb96ae3f7be9282b60e3e9d39f0..7f534acb70a7aef73e484a38d07d17b111e4745d 100644 (file)
@@ -232,7 +232,7 @@ static const char *getSectionPrefixForGlobal(SectionKind Kind) {
 
 const MCSection *TargetLoweringObjectFileELF::
 SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
-                       Mangler *Mang, const TargetMachine &TM) const {
+                       Mangler *Mang, TargetMachine &TM) const {
   // If we have -ffunction-section or -fdata-section then we should emit the
   // global value to a uniqued section specifically for it.
   bool EmitUniquedSection;
@@ -258,6 +258,8 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
       Flags |= ELF::SHF_GROUP;
     }
 
+    // Set that we've used a unique section name in the target machine.
+    TM.setDebugUseUniqueSections(true);
     return getContext().getELFSection(Name.str(),
                                       getELFSectionType(Name.str(), Kind),
                                       Flags, Kind, 0, Group);
@@ -529,7 +531,7 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind,
 
 const MCSection *TargetLoweringObjectFileMachO::
 SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
-                       Mangler *Mang, const TargetMachine &TM) const {
+                       Mangler *Mang, TargetMachine &TM) const {
 
   // Handle thread local data.
   if (Kind.isThreadBSS()) return TLSBSSSection;
@@ -754,7 +756,7 @@ static const char *getCOFFSectionNameForUniqueGlobal(SectionKind Kind) {
 
 const MCSection *TargetLoweringObjectFileCOFF::
 SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
-                       Mangler *Mang, const TargetMachine &TM) const {
+                       Mangler *Mang, TargetMachine &TM) const {
 
   // If this global is linkonce/weak and the target handles this by emitting it
   // into a 'uniqued' section name, create and return the section now.