• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: llvm-mc -triple i386-pc-win32 -filetype=obj %s | llvm-readobj -s | FileCheck %s
2// RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-readobj -s | FileCheck %s
3
4.section .foo$bar; .long 1
5.section .foo@bar; .long 1
6.section ABCDEFGHIJKLMNOPQRSTUVWXYZ; .long 1
7.section abcdefghijklmnopqrstuvwxyz; .long 1
8.section _0123456789; .long 1
9
10// CHECK: Sections [
11// CHECK:   Section {
12// CHECK:     Name: .foo$bar
13// CHECK:   }
14// CHECK:   Section {
15// CHECK:     Name: .foo@bar
16// CHECK:   }
17// CHECK:   Section {
18// CHECK:     Name: ABCDEFGHIJKLMNOPQRSTUVWXYZ
19// CHECK:   }
20// CHECK:   Section {
21// CHECK:     Name: abcdefghijklmnopqrstuvwxyz
22// CHECK:   }
23// CHECK:   Section {
24// CHECK:     Name: _0123456789
25// CHECK:   }
26
27// Test that the defaults are used
28.section s      ; .long 1
29.section s_, "" ; .long 1
30.section s_a,"a"; .long 1
31.section s_b,"b"; .long 1
32.section s_d,"d"; .long 1
33.section s_D,"D"; .long 1
34.section s_n,"n"; .long 1
35.section s_r,"r"; .long 1
36.section s_s,"s"; .long 1
37.section s_w,"w"; .long 1
38.section s_x,"x"; .long 1
39.section s_y,"y"; .long 1
40
41// CHECK:        Section {
42// CHECK:          Name: s
43// CHECK:          Characteristics [
44// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
45// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
46// CHECK-NEXT:       IMAGE_SCN_MEM_READ
47// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
48// CHECK-NEXT:     ]
49// CHECK:        }
50// CHECK:        Section {
51// CHECK:          Name: s_
52// CHECK:          Characteristics [
53// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
54// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
55// CHECK-NEXT:       IMAGE_SCN_MEM_READ
56// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
57// CHECK-NEXT:     ]
58// CHECK:        }
59// CHECK:        Section {
60// CHECK:          Name: s_a
61// CHECK:          Characteristics [
62// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
63// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
64// CHECK-NEXT:       IMAGE_SCN_MEM_READ
65// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
66// CHECK-NEXT:     ]
67// CHECK:        }
68// CHECK:        Section {
69// CHECK:          Name: s_b
70// CHECK:          Characteristics [
71// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
72// CHECK-NEXT:       IMAGE_SCN_CNT_UNINITIALIZED_DATA
73// CHECK-NEXT:       IMAGE_SCN_MEM_READ
74// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
75// CHECK-NEXT:     ]
76// CHECK:        }
77// CHECK:        Section {
78// CHECK:          Name: s_d
79// CHECK:          Characteristics [
80// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
81// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
82// CHECK-NEXT:       IMAGE_SCN_MEM_READ
83// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
84// CHECK-NEXT:     ]
85// CHECK:        }
86// CHECK:        Section {
87// CHECK:          Name: s_D
88// CHECK:          Characteristics [
89// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
90// CHECK-NEXT:       IMAGE_SCN_MEM_DISCARDABLE
91// CHECK-NEXT:       IMAGE_SCN_MEM_READ
92// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
93// CHECK-NEXT:     ]
94// CHECK:        }
95// CHECK:        Section {
96// CHECK:          Name: s_n
97// CHECK:          Characteristics [
98// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
99// CHECK-NEXT:       IMAGE_SCN_LNK_REMOVE
100// CHECK-NEXT:       IMAGE_SCN_MEM_READ
101// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
102// CHECK-NEXT:     ]
103// CHECK:        }
104// CHECK:        Section {
105// CHECK:          Name: s_r
106// CHECK:          Characteristics [
107// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
108// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
109// CHECK-NEXT:       IMAGE_SCN_MEM_READ
110// CHECK-NEXT:     ]
111// CHECK:        }
112// CHECK:        Section {
113// CHECK:          Name: s_s
114// CHECK:          Characteristics [
115// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
116// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
117// CHECK-NEXT:       IMAGE_SCN_MEM_READ
118// CHECK-NEXT:       IMAGE_SCN_MEM_SHARED
119// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
120// CHECK-NEXT:     ]
121// CHECK:        }
122// CHECK:        Section {
123// CHECK:          Name: s_w
124// CHECK:          Characteristics [
125// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
126// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
127// CHECK-NEXT:       IMAGE_SCN_MEM_READ
128// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
129// CHECK-NEXT:     ]
130// CHECK:        }
131// CHECK:        Section {
132// CHECK:          Name: s_x
133// CHECK:          Characteristics [
134// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
135// CHECK-NEXT:       IMAGE_SCN_CNT_CODE
136// CHECK-NEXT:       IMAGE_SCN_MEM_EXECUTE
137// CHECK-NEXT:       IMAGE_SCN_MEM_READ
138// CHECK-NEXT:     ]
139// CHECK:        }
140// CHECK:        Section {
141// CHECK:          Name: s_y
142// CHECK:          Characteristics [
143// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
144// CHECK-NEXT:     ]
145// CHECK:        }
146
147// w makes read-only to readable
148.section s_rw,"rw"; .long 1
149// CHECK:        Section {
150// CHECK:          Name: s_rw
151// CHECK:          Characteristics [
152// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
153// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
154// CHECK-NEXT:       IMAGE_SCN_MEM_READ
155// CHECK-NEXT:       IMAGE_SCN_MEM_WRITE
156// CHECK-NEXT:     ]
157// CHECK:        }
158
159// r cancels w
160.section s_wr,"wr"; .long 1
161// CHECK:        Section {
162// CHECK:          Name: s_wr
163// CHECK:          Characteristics [
164// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
165// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
166// CHECK-NEXT:       IMAGE_SCN_MEM_READ
167// CHECK-NEXT:     ]
168// CHECK:        }
169
170// y cancels both
171.section s_rwy,"rwy"; .long 1
172// CHECK:        Section {
173// CHECK:          Name: s_rwy
174// CHECK:          Characteristics [
175// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
176// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
177// CHECK-NEXT:     ]
178// CHECK:        }
179
180// Sections starting with ".debug" are implicitly discardable. This is
181// compatible with gas.
182.section .debug_asdf,"dr"; .long 1
183// CHECK:        Section {
184// CHECK:          Name: .debug_asdf
185// CHECK:          Characteristics [
186// CHECK-NEXT:       IMAGE_SCN_ALIGN_1BYTES
187// CHECK-NEXT:       IMAGE_SCN_CNT_INITIALIZED_DATA
188// CHECK-NEXT:       IMAGE_SCN_MEM_DISCARDABLE
189// CHECK-NEXT:       IMAGE_SCN_MEM_READ
190// CHECK-NEXT:     ]
191// CHECK:        }
192
193
194// CHECK:      ]
195