blob: f19db424509376238c29b82733a2f67539b94906 [file] [log] [blame]
Sean Silva6b083882013-06-18 23:14:03 +00001# RUN: yaml2obj -format=elf %s | llvm-readobj -symbols - | FileCheck %s
Sean Silva05001b92013-06-20 20:59:47 +00002# RUN: yaml2obj -format=elf %s | llvm-objdump -d -no-show-raw-insn - | FileCheck %s --check-prefix=DISASSEMBLY
Sean Silva6b083882013-06-18 23:14:03 +00003!ELF
4FileHeader:
5 Class: ELFCLASS64
6 Data: ELFDATA2LSB
7 Type: ET_REL
8 Machine: EM_X86_64
9Sections:
10 - Name: .text
11 Type: SHT_PROGBITS
12 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Sean Silva05001b92013-06-20 20:59:47 +000013 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 Silva6b083882013-06-18 23:14:03 +000020 - Name: .symtab
21 Type: SHT_SYMTAB
22 Symbols:
Sean Silvaaff51252013-06-21 00:27:50 +000023 Global:
24 - Name: main
25 Type: STT_FUNC
26 Section: .text
27 Value: 0x1
28 Size: 2
Sean Silvac4afa6d2013-06-21 01:11:48 +000029 - Name: undefined_symbol
Sean Silva6b083882013-06-18 23:14:03 +000030
31# CHECK: Symbols [
32# CHECK-NEXT: Symbol {
33# CHECK-NEXT: Name: (0)
34# CHECK: Symbol {
35# CHECK-NEXT: Name: main
Sean Silva05001b92013-06-20 20:59:47 +000036# CHECK-NEXT: Value: 0x1
37# CHECK-NEXT: Size: 2
Sean Silvabba85592013-06-19 00:11:59 +000038# CHECK: Binding: Global
39# CHECK-NEXT: Type: Function
Sean Silva98186222013-06-20 20:59:41 +000040# CHECK: Section: .text
Sean Silvac4afa6d2013-06-21 01:11:48 +000041# CHECK: Symbol {
42# CHECK: Name: undefined_symbol
43# CHECK: Section: (0x0)
Sean Silva05001b92013-06-20 20:59:47 +000044
45# DISASSEMBLY: Disassembly of section .text:
46# DISASSEMBLY-NEXT: main:
47# DISASSEMBLY-NEXT: 1: jmp -2