[lit] Add argument check: --timeout must be non-negative integer
[llvm-core.git] / test / tools / yaml2obj / program-header-size-offset.yaml
blob2cfddd2daa6025552e120f41c55534d3ce4a2e40
1 # Show that yaml2obj properly emits program headers with explicit file size,
2 # memory size and offset parameters.
4 # RUN: yaml2obj %s -o %t
5 # RUN: llvm-readobj %t --program-headers | FileCheck %s
7 # CHECK: ProgramHeaders [
8 # CHECK:    Offset: 0x1234
9 # CHECK:    FileSize: 1111
10 # CHECK:    MemSize: 9999
12 # CHECK:    Offset: 0x2000
13 # CHECK:    FileSize: 6
14 # CHECK:    MemSize: 4
16 # CHECK:    Offset: 0x2000
17 # CHECK:    FileSize: 4
18 # CHECK:    MemSize: 6
20 # CHECK:    Offset: 0x1FFF
21 # CHECK:    FileSize: 5
22 # CHECK:    MemSize: 5
24 # CHECK:    Offset: 0xFFE
25 # CHECK:    FileSize: 7
26 # CHECK:    MemSize: 9
28 # CHECK:    Offset: 0x3000
29 # CHECK:    FileSize: 3
30 # CHECK:    MemSize: 2
32 # CHECK:    Offset: 0x2004
33 # CHECK:    FileSize: 4
34 # CHECK:    MemSize: 6
35 # CHECK: ]
37 !ELF
38 FileHeader:
39   Class:           ELFCLASS64
40   Data:            ELFDATA2LSB
41   Type:            ET_EXEC
42   Machine:         EM_X86_64
43 Sections:
44   - Name: .text
45     Type: SHT_PROGBITS
46     Size: 4
47     ShOffset: 0x1000
48     AddressAlign: 0x1000
49   - Name: .rodata
50     Type: SHT_PROGBITS
51     Size: 4
52     ShOffset: 0x2000
53     AddressAlign: 0x1000
54   - Name: .data
55     Type: SHT_PROGBITS
56     ShOffset: 0x2004
57     Size: 4
58   - Name: .nobits1
59     Type: SHT_NOBITS
60     ShOffset: 0x2008
61     Size: 1
62   - Name: .nobits2
63     Type: SHT_NOBITS
64     # Intentionally set to 0x2009 though the previous section is SHT_NOBITS.
65     ShOffset: 0x2009
66     Size: 1
67 ProgramHeaders:
68   # Program header with no sections.
69   - Type:     0x6abcdef0 # arbitrary type
70     Offset:   0x1234
71     FileSize: 1111
72     MemSize:  9999
73   # Program header with only file size set.
74   - Type:     0x6abcdef0
75     FileSize: 6
76     Sections:
77       - Section: .rodata
78   # Program header with only mem size set.
79   - Type:     0x6abcdef0
80     MemSize: 6
81     Sections:
82       - Section: .rodata
83   # Program header with only offset set.
84   - Type:     0x6abcdef0
85     Offset:   0x1fff
86     Sections:
87       - Section: .rodata
88   # Program header with sections, valid properties.
89   - Type:     0x6abcdef0
90     Offset:   0xffe
91     FileSize: 7
92     MemSize:  9
93     Sections:
94       - Section: .text
95   # Program header with sections, invalid properties.
96   - Type:     0x6abcdef0
97     Offset:   0x3000
98     FileSize: 3
99     MemSize:  2
100     Sections:
101       - Section: .data
102   # Program header with 2 SHT_NOBITS sections.
103   - Type:     0x6abcdef0
104     Offset:   0x2004
105     Sections:
106       - Section: .data
107       - Section: .nobits1
108       - Section: .nobits2