diff options
author | Kevin Enderby <enderby@apple.com> | 2014-01-16 18:43:56 +0000 |
---|---|---|
committer | Kevin Enderby <enderby@apple.com> | 2014-01-16 18:43:56 +0000 |
commit | 8f4921c3331c8e8e1ced7401a5920f2231f9668c (patch) | |
tree | dc02c2cd6a5ba3b2625496c52ec442958be828fa /llvm/lib/MC/MCExternalSymbolizer.cpp | |
parent | 2be02a784828c66d0025fe63a8e84751d6531a37 (diff) | |
download | bcm5719-llvm-8f4921c3331c8e8e1ced7401a5920f2231f9668c.tar.gz bcm5719-llvm-8f4921c3331c8e8e1ced7401a5920f2231f9668c.zip |
Tweak the MCExternalSymbolizer to print references to C string literals
with raw_ostream's write_escaped() method.
For example darwin's otool(1) program that uses the llvm
disassembler now produces disassembly like this:
leaq 0x7b(%rip), %rdi ## literal pool for: "%f\ntoto\n"
and not print the new lines which messes up the output.
rdar://15145300
llvm-svn: 199407
Diffstat (limited to 'llvm/lib/MC/MCExternalSymbolizer.cpp')
-rw-r--r-- | llvm/lib/MC/MCExternalSymbolizer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCExternalSymbolizer.cpp b/llvm/lib/MC/MCExternalSymbolizer.cpp index def662777d6..b82229457db 100644 --- a/llvm/lib/MC/MCExternalSymbolizer.cpp +++ b/llvm/lib/MC/MCExternalSymbolizer.cpp @@ -149,8 +149,11 @@ void MCExternalSymbolizer::tryAddingPcLoadReferenceComment(raw_ostream &cStream, if(ReferenceType == LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr) cStream << "literal pool symbol address: " << ReferenceName; else if(ReferenceType == - LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr) - cStream << "literal pool for: \"" << ReferenceName << "\""; + LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr) { + cStream << "literal pool for: \""; + cStream.write_escaped(ReferenceName); + cStream << "\""; + } else if(ReferenceType == LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref) cStream << "Objc cfstring ref: @\"" << ReferenceName << "\""; |