diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2013-08-21 07:28:13 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2013-08-21 07:28:13 +0000 |
commit | 9bfc0626c02e449dd321a71a09f005ac8239e921 (patch) | |
tree | 548b0f1acb61af2952b8b33f1e06f38120a66b5d /test/Object | |
parent | cdef37a9d8d559042fe43d8ae91d4b65f281df69 (diff) | |
download | external_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-x | test/Object/Inputs/trivial-executable-test.macho-x86-64 | bin | 0 -> 8512 bytes | |||
-rw-r--r-- | test/Object/X86/objdump-disassembly-symbolic.test | 18 |
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 Binary files differnew file mode 100755 index 0000000..50a6bab --- /dev/null +++ b/test/Object/Inputs/trivial-executable-test.macho-x86-64 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 |