Merging r260587:
[oota-llvm.git] / test / Object / yaml2obj-elf-section-basic.yaml
1 # RUN: yaml2obj -format=elf %s | llvm-readobj -sections -section-data - | FileCheck %s
2 # RUN: yaml2obj -format=elf -o %t %s
3 # RUN: llvm-readobj -sections -section-data %t | FileCheck %s
4
5 !ELF
6 FileHeader:
7   Class: ELFCLASS64
8   Data: ELFDATA2LSB
9   Type: ET_REL
10   Machine: EM_X86_64
11 Sections:
12   - Name: .text
13     Type: SHT_PROGBITS
14     Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
15     Address: 0xCAFEBABE
16     Link: .text # Doesn't make sense for SHT_PROGBITS, but good enough for test.
17     Content: EBFE
18     AddressAlign: 2
19
20   - Name: .data
21     Type: SHT_PROGBITS
22     Flags: [ SHF_ALLOC ]
23     Address: 0xCAFECAFE
24     Content: FEBF
25     Size: 8
26     AddressAlign: 2
27
28 # CHECK:        Section {
29 # CHECK:          Index: 0
30 # CHECK:          Type: SHT_NULL (0x0)
31 #
32 # CHECK:        Section {
33 # CHECK:          Name: .text
34 # CHECK:          Type: SHT_PROGBITS (0x1)
35 # CHECK-NEXT:     Flags [ (0x6)
36 # CHECK-NEXT:       SHF_ALLOC (0x2)
37 # CHECK-NEXT:       SHF_EXECINSTR (0x4)
38 # CHECK-NEXT:     ]
39 # CHECK-NEXT:     Address: 0xCAFEBABE
40 # CHECK:          Size: 2
41 # Check that Link != 0.
42 # CHECK:          Link: {{[1-9][0-9]*}}
43 # CHECK:          AddressAlignment: 2
44 # CHECK:          SectionData (
45 # CHECK-NEXT:       0000: EBFE
46 # CHECK-NEXT:     )
47 #
48 # CHECK:        Section {
49 # CHECK:          Name: .data
50 # CHECK-NEXT:     Type: SHT_PROGBITS (0x1)
51 # CHECK-NEXT:     Flags [ (0x2)
52 # CHECK-NEXT:       SHF_ALLOC (0x2)
53 # CHECK-NEXT:     ]
54 # CHECK-NEXT:     Address: 0xCAFECAFE
55 # CHECK-NEXT:     Offset: 0x{{[0-9A-F]+}}
56 # CHECK-NEXT:     Size: 8
57 # CHECK-NEXT:     Link: 0
58 # CHECK-NEXT:     Info: 0
59 # CHECK-NEXT:     AddressAlignment: 2
60 # CHECK-NEXT:     EntrySize: 0
61 # CHECK-NEXT:     SectionData (
62 # CHECK-NEXT:       0000: FEBF0000 00000000 |........|
63 # CHECK-NEXT:     )
64 #
65 # CHECK:        Section {
66 # CHECK:          Name: .symtab (25)
67 # CHECK:          Type: SHT_SYMTAB (0x2)
68 # CHECK:          AddressAlignment: 8
69 # CHECK:        }
70 # CHECK:        Section {
71 # CHECK:          Name: .strtab (17)
72 # CHECK:          Type: SHT_STRTAB (0x3)
73 # CHECK:          AddressAlignment: 1
74 # CHECK:        }
75 # CHECK:        Section {
76 # CHECK:          Name: .shstrtab (7)
77 # CHECK:          Type: SHT_STRTAB (0x3)
78 # CHECK:          AddressAlignment: 1
79 # CHECK:        }