1 RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.coff-i386 \ 2 RUN: | FileCheck %s -check-prefix COFF-i386 3 RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.coff-x86-64 \ 4 RUN: | FileCheck %s -check-prefix COFF-x86-64 5 RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.macho-i386 \ 6 RUN: | FileCheck %s -check-prefix MACHO-i386 7 RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.macho-x86-64 \ 8 RUN: | FileCheck %s -check-prefix MACHO-x86-64 9 RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.elf-i386 \ 10 RUN: | FileCheck %s -check-prefix ELF-i386 11 RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.elf-x86-64 \ 12 RUN: | FileCheck %s -check-prefix ELF-x86-64 13 14 COFF-i386: file format COFF-i386 15 COFF-i386: Disassembly of section .text: 16 COFF-i386: 0: 83 ec 0c subl $12, %esp 17 COFF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp) 18 COFF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp) 19 COFF-i386: e: IMAGE_REL_I386_DIR32 L_.str 20 COFF-i386: 12: e8 00 00 00 00 calll 0 21 COFF-i386: 13: IMAGE_REL_I386_REL32 _puts 22 COFF-i386: 17: e8 00 00 00 00 calll 0 23 COFF-i386: 18: IMAGE_REL_I386_REL32 _SomeOtherFunction 24 COFF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax 25 COFF-i386: 20: 83 c4 0c addl $12, %esp 26 COFF-i386: 23: c3 ret 27 28 COFF-x86-64: file format COFF-x86-64 29 COFF-x86-64: Disassembly of section .text: 30 COFF-x86-64: 0: 48 83 ec 28 subq $40, %rsp 31 COFF-x86-64: 4: c7 44 24 24 00 00 00 00 movl $0, 36(%rsp) 32 COFF-x86-64: c: 48 8d 0d 00 00 00 00 leaq (%rip), %rcx 33 COFF-x86-64: f: IMAGE_REL_AMD64_REL32 L.str 34 COFF-x86-64: 13: e8 00 00 00 00 callq 0 35 COFF-x86-64: 14: IMAGE_REL_AMD64_REL32 puts 36 COFF-x86-64: 18: e8 00 00 00 00 callq 0 37 COFF-x86-64: 19: IMAGE_REL_AMD64_REL32 SomeOtherFunction 38 COFF-x86-64: 1d: 8b 44 24 24 movl 36(%rsp), %eax 39 COFF-x86-64: 21: 48 83 c4 28 addq $40, %rsp 40 COFF-x86-64: 25: c3 ret 41 42 MACHO-i386: file format Mach-O 32-bit i386 43 MACHO-i386: Disassembly of section __TEXT,__text: 44 MACHO-i386: _main: 45 MACHO-i386: 0: 83 ec 0c subl $12, %esp 46 MACHO-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp) 47 MACHO-i386: b: c7 04 24 24 00 00 00 movl $36, (%esp) 48 MACHO-i386: e: GENERIC_RELOC_VANILLA __cstring 49 MACHO-i386: 12: e8 1f 00 00 00 calll 31 50 MACHO-i386: 13: GENERIC_RELOC_VANILLA __jump_table 51 MACHO-i386: 17: e8 15 00 00 00 calll 21 52 MACHO-i386: 18: GENERIC_RELOC_VANILLA __jump_table 53 MACHO-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax 54 MACHO-i386: 20: 83 c4 0c addl $12, %esp 55 MACHO-i386: 23: c3 ret 56 57 MACHO-x86-64: file format Mach-O 64-bit x86-64 58 MACHO-x86-64: Disassembly of section __TEXT,__text: 59 MACHO-x86-64: _main: 60 MACHO-x86-64: 0: 48 83 ec 08 subq $8, %rsp 61 MACHO-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp) 62 MACHO-x86-64: c: 48 8d 3d 00 00 00 00 leaq (%rip), %rdi 63 MACHO-x86-64: f: X86_64_RELOC_SIGNED L_.str 64 MACHO-x86-64: 13: e8 00 00 00 00 callq 0 65 MACHO-x86-64: 14: X86_64_RELOC_BRANCH _puts 66 MACHO-x86-64: 18: 30 c0 xorb %al, %al 67 MACHO-x86-64: 1a: e8 00 00 00 00 callq 0 68 MACHO-x86-64: 1b: X86_64_RELOC_BRANCH _SomeOtherFunction 69 MACHO-x86-64: 1f: 8b 44 24 04 movl 4(%rsp), %eax 70 MACHO-x86-64: 23: 48 83 c4 08 addq $8, %rsp 71 MACHO-x86-64: 27: c3 ret 72 73 ELF-i386: file format ELF32-i386 74 ELF-i386: Disassembly of section .text: 75 ELF-i386: main: 76 ELF-i386: 0: 83 ec 0c subl $12, %esp 77 ELF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp) 78 ELF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp) 79 ELF-i386: e: R_386_32 .rodata.str1.1 80 ELF-i386: 12: e8 fc ff ff ff calll -4 81 ELF-i386: 13: R_386_PC32 puts 82 ELF-i386: 17: e8 fc ff ff ff calll -4 83 ELF-i386: 18: R_386_PC32 SomeOtherFunction 84 ELF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax 85 ELF-i386: 20: 83 c4 0c addl $12, %esp 86 ELF-i386: 23: c3 ret 87 88 ELF-x86-64: file format ELF64-x86-64 89 ELF-x86-64: Disassembly of section .text: 90 ELF-x86-64: main: 91 ELF-x86-64: 0: 48 83 ec 08 subq $8, %rsp 92 ELF-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp) 93 ELF-x86-64: c: bf 00 00 00 00 movl $0, %edi 94 ELF-x86-64: d: R_X86_64_32S .rodata.str1.1+0 95 ELF-x86-64: 11: e8 00 00 00 00 callq 0 96 ELF-x86-64: 12: R_X86_64_PC32 puts-4-P 97 ELF-x86-64: 16: 30 c0 xorb %al, %al 98 ELF-x86-64: 18: e8 00 00 00 00 callq 0 99 ELF-x86-64: 19: R_X86_64_PC32 SomeOtherFunction-4-P 100 ELF-x86-64: 1d: 8b 44 24 04 movl 4(%rsp), %eax 101 ELF-x86-64: 21: 48 83 c4 08 addq $8, %rsp 102 ELF-x86-64: 25: c3 ret 103