188 lines · plain
1# RUN: llvm-objdump --no-print-imm-hex -d -r %p/../Inputs/trivial-object-test.coff-i386 \2# RUN: | FileCheck %s -check-prefix COFF-i3863 4# COFF-i386: file format coff-i3865# COFF-i386: Disassembly of section .text:6# COFF-i386: 0: 83 ec 0c subl $12, %esp7# COFF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)8# COFF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)9# COFF-i386: e: IMAGE_REL_I386_DIR32 L_.str10# COFF-i386: 12: e8 00 00 00 00 calll 011# COFF-i386: 13: IMAGE_REL_I386_REL32 _puts12# COFF-i386: 17: e8 00 00 00 00 calll 013# COFF-i386: 18: IMAGE_REL_I386_REL32 _SomeOtherFunction14# COFF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax15# COFF-i386: 20: 83 c4 0c addl $12, %esp16# COFF-i386: 23: c3 ret17 18# RUN: llvm-objdump --no-print-imm-hex -d -r %p/../Inputs/trivial-object-test.coff-x86-64 \19# RUN: | FileCheck %s -check-prefix COFF-x86-6420 21# COFF-x86-64: file format coff-x86-6422# COFF-x86-64: Disassembly of section .text:23# COFF-x86-64: 0: 48 83 ec 28 subq $40, %rsp24# COFF-x86-64: 4: c7 44 24 24 00 00 00 00 movl $0, 36(%rsp)25# COFF-x86-64: c: 48 8d 0d 00 00 00 00 leaq (%rip), %rcx26# COFF-x86-64: f: IMAGE_REL_AMD64_REL32 L.str27# COFF-x86-64: 13: e8 00 00 00 00 callq 028# COFF-x86-64: 14: IMAGE_REL_AMD64_REL32 puts29# COFF-x86-64: 18: e8 00 00 00 00 callq 030# COFF-x86-64: 19: IMAGE_REL_AMD64_REL32 SomeOtherFunction31# COFF-x86-64: 1d: 8b 44 24 24 movl 36(%rsp), %eax32# COFF-x86-64: 21: 48 83 c4 28 addq $40, %rsp33# COFF-x86-64: 25: c3 ret34 35# RUN: llvm-objdump --no-print-imm-hex -d -r %p/../Inputs/trivial-object-test.macho-i386 \36# RUN: | FileCheck %s -check-prefix MACHO-i38637 38# MACHO-i386: file format mach-o 32-bit i38639# MACHO-i386: Disassembly of section __TEXT,__text:40# MACHO-i386: <_main>:41# MACHO-i386: 0: 83 ec 0c subl $12, %esp42# MACHO-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)43# MACHO-i386: b: c7 04 24 24 00 00 00 movl $36, (%esp)44# MACHO-i386: e: GENERIC_RELOC_VANILLA __cstring45# MACHO-i386: 12: e8 1f 00 00 00 calll 0x3646# MACHO-i386: 13: GENERIC_RELOC_VANILLA __jump_table47# MACHO-i386: 17: e8 15 00 00 00 calll 0x3148# MACHO-i386: 18: GENERIC_RELOC_VANILLA __jump_table49# MACHO-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax50# MACHO-i386: 20: 83 c4 0c addl $12, %esp51# MACHO-i386: 23: c3 ret52 53# RUN: llvm-objdump --no-print-imm-hex -d -r %p/../Inputs/trivial-object-test.macho-x86-64 \54# RUN: | FileCheck %s -check-prefix MACHO-x86-6455 56# MACHO-x86-64: file format mach-o 64-bit x86-6457# MACHO-x86-64: Disassembly of section __TEXT,__text:58# MACHO-x86-64: <_main>:59# MACHO-x86-64: 0: 48 83 ec 08 subq $8, %rsp60# MACHO-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)61# MACHO-x86-64: c: 48 8d 3d 00 00 00 00 leaq (%rip), %rdi62# MACHO-x86-64: f: X86_64_RELOC_SIGNED L_.str63# MACHO-x86-64: 13: e8 00 00 00 00 callq 064# MACHO-x86-64: 14: X86_64_RELOC_BRANCH _puts65# MACHO-x86-64: 18: 30 c0 xorb %al, %al66# MACHO-x86-64: 1a: e8 00 00 00 00 callq 067# MACHO-x86-64: 1b: X86_64_RELOC_BRANCH _SomeOtherFunction68# MACHO-x86-64: 1f: 8b 44 24 04 movl 4(%rsp), %eax69# MACHO-x86-64: 23: 48 83 c4 08 addq $8, %rsp70# MACHO-x86-64: 27: c3 ret71 72# RUN: yaml2obj --docnum=1 %s -o %t.elf-i38673# RUN: llvm-objdump --no-print-imm-hex -d -r %t.elf-i386 | FileCheck %s --check-prefix=ELF-i38674 75# ELF-i386: file format elf32-i38676# ELF-i386: Disassembly of section .text:77# ELF-i386: <main>:78# ELF-i386: 0: 83 ec 0c subl $12, %esp79# ELF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)80# ELF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)81# ELF-i386: e: R_386_32 .rodata.str1.182# ELF-i386: 12: e8 fc ff ff ff calll 0x1383# ELF-i386: 13: R_386_PC32 puts84# ELF-i386: 17: e8 fc ff ff ff calll 0x1885# ELF-i386: 18: R_386_PC32 SomeOtherFunction86# ELF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax87# ELF-i386: 20: 83 c4 0c addl $12, %esp88# ELF-i386: 23: c3 ret89 90--- !ELF91FileHeader:92 Class: ELFCLASS3293 Data: ELFDATA2LSB94 Type: ET_REL95 Machine: EM_38696Sections:97 - Name: .text98 Type: SHT_PROGBITS99 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]100 Content: 83EC0CC744240800000000C7042400000000E8FCFFFFFFE8FCFFFFFF8B44240883C40CC3101 - Name: .rodata.str1.1102 Type: SHT_PROGBITS103 - Name: .rel.text104 Type: SHT_REL105 Info: .text106 Relocations:107 - Offset: 0x000000000000000E108 Symbol: .rodata.str1.1109 Type: R_386_32110 - Offset: 0x0000000000000013111 Symbol: puts112 Type: R_386_PC32113 - Offset: 0x0000000000000018114 Symbol: SomeOtherFunction115 Type: R_386_PC32116Symbols:117 - Name: .rodata.str1.1118 Type: STT_SECTION119 Section: .rodata.str1.1120 - Name: main121 Type: STT_FUNC122 Section: .text123 Binding: STB_GLOBAL124 - Name: SomeOtherFunction125 Binding: STB_GLOBAL126 - Name: puts127 Binding: STB_GLOBAL128 129# RUN: yaml2obj --docnum=2 %s -o %t.elf-x86-64130# RUN: llvm-objdump --no-print-imm-hex -d -r %t.elf-x86-64 | FileCheck %s --check-prefix=ELF-x86-64131 132--- !ELF133FileHeader:134 Class: ELFCLASS64135 Data: ELFDATA2LSB136 Type: ET_REL137 Machine: EM_X86_64138Sections:139 - Name: .text140 Type: SHT_PROGBITS141 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]142 Content: 4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3143 - Name: .rodata.str1.1144 Type: SHT_PROGBITS145 - Name: .rela.text146 Type: SHT_RELA147 Info: .text148 Relocations:149 - Offset: 0x000000000000000D150 Symbol: .rodata.str1.1151 Type: R_X86_64_32S152 - Offset: 0x0000000000000012153 Symbol: puts154 Type: R_X86_64_PC32155 Addend: -4156 - Offset: 0x0000000000000019157 Symbol: SomeOtherFunction158 Type: R_X86_64_PC32159 Addend: -4160Symbols:161 - Name: .rodata.str1.1162 Type: STT_SECTION163 Section: .rodata.str1.1164 - Name: main165 Type: STT_FUNC166 Section: .text167 Binding: STB_GLOBAL168 - Name: SomeOtherFunction169 Binding: STB_GLOBAL170 - Name: puts171 Binding: STB_GLOBAL172 173# ELF-x86-64: file format elf64-x86-64174# ELF-x86-64: Disassembly of section .text:175# ELF-x86-64: <main>:176# ELF-x86-64: 0: 48 83 ec 08 subq $8, %rsp177# ELF-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)178# ELF-x86-64: c: bf 00 00 00 00 movl $0, %edi179# ELF-x86-64: d: R_X86_64_32S .rodata.str1.1180# ELF-x86-64: 11: e8 00 00 00 00 callq 0181# ELF-x86-64: 12: R_X86_64_PC32 puts-0x4182# ELF-x86-64: 16: 30 c0 xorb %al, %al183# ELF-x86-64: 18: e8 00 00 00 00 callq 0184# ELF-x86-64: 19: R_X86_64_PC32 SomeOtherFunction-0x4185# ELF-x86-64: 1d: 8b 44 24 04 movl 4(%rsp), %eax186# ELF-x86-64: 21: 48 83 c4 08 addq $8, %rsp187# ELF-x86-64: 25: c3 ret188