From 6b0a8a8cbdb8e3e1db818c561f0ea6e08e0410ce Mon Sep 17 00:00:00 2001 From: Kevin Enderby Date: Mon, 13 Jun 2016 21:08:57 +0000 Subject: [PATCH] Update the AArch64ExternalSymbolizer to print literal strings as escaped strings so it is the same as the MCExternalSymbolizer. rdar://17349181 llvm-svn: 272588 --- .../AArch64/Disassembler/AArch64ExternalSymbolizer.cpp | 8 +++++--- .../AArch64/macho-symbolized-disassembly.test | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp b/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp index 82bc949927c..c2ec90ffda6 100644 --- a/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp +++ b/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp @@ -134,9 +134,11 @@ bool AArch64ExternalSymbolizer::tryAddingSymbolicOperand( if (ReferenceType == LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr) CommentStream << "literal pool symbol address: " << ReferenceName; else if (ReferenceType == - LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr) - CommentStream << "literal pool for: \"" << ReferenceName << "\""; - else if (ReferenceType == + LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr) { + CommentStream << "literal pool for: \""; + CommentStream.write_escaped(ReferenceName); + CommentStream << "\""; + } else if (ReferenceType == LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref) CommentStream << "Objc cfstring ref: @\"" << ReferenceName << "\""; else if (ReferenceType == diff --git a/test/tools/llvm-objdump/AArch64/macho-symbolized-disassembly.test b/test/tools/llvm-objdump/AArch64/macho-symbolized-disassembly.test index 6931f45f6e6..4c88b94396b 100644 --- a/test/tools/llvm-objdump/AArch64/macho-symbolized-disassembly.test +++ b/test/tools/llvm-objdump/AArch64/macho-symbolized-disassembly.test @@ -7,8 +7,7 @@ OBJ: 000000000000001c adrp x0, L_.str@PAGE OBJ: 0000000000000020 add x0, x0, L_.str@PAGEOFF OBJ: 0000000000000024 bl _printf -EXE: 0000000100007f58 add x0, x0, #0xfa8 ; literal pool for: "Hello world -" +EXE: 0000000100007f58 add x0, x0, #0xfa8 ; literal pool for: "Hello world\n" EXE: 0000000100007f5c bl 0x100007f78 ; symbol stub for: _printf ObjC-OBJ: 000000000000000c adrp x8, L_OBJC_SELECTOR_REFERENCES_3@PAGE