diff options
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/ELFTargetAsmInfo.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
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 @@ std::string ELFTargetAsmInfo::PrintSectionFlags(unsigned flags) const { 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); |