Print section flags ok on platforms, which use '@' as comment string. Fix test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54460 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ELFTargetAsmInfo.cpp b/lib/Target/ELFTargetAsmInfo.cpp
index 19e5b01..82ac847 100644
--- a/lib/Target/ELFTargetAsmInfo.cpp
+++ b/lib/Target/ELFTargetAsmInfo.cpp
@@ -166,13 +166,19 @@
   if (flags & SectionFlags::Small)
     Flags += 's';
 
-  Flags += "\"";
+  Flags += "\",";
+
+  // If comment string is '@', e.g. as on ARM - use '%' instead
+  if (strcmp(CommentString, "@") == 0)
+    Flags += '%';
+  else
+    Flags += '@';
 
   // FIXME: There can be exceptions here
   if (flags & SectionFlags::BSS)
-    Flags += ",@nobits";
+    Flags += "nobits";
   else
-    Flags += ",@progbits";
+    Flags += "progbits";
 
   if (unsigned entitySize = SectionFlags::getEntitySize(flags))
     Flags += "," + utostr(entitySize);
diff --git a/test/CodeGen/ARM/section.ll b/test/CodeGen/ARM/section.ll
index 0397bcc..aa65845 100644
--- a/test/CodeGen/ARM/section.ll
+++ b/test/CodeGen/ARM/section.ll
@@ -1,7 +1,7 @@
 ; RUN: llvm-as < %s | llc -mtriple=arm-linux | \
 ; RUN:   grep {__DTOR_END__:}
 ; RUN: llvm-as < %s | llc -mtriple=arm-linux | \
-; RUN:   grep {.section .dtors,"aw",.progbits}
+; RUN:   grep {\\.section.\\.dtors,"aw",.progbits}
 
 @__DTOR_END__ = internal global [1 x i32] zeroinitializer, section ".dtors"       ; <[1 x i32]*> [#uses=0]