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