aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2010-05-17 02:13:02 +0000
committerEric Christopher <echristo@apple.com>2010-05-17 02:13:02 +0000
commitd04d98d24fe5c82c7e69b711cd989ef96980fb8e (patch)
treeab5d82a46568323dc11255602439195c3fc3ea47 /lib
parente6aba837974f7d2539efad9a09fe06b4d1566e5d (diff)
Assume that we'll handle mangling the symbols earlier and just put the
symbol to the file as we have it. Simplifies out tbss handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/MC/MCAsmStreamer.cpp9
-rw-r--r--lib/MC/MCParser/AsmParser.cpp8
2 files changed, 6 insertions, 11 deletions
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index 62735ad3f3..4f7699ca99 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -363,14 +363,13 @@ void MCAsmStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
EmitEOL();
}
-// .tbss sym$tlv$init, size, align
+// .tbss sym, size, align
+// This depends that the symbol has already been mangled from the original,
+// e.g. _a.
void MCAsmStreamer::EmitTBSSSymbol(MCSymbol *Symbol, uint64_t Size,
unsigned ByteAlignment) {
assert(Symbol != NULL && "Symbol shouldn't be NULL!");
- OS << ".tbss ";
-
- // This is a mach-o specific directive and the name requires some mangling.
- OS << *Symbol << "$tlv$init, " << Size;
+ OS << ".tbss " << *Symbol << ", " << Size;
// Output align if we have it.
if (ByteAlignment != 0) OS << ", " << Log2_32(ByteAlignment);
diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp
index 18977de8ad..e5af357de3 100644
--- a/lib/MC/MCParser/AsmParser.cpp
+++ b/lib/MC/MCParser/AsmParser.cpp
@@ -1436,13 +1436,9 @@ bool AsmParser::ParseDirectiveDarwinTBSS() {
StringRef Name;
if (ParseIdentifier(Name))
return TokError("expected identifier in directive");
-
- // Demangle the name output. The trailing characters are guaranteed to be
- // $tlv$init so just strip that off.
- StringRef DemName = Name.substr(0, Name.size() - strlen("$tlv$init"));
-
+
// Handle the identifier as the key symbol.
- MCSymbol *Sym = CreateSymbol(DemName);
+ MCSymbol *Sym = CreateSymbol(Name);
if (Lexer.isNot(AsmToken::Comma))
return TokError("unexpected token in directive");