Sean Silva | 6b08388 | 2013-06-18 23:14:03 +0000 | [diff] [blame] | 1 | # RUN: yaml2obj -format=elf %s | llvm-readobj -symbols - | FileCheck %s |
Sean Silva | 05001b9 | 2013-06-20 20:59:47 +0000 | [diff] [blame] | 2 | # RUN: yaml2obj -format=elf %s | llvm-objdump -d -no-show-raw-insn - | FileCheck %s --check-prefix=DISASSEMBLY |
Sean Silva | 6b08388 | 2013-06-18 23:14:03 +0000 | [diff] [blame] | 3 | !ELF |
| 4 | FileHeader: |
| 5 | Class: ELFCLASS64 |
| 6 | Data: ELFDATA2LSB |
| 7 | Type: ET_REL |
| 8 | Machine: EM_X86_64 |
| 9 | Sections: |
| 10 | - Name: .text |
| 11 | Type: SHT_PROGBITS |
| 12 | Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
Sean Silva | 05001b9 | 2013-06-20 20:59:47 +0000 | [diff] [blame] | 13 | Content: "90EBFE" # x86 machine code |
| 14 | # NOP ; To make main's `Value` non-zero (for testing). |
| 15 | # main: |
| 16 | # JMP -2 ; (infloop) |
| 17 | # This YAML file is a valid relocatable object that, |
| 18 | # when linked and run on x86_64, will go into an |
| 19 | # infloop. |
Sean Silva | 6b08388 | 2013-06-18 23:14:03 +0000 | [diff] [blame] | 20 | - Name: .symtab |
| 21 | Type: SHT_SYMTAB |
| 22 | Symbols: |
Sean Silva | aff5125 | 2013-06-21 00:27:50 +0000 | [diff] [blame] | 23 | Global: |
| 24 | - Name: main |
| 25 | Type: STT_FUNC |
| 26 | Section: .text |
| 27 | Value: 0x1 |
| 28 | Size: 2 |
Sean Silva | c4afa6d | 2013-06-21 01:11:48 +0000 | [diff] [blame^] | 29 | - Name: undefined_symbol |
Sean Silva | 6b08388 | 2013-06-18 23:14:03 +0000 | [diff] [blame] | 30 | |
| 31 | # CHECK: Symbols [ |
| 32 | # CHECK-NEXT: Symbol { |
| 33 | # CHECK-NEXT: Name: (0) |
| 34 | # CHECK: Symbol { |
| 35 | # CHECK-NEXT: Name: main |
Sean Silva | 05001b9 | 2013-06-20 20:59:47 +0000 | [diff] [blame] | 36 | # CHECK-NEXT: Value: 0x1 |
| 37 | # CHECK-NEXT: Size: 2 |
Sean Silva | bba8559 | 2013-06-19 00:11:59 +0000 | [diff] [blame] | 38 | # CHECK: Binding: Global |
| 39 | # CHECK-NEXT: Type: Function |
Sean Silva | 9818622 | 2013-06-20 20:59:41 +0000 | [diff] [blame] | 40 | # CHECK: Section: .text |
Sean Silva | c4afa6d | 2013-06-21 01:11:48 +0000 | [diff] [blame^] | 41 | # CHECK: Symbol { |
| 42 | # CHECK: Name: undefined_symbol |
| 43 | # CHECK: Section: (0x0) |
Sean Silva | 05001b9 | 2013-06-20 20:59:47 +0000 | [diff] [blame] | 44 | |
| 45 | # DISASSEMBLY: Disassembly of section .text: |
| 46 | # DISASSEMBLY-NEXT: main: |
| 47 | # DISASSEMBLY-NEXT: 1: jmp -2 |