Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / yaml2obj / ELF / override-shoffset.yaml
blob48c60d518c22e64a9a4683fb126594bb887f89d8
1 ## Check we are able to set custom sh_offset field
2 ## for different sections.
4 # RUN: yaml2obj --docnum=1 %s -o %t1
5 # RUN: llvm-readelf --sections %t1 | FileCheck %s --check-prefix=CASE1
7 # CASE1:      Section Headers:
8 # CASE1-NEXT:  [Nr] Name           Type     Address Off
9 # CASE1-NEXT:  [ 0]                NULL     {{.*}}  000000
10 # CASE1-NEXT:  [ 1] .dynsym        DYNSYM   {{.*}}  000001
11 # CASE1-NEXT:  [ 2] .symtab        SYMTAB   {{.*}}  000002
12 # CASE1-NEXT:  [ 3] .dynamic       DYNAMIC  {{.*}}  000003
13 # CASE1-NEXT:  [ 4] .rela          RELA     {{.*}}  000004
14 # CASE1-NEXT:  [ 5] .nobits        NOBITS   {{.*}}  000005
15 # CASE1-NEXT:  [ 6] .group         GROUP    {{.*}}  000006
16 # CASE1-NEXT:  [ 7] .gnu.version   VERSYM   {{.*}}  000007
17 # CASE1-NEXT:  [ 8] .gnu.version_r VERNEED  {{.*}}  000008
18 # CASE1-NEXT:  [ 9] .gnu.version_d VERDEF   {{.*}}  000009
19 # CASE1-NEXT:  [10] .regular       PROGBITS {{.*}}  00000a
20 # CASE1-NEXT:  [11] .strtab        STRTAB   {{.*}}  00000b
22 --- !ELF
23 FileHeader:
24   Class: ELFCLASS64
25   Data:  ELFDATA2LSB
26   Type:  ET_REL
27 Sections:
28   - Name: .dynsym
29     Type: SHT_DYNSYM
30     ShOffset: 0x000000001
31   - Name: .symtab
32     Type: SHT_SYMTAB
33     ShOffset: 0x000000002
34   - Name: .dynamic
35     Type: SHT_DYNAMIC
36     ShOffset: 0x000000003
37   - Name: .rela
38     Type: SHT_RELA
39     ShOffset: 0x000000004
40   - Name: .nobits
41     Type: SHT_NOBITS
42     ShOffset: 0x000000005
43   - Name: .group
44     Type: SHT_GROUP
45     ShOffset: 0x000000006
46     Members:
47   - Name: .gnu.version
48     Type: SHT_GNU_versym
49     Entries: [ ]
50     ShOffset: 0x000000007
51   - Name:     .gnu.version_r
52     Type:     SHT_GNU_verneed
53     ShOffset: 0x000000008
54     Dependencies:
55   - Name: .gnu.version_d
56     Type: SHT_GNU_verdef
57     ShOffset: 0x000000009
58     Entries:
59   - Name: .regular
60     Type: SHT_PROGBITS
61     ShOffset: 0x00000000A
62   - Name: .strtab
63     Type: SHT_STRTAB
64     ShOffset: 0x00000000B
66 ## Here we check that defining ShOffset does not actually change
67 ## the offset at which section data is placed and also does
68 ## not affect file size.
70 # RUN: yaml2obj --docnum=2 %s -o %t2
71 # RUN: yaml2obj --docnum=3 %s -o %t3
72 # RUN: od -t x1 -v %t2 > %t.txt
73 # RUN: od -t x1 -v %t3 >> %t.txt
74 # RUN: FileCheck %s --input-file=%t.txt --ignore-case --check-prefix=CASE2
76 # CASE2: [[OFFSET:.*]] fe fe fe fe fe fe fe fe
77 # CASE2: [[FILESIZE:.*]]{{$}}
78 # CASE2: [[OFFSET]] fe fe fe fe fe fe fe fe
79 # CASE2: [[FILESIZE]]{{$}}
81 --- !ELF
82 FileHeader:
83   Class: ELFCLASS64
84   Data:  ELFDATA2LSB
85   Type:  ET_REL
86 Sections:
87   - Name: .foo
88     Type: SHT_PROGBITS
89     Content: "fefefefefefefefe"
91 --- !ELF
92 FileHeader:
93   Class: ELFCLASS64
94   Data:  ELFDATA2LSB
95   Type:  ET_REL
96 Sections:
97   - Name: .foo
98     Type: SHT_PROGBITS
99     ShOffset: 0xFFFF0000
100     Content: "fefefefefefefefe"