objdump-trivial-object.test 3.61 KB
# RUN: llvm-objdump -d %p/../Inputs/trivial-object-test.coff-i386 \
# RUN:              | FileCheck %s -check-prefix COFF-i386

# COFF-i386: file format coff-i386
# COFF-i386: Disassembly of section .text:
# COFF-i386:        0:  83 ec 0c                      subl    $12, %esp
# COFF-i386:        3:  c7 44 24 08 00 00 00 00       movl    $0, 8(%esp)
# COFF-i386:        b:  c7 04 24 00 00 00 00          movl    $0, (%esp)
# COFF-i386:       12: e8 00 00 00 00                 calll   0
# COFF-i386:       17: e8 00 00 00 00                 calll   0
# COFF-i386:       1c: 8b 44 24 08                    movl    8(%esp), %eax
# COFF-i386:       20: 83 c4 0c                       addl    $12, %esp
# COFF-i386:       23: c3                             ret

# RUN: llvm-objdump -d %p/../Inputs/trivial-object-test.coff-x86-64 \
# RUN:              | FileCheck %s -check-prefix COFF-x86-64

# COFF-x86-64: file format coff-x86-64
# COFF-x86-64: Disassembly of section .text:
# COFF-x86-64:        0: 48 83 ec 28                  subq    $40, %rsp
# COFF-x86-64:        4: c7 44 24 24 00 00 00 00      movl    $0, 36(%rsp)
# COFF-x86-64:        c: 48 8d 0d 00 00 00 00         leaq    (%rip), %rcx
# COFF-x86-64:       13: e8 00 00 00 00               callq   0
# COFF-x86-64:       18: e8 00 00 00 00               callq   0
# COFF-x86-64:       1d: 8b 44 24 24                  movl    36(%rsp), %eax
# COFF-x86-64:       21: 48 83 c4 28                  addq    $40, %rsp
# COFF-x86-64:       25: c3                           ret

# RUN: yaml2obj --docnum=1 %s -o %t.elf-i386
# RUN: llvm-objdump -d %t.elf-i386 | FileCheck %s --check-prefix=ELF-i386

# ELF-i386: file format elf32-i386
# ELF-i386: Disassembly of section .text:
# ELF-i386:        0: 83 ec 0c                        subl    $12, %esp
# ELF-i386:        3: c7 44 24 08 00 00 00 00         movl    $0, 8(%esp)
# ELF-i386:        b: c7 04 24 00 00 00 00            movl    $0, (%esp)
# ELF-i386:       12: e8 fc ff ff ff                  calll   0x13
# ELF-i386:       17: e8 fc ff ff ff                  calll   0x18
# ELF-i386:       1c: 8b 44 24 08                     movl    8(%esp), %eax
# ELF-i386:       20: 83 c4 0c                        addl    $12, %esp
# ELF-i386:       23: c3                              ret

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_386
Sections:
  - Name:    .text
    Type:    SHT_PROGBITS
    Flags:   [ SHF_ALLOC, SHF_EXECINSTR ]
    Content: 83EC0CC744240800000000C7042400000000E8FCFFFFFFE8FCFFFFFF8B44240883C40CC3

# RUN: yaml2obj --docnum=2 %s -o %t.elf-x86-64
# RUN: llvm-objdump -d %t.elf-x86-64 | FileCheck %s --check-prefix=ELF-x86-64

# ELF-x86-64: file format elf64-x86-64
# ELF-x86-64: Disassembly of section .text:
# 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    $0, %edi
# ELF-x86-64:       11: e8 00 00 00 00                callq   0
# ELF-x86-64:       16: 30 c0                         xorb    %al, %al
# ELF-x86-64:       18: e8 00 00 00 00                callq   0
# 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

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name:    .text
    Type:    SHT_PROGBITS
    Flags:   [ SHF_ALLOC, SHF_EXECINSTR ]
    Content: 4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3