[llvm] r199407 - Tweak the MCExternalSymbolizer to print references to C string literals
Kevin Enderby
enderby at apple.com
Thu Jan 16 10:43:57 PST 2014
Author: enderby
Date: Thu Jan 16 12:43:56 2014
New Revision: 199407
URL: http://llvm.org/viewvc/llvm-project?rev=199407&view=rev
Log:
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
Modified:
llvm/trunk/lib/MC/MCExternalSymbolizer.cpp
Modified: llvm/trunk/lib/MC/MCExternalSymbolizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCExternalSymbolizer.cpp?rev=199407&r1=199406&r2=199407&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCExternalSymbolizer.cpp (original)
+++ llvm/trunk/lib/MC/MCExternalSymbolizer.cpp Thu Jan 16 12:43:56 2014
@@ -149,8 +149,11 @@ void MCExternalSymbolizer::tryAddingPcLo
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 << "\"";
More information about the llvm-commits
mailing list