blob: 984e5d20c8880a748bc2fa0c46393cb8028ed417 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
; RUN: llvm-ml %s /Fo - | llvm-readobj --section-headers - | FileCheck %s
t1 SEGMENT BYTE
t1 ENDS
; CHECK-LABEL: Name: t1
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_1BYTES
t2 SEGMENT WORD
t2 ENDS
; CHECK-LABEL: Name: t2
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_2BYTES
t3 SEGMENT DWORD
t3 ENDS
; CHECK-LABEL: Name: t3
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_4BYTES
t4 SEGMENT PARA
t4 ENDS
; CHECK-LABEL: Name: t4
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_16BYTES
t5 SEGMENT PAGE
t5 ENDS
; CHECK-LABEL: Name: t5
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_256BYTES
; Default alignment (should match PARA)
t6 SEGMENT
t6 ENDS
; CHECK-LABEL: Name: t6
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_16BYTES
; Unnamed alignment
t7 SEGMENT ALIGN(32)
t7 ENDS
; CHECK-LABEL: Name: t7
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_32BYTES
t8 SEGMENT ALIAS('t8_alias')
t8 ENDS
; CHECK-LABEL: Name: t8_alias
t9 SEGMENT 'DATA'
t9 ENDS
; CHECK-LABEL: Name: t9
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t10 SEGMENT 'CODE'
t10 ENDS
; CHECK-LABEL: Name: t10
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_CNT_CODE
; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK: }
t11 SEGMENT 'CONST'
t11 ENDS
; CHECK-LABEL: Name: t11
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t12 SEGMENT 'STACK'
t12 ENDS
; CHECK-LABEL: Name: t12
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t13 SEGMENT 'DOESNTEXIST'
t13 ENDS
; CHECK-LABEL: Name: t13
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t14 SEGMENT READONLY 'CONST'
t14 ENDS
; CHECK-LABEL: Name: t14
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK: }
t15 SEGMENT WRITE
t15 ENDS
; CHECK-LABEL: Name: t15
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK-NOT: IMAGE_SCN_MEM_READ
; CHECK: }
t16 SEGMENT SHARED NOPAGE NOCACHE INFO READ WRITE EXECUTE DISCARD
t16 ENDS
; CHECK-LABEL: Name: t16
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_LNK_INFO
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
; CHECK-DAG: IMAGE_SCN_MEM_SHARED
; CHECK-DAG: IMAGE_SCN_MEM_NOT_PAGED
; CHECK-DAG: IMAGE_SCN_MEM_NOT_CACHED
; CHECK-DAG: IMAGE_SCN_MEM_DISCARDABLE
; CHECK: }
_TEXT SEGMENT
_TEXT ENDS
; CHECK-LABEL: Name: .text
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_CNT_CODE
; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK: }
END
|