Add interface for section override. Use this for Sparc, since it should use named BSS section.

llvm-svn: 54844
diff --git a/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp b/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
index afa5327..c13d45c 100644
--- a/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
@@ -25,6 +25,11 @@
   ConstantPoolSection = "\t.section \".rodata\",#alloc\n";
   COMMDirectiveTakesAlignment = true;
   CStringSection=".rodata.str";
+
+  // Sparc normally uses named section for BSS.
+  BSSSection_  = getNamedSection("\t.bss",
+                                 SectionFlags::Writeable | SectionFlags::BSS,
+                                 /* Override */ true);
 }
 
 std::string SparcELFTargetAsmInfo::printSectionFlags(unsigned flags) const {