blob: c2dde8c26ff3febf45e52f75db9ee71b58b9f326 [file] [log] [blame]
Chris Bieneman9cf90e62016-06-27 19:53:53 +00001# RUN: yaml2obj %s | llvm-readobj -sections -section-data - | FileCheck %s
2# RUN: yaml2obj -o %t %s
Simon Atanasyan926273d2014-05-15 16:14:02 +00003# RUN: llvm-readobj -sections -section-data %t | FileCheck %s
4
Sean Silva274264c2013-06-13 22:19:48 +00005!ELF
6FileHeader:
7 Class: ELFCLASS64
8 Data: ELFDATA2LSB
9 Type: ET_REL
10 Machine: EM_X86_64
11Sections:
12 - Name: .text
13 Type: SHT_PROGBITS
14 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Sean Silva97d37e82013-06-14 00:38:02 +000015 Address: 0xCAFEBABE
Sean Silvafe57e342013-06-15 00:25:26 +000016 Link: .text # Doesn't make sense for SHT_PROGBITS, but good enough for test.
Sean Silva2a7e79a2013-06-13 22:20:01 +000017 Content: EBFE
Sean Silva97d37e82013-06-14 00:38:02 +000018 AddressAlign: 2
Sean Silva274264c2013-06-13 22:19:48 +000019
Simon Atanasyan19ab8f82014-05-16 16:01:00 +000020 - Name: .data
21 Type: SHT_PROGBITS
22 Flags: [ SHF_ALLOC ]
23 Address: 0xCAFECAFE
24 Content: FEBF
25 Size: 8
26 AddressAlign: 2
27
Sean Silva274264c2013-06-13 22:19:48 +000028# 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: ]
Sean Silva97d37e82013-06-14 00:38:02 +000039# CHECK-NEXT: Address: 0xCAFEBABE
Sean Silva2a7e79a2013-06-13 22:20:01 +000040# CHECK: Size: 2
Sean Silvafe57e342013-06-15 00:25:26 +000041# Check that Link != 0.
42# CHECK: Link: {{[1-9][0-9]*}}
Sean Silva97d37e82013-06-14 00:38:02 +000043# CHECK: AddressAlignment: 2
Sean Silva2a7e79a2013-06-13 22:20:01 +000044# CHECK: SectionData (
45# CHECK-NEXT: 0000: EBFE
46# CHECK-NEXT: )
Simon Atanasyan9f685d32014-03-14 06:53:16 +000047#
48# CHECK: Section {
Simon Atanasyan19ab8f82014-05-16 16:01:00 +000049# 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
Simon Atanasyan3c1e74b2015-07-08 06:57:24 +000055# CHECK-NEXT: Offset: 0x{{[0-9A-F]+}}
Simon Atanasyan19ab8f82014-05-16 16:01:00 +000056# 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 {
Hans Wennborg14d1db92014-04-30 19:38:09 +000066# CHECK: Name: .symtab (25)
Simon Atanasyan9f685d32014-03-14 06:53:16 +000067# CHECK: Type: SHT_SYMTAB (0x2)
Simon Atanasyanba8d9482015-07-09 18:23:02 +000068# CHECK: AddressAlignment: 8
Simon Atanasyan9f685d32014-03-14 06:53:16 +000069# CHECK: }
70# CHECK: Section {
Hans Wennborg14d1db92014-04-30 19:38:09 +000071# CHECK: Name: .strtab (17)
Simon Atanasyan9f685d32014-03-14 06:53:16 +000072# CHECK: Type: SHT_STRTAB (0x3)
Simon Atanasyanba8d9482015-07-09 18:23:02 +000073# CHECK: AddressAlignment: 1
Simon Atanasyan9f685d32014-03-14 06:53:16 +000074# CHECK: }
75# CHECK: Section {
Hans Wennborg14d1db92014-04-30 19:38:09 +000076# CHECK: Name: .shstrtab (7)
Simon Atanasyan9f685d32014-03-14 06:53:16 +000077# CHECK: Type: SHT_STRTAB (0x3)
Simon Atanasyanba8d9482015-07-09 18:23:02 +000078# CHECK: AddressAlignment: 1
Simon Atanasyan9f685d32014-03-14 06:53:16 +000079# CHECK: }