summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objdump
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2014-10-23 19:37:31 +0000
committerKevin Enderby <enderby@apple.com>2014-10-23 19:37:31 +0000
commit6f326ce75bc6424d1e01bbae525323bc5a57f2c8 (patch)
treec9218076ff55ab1c07f52e2f056e6e9ae6de9a28 /llvm/test/tools/llvm-objdump
parent52b249b9f46f1c33fb591a4369cce85e1e54c951 (diff)
downloadbcm5719-llvm-6f326ce75bc6424d1e01bbae525323bc5a57f2c8.tar.gz
bcm5719-llvm-6f326ce75bc6424d1e01bbae525323bc5a57f2c8.zip
Update llvm-objdump’s Mach-O symbolizer code for Objective-C references.
This prints disassembly comments for Objective-C references to CFStrings, Selectors, Classes and method calls. llvm-svn: 220500
Diffstat (limited to 'llvm/test/tools/llvm-objdump')
-rwxr-xr-xllvm/test/tools/llvm-objdump/X86/Inputs/ObjC.exe.macho-x86_64bin0 -> 8944 bytes
-rw-r--r--llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.obj.macho-x86_64bin0 -> 1732 bytes
-rw-r--r--llvm/test/tools/llvm-objdump/X86/macho-symbolized-disassembly.test17
3 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.exe.macho-x86_64 b/llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.exe.macho-x86_64
new file mode 100755
index 00000000000..4de8a1ff60a
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.exe.macho-x86_64
Binary files differ
diff --git a/llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.obj.macho-x86_64 b/llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.obj.macho-x86_64
new file mode 100644
index 00000000000..66edb3cb48c
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/X86/Inputs/ObjC.obj.macho-x86_64
Binary files differ
diff --git a/llvm/test/tools/llvm-objdump/X86/macho-symbolized-disassembly.test b/llvm/test/tools/llvm-objdump/X86/macho-symbolized-disassembly.test
index 65153161449..c8322bc7df6 100644
--- a/llvm/test/tools/llvm-objdump/X86/macho-symbolized-disassembly.test
+++ b/llvm/test/tools/llvm-objdump/X86/macho-symbolized-disassembly.test
@@ -1,8 +1,25 @@
// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s -check-prefix=OBJ
// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/hello.exe.macho-x86_64 | FileCheck %s -check-prefix=EXE
+// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/ObjC.obj.macho-x86_64 | FileCheck %s -check-prefix=ObjC-OBJ
+// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/ObjC.exe.macho-x86_64 | FileCheck %s -check-prefix=ObjC-EXE
OBJ: 0000000000000008 leaq L_.str(%rip), %rax ## literal pool for: "Hello world\n"
OBJ: 0000000000000026 callq _printf
EXE: 0000000100000f38 leaq 0x4f(%rip), %rax ## literal pool for: "Hello world\n"
EXE: 0000000100000f56 callq 0x100000f6c ## symbol stub for: _printf
+
+ObjC-OBJ: 0000000000000008 leaq 0xb1(%rip), %rax ## Objc cfstring ref: @"The current date and time is: %@"
+ObjC-OBJ: 0000000000000016 movq 0x4b(%rip), %rcx ## Objc class ref: NSObject
+ObjC-OBJ: 000000000000001d movq 0x64(%rip), %rsi ## Objc selector ref: new
+ObjC-OBJ: 0000000000000034 movq 0x35(%rip), %rax ## Objc class ref: NSDate
+ObjC-OBJ: 000000000000003b movq 0x4e(%rip), %rsi ## Objc selector ref: date
+
+ObjC-EXE: 0000000100000ee8 leaq 0x159(%rip), %rax ## Objc cfstring ref: @"The current date and time is: %@"
+ObjC-EXE: 0000000100000ef6 movq 0x13b(%rip), %rcx ## Objc class ref: _OBJC_CLASS_$_NSObject
+ObjC-EXE: 0000000100000efd movq 0x124(%rip), %rsi ## Objc selector ref: new
+ObjC-EXE: 0000000100000f0b callq 0x100000f4a ## Objc message: +[NSObject new]
+ObjC-EXE: 0000000100000f14 movq 0x125(%rip), %rax ## Objc class ref: _OBJC_CLASS_$_NSDate
+ObjC-EXE: 0000000100000f1b movq 0x10e(%rip), %rsi ## Objc selector ref: date
+ObjC-EXE: 0000000100000f25 callq 0x100000f4a ## Objc message: +[NSDate date]
+ObjC-EXE: 0000000100000f33 callq 0x100000f44 ## symbol stub for: _NSLog
OpenPOWER on IntegriCloud