1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
RUN: llvm-objdump -d -symbolize %p/../Inputs/trivial-object-test.elf-x86-64 \
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:
ELF-x86-64: 0: 48 83 ec 08 subq $8, %rsp
ELF-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)
ELF-x86-64: c: bf 00 00 00 00 movl $.rodata.str1.1, %edi
ELF-x86-64: 11: e8 00 00 00 00 callq puts-4
ELF-x86-64: 16: 30 c0 xorb %al, %al
ELF-x86-64: 18: e8 00 00 00 00 callq SomeOtherFunction-4
ELF-x86-64: 1d: 8b 44 24 04 movl 4(%rsp), %eax
ELF-x86-64: 21: 48 83 c4 08 addq $8, %rsp
ELF-x86-64: 25: c3 ret
MACHO-x86-64: file format Mach-O 64-bit x86-64
MACHO-x86-64: Disassembly of section __TEXT,__text:
MACHO-x86-64: _main:
MACHO-x86-64: 0: 48 83 ec 08 subq $8, %rsp
MACHO-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)
MACHO-x86-64: c: 48 8d 3d 00 00 00 00 leaq L_.str(%rip), %rdi ## literal pool for: Hello World!
MACHO-x86-64: 13: e8 00 00 00 00 callq _puts
MACHO-x86-64: 18: 30 c0 xorb %al, %al
MACHO-x86-64: 1a: e8 00 00 00 00 callq _SomeOtherFunction
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
RUN: llvm-objdump -d -symbolize %p/../Inputs/relocation-relocatable.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF-i386-REL
ELF-i386-REL: Disassembly of section .text:
ELF-i386-REL-NEXT: f:
ELF-i386-REL-NEXT: 0: e9 fc ff ff ff jmp h
ELF-i386-REL: g:
ELF-i386-REL-NEXT: 5: e9 fc ff ff ff jmp f
RUN: llvm-objdump -d -symbolize %p/../Inputs/relocation-dynamic.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF-i386-DYN
ELF-i386-DYN: Disassembly of section .text:
ELF-i386-DYN-NEXT: f:
ELF-i386-DYN-NEXT: 1a4: e9 fc ff ff ff jmp h
ELF-i386-DYN: g:
ELF-i386-DYN-NEXT: 1a9: e9 fc ff ff ff jmp f
|