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