aboutsummaryrefslogtreecommitdiffstats
path: root/test/Object
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2013-08-21 07:28:13 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2013-08-21 07:28:13 +0000
commit9bfc0626c02e449dd321a71a09f005ac8239e921 (patch)
tree548b0f1acb61af2952b8b33f1e06f38120a66b5d /test/Object
parentcdef37a9d8d559042fe43d8ae91d4b65f281df69 (diff)
downloadexternal_llvm-9bfc0626c02e449dd321a71a09f005ac8239e921.zip
external_llvm-9bfc0626c02e449dd321a71a09f005ac8239e921.tar.gz
external_llvm-9bfc0626c02e449dd321a71a09f005ac8239e921.tar.bz2
MC: ObjectSymbolizer can now recognize external function stubs.
Only implemented in the Mach-O ObjectSymbolizer. The testcase sadly introduces a new binary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188879 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Object')
-rwxr-xr-xtest/Object/Inputs/trivial-executable-test.macho-x86-64bin0 -> 8512 bytes
-rw-r--r--test/Object/X86/objdump-disassembly-symbolic.test18
2 files changed, 18 insertions, 0 deletions
diff --git a/test/Object/Inputs/trivial-executable-test.macho-x86-64 b/test/Object/Inputs/trivial-executable-test.macho-x86-64
new file mode 100755
index 0000000..50a6bab
--- /dev/null
+++ b/test/Object/Inputs/trivial-executable-test.macho-x86-64
Binary files differ
diff --git a/test/Object/X86/objdump-disassembly-symbolic.test b/test/Object/X86/objdump-disassembly-symbolic.test
index 667bce9..858653e 100644
--- a/test/Object/X86/objdump-disassembly-symbolic.test
+++ b/test/Object/X86/objdump-disassembly-symbolic.test
@@ -3,6 +3,11 @@ RUN: | FileCheck %s -check-prefix ELF-x86-64
RUN: llvm-objdump -d -symbolize %p/../Inputs/trivial-object-test.macho-x86-64 \
RUN: | FileCheck %s -check-prefix MACHO-x86-64
+# Generate this using:
+# ld trivial-object-test.macho-x86-64 -undefined dynamic_lookup
+RUN: llvm-objdump -d -symbolize %p/../Inputs/trivial-executable-test.macho-x86-64 \
+RUN: | FileCheck %s -check-prefix MACHO-STUBS-x86-64
+
ELF-x86-64: file format ELF64-x86-64
ELF-x86-64: Disassembly of section .text:
ELF-x86-64: main:
@@ -28,3 +33,16 @@ MACHO-x86-64: 1a: e8 00 00 00 00 callq _Som
MACHO-x86-64: 1f: 8b 44 24 04 movl 4(%rsp), %eax
MACHO-x86-64: 23: 48 83 c4 08 addq $8, %rsp
MACHO-x86-64: 27: c3 ret
+
+MACHO-STUBS-x86-64: file format Mach-O 64-bit x86-64
+MACHO-STUBS-x86-64: Disassembly of section __TEXT,__text:
+MACHO-STUBS-x86-64: _main:
+MACHO-STUBS-x86-64: 1f90: 48 83 ec 08 subq $8, %rsp
+MACHO-STUBS-x86-64: 1f94: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)
+MACHO-STUBS-x86-64: 1f9c: 48 8d 3d 45 00 00 00 leaq 69(%rip), %rdi ## literal pool for: Hello World!
+MACHO-STUBS-x86-64: 1fa3: e8 16 00 00 00 callq puts
+MACHO-STUBS-x86-64: 1fa8: 30 c0 xorb %al, %al
+MACHO-STUBS-x86-64: 1faa: e8 09 00 00 00 callq SomeOtherFunction
+MACHO-STUBS-x86-64: 1faf: 8b 44 24 04 movl 4(%rsp), %eax
+MACHO-STUBS-x86-64: 1fb3: 48 83 c4 08 addq $8, %rsp
+MACHO-STUBS-x86-64: 1fb7: c3 ret