xref: /llvm-project/lld/test/COFF/Inputs/pdb-global-constants-b.s (revision 9970817c57f7fe03cb75c8a37a11b5d7d1fbeb6f)
1	.text
2	.def	 @feat.00;
3	.scl	3;
4	.type	0;
5	.endef
6	.globl	@feat.00
7.set @feat.00, 0
8	.file	"t2.cpp"
9	.def	 "?foobar@@YAHXZ";
10	.scl	2;
11	.type	32;
12	.endef
13	.globl	"?foobar@@YAHXZ"        # -- Begin function ?foobar@@YAHXZ
14	.p2align	4, 0x90
15"?foobar@@YAHXZ":                       # @"?foobar@@YAHXZ"
16.Lfunc_begin0:
17	.cv_func_id 0
18# %bb.0:                                # %entry
19	.cv_file	1 "C:\\src\\testing\\t2.cpp" "C9D7AF07363FDE8EC16D73EC30039C5B" 1
20	.cv_loc	0 1 5 0                 # t2.cpp:5:0
21	movl	$84, %eax
22	retq
23.Ltmp0:
24.Lfunc_end0:
25                                        # -- End function
26	.section	.debug$S,"dr"
27	.p2align	2
28	.long	4                       # Debug section magic
29	.long	241
30	.long	.Ltmp2-.Ltmp1           # Subsection size
31.Ltmp1:
32	.short	.Ltmp4-.Ltmp3           # Record length
33.Ltmp3:
34	.short	4412                    # Record kind: S_COMPILE3
35	.long	1                       # Flags and language
36	.short	208                     # CPUType
37	.short	9                       # Frontend version
38	.short	0
39	.short	0
40	.short	0
41	.short	9000                    # Backend version
42	.short	0
43	.short	0
44	.short	0
45	.asciz	"clang version 9.0.0 (https://github.com/llvm/llvm-project.git ad522e17b285b1f2667163d52da5abf0968ec650)" # Null-terminated compiler version string
46	.p2align	2
47.Ltmp4:
48.Ltmp2:
49	.p2align	2
50	.long	241                     # Symbol subsection for foobar
51	.long	.Ltmp6-.Ltmp5           # Subsection size
52.Ltmp5:
53	.short	.Ltmp8-.Ltmp7           # Record length
54.Ltmp7:
55	.short	4423                    # Record kind: S_GPROC32_ID
56	.long	0                       # PtrParent
57	.long	0                       # PtrEnd
58	.long	0                       # PtrNext
59	.long	.Lfunc_end0-"?foobar@@YAHXZ" # Code size
60	.long	0                       # Offset after prologue
61	.long	0                       # Offset before epilogue
62	.long	4098                    # Function type index
63	.secrel32	"?foobar@@YAHXZ" # Function section relative address
64	.secidx	"?foobar@@YAHXZ"        # Function section index
65	.byte	0                       # Flags
66	.asciz	"foobar"                # Function name
67	.p2align	2
68.Ltmp8:
69	.short	.Ltmp10-.Ltmp9          # Record length
70.Ltmp9:
71	.short	4114                    # Record kind: S_FRAMEPROC
72	.long	0                       # FrameSize
73	.long	0                       # Padding
74	.long	0                       # Offset of padding
75	.long	0                       # Bytes of callee saved registers
76	.long	0                       # Exception handler offset
77	.short	0                       # Exception handler section
78	.long	0                       # Flags (defines frame register)
79	.p2align	2
80.Ltmp10:
81	.short	2                       # Record length
82	.short	4431                    # Record kind: S_PROC_ID_END
83.Ltmp6:
84	.p2align	2
85	.cv_linetable	0, "?foobar@@YAHXZ", .Lfunc_end0
86	.long	241                     # Symbol subsection for globals
87	.long	.Ltmp12-.Ltmp11         # Subsection size
88.Ltmp11:
89	.short	.Ltmp14-.Ltmp13         # Record length
90.Ltmp13:
91	.short	4359                    # Record kind: S_CONSTANT
92	.long	4099                    # Type
93	.byte	0x2a, 0x00              # Value
94	.asciz	"Foo"                   # Name
95	.p2align	2
96.Ltmp14:
97	.short	.Ltmp16-.Ltmp15         # Record length
98.Ltmp15:
99	.short	4359                    # Record kind: S_CONSTANT
100	.long	4099                    # Type
101	.byte	0x2a, 0x00              # Value
102	.asciz	"Bar"                   # Name
103	.p2align	2
104.Ltmp16:
105.Ltmp12:
106	.p2align	2
107	.cv_filechecksums               # File index to string table offset subsection
108	.cv_stringtable                 # String table
109	.long	241
110	.long	.Ltmp18-.Ltmp17         # Subsection size
111.Ltmp17:
112	.short	.Ltmp20-.Ltmp19         # Record length
113.Ltmp19:
114	.short	4428                    # Record kind: S_BUILDINFO
115	.long	4102                    # LF_BUILDINFO index
116	.p2align	2
117.Ltmp20:
118.Ltmp18:
119	.p2align	2
120	.section	.debug$T,"dr"
121	.p2align	2
122	.long	4                       # Debug section magic
123	# ArgList (0x1000) {
124	#   TypeLeafKind: LF_ARGLIST (0x1201)
125	#   NumArgs: 0
126	#   Arguments [
127	#   ]
128	# }
129	.byte	0x06, 0x00, 0x01, 0x12
130	.byte	0x00, 0x00, 0x00, 0x00
131	# Procedure (0x1001) {
132	#   TypeLeafKind: LF_PROCEDURE (0x1008)
133	#   ReturnType: int (0x74)
134	#   CallingConvention: NearC (0x0)
135	#   FunctionOptions [ (0x0)
136	#   ]
137	#   NumParameters: 0
138	#   ArgListType: () (0x1000)
139	# }
140	.byte	0x0e, 0x00, 0x08, 0x10
141	.byte	0x74, 0x00, 0x00, 0x00
142	.byte	0x00, 0x00, 0x00, 0x00
143	.byte	0x00, 0x10, 0x00, 0x00
144	# FuncId (0x1002) {
145	#   TypeLeafKind: LF_FUNC_ID (0x1601)
146	#   ParentScope: 0x0
147	#   FunctionType: int () (0x1001)
148	#   Name: foobar
149	# }
150	.byte	0x12, 0x00, 0x01, 0x16
151	.byte	0x00, 0x00, 0x00, 0x00
152	.byte	0x01, 0x10, 0x00, 0x00
153	.byte	0x66, 0x6f, 0x6f, 0x62
154	.byte	0x61, 0x72, 0x00, 0xf1
155	# Modifier (0x1003) {
156	#   TypeLeafKind: LF_MODIFIER (0x1001)
157	#   ModifiedType: int (0x74)
158	#   Modifiers [ (0x1)
159	#     Const (0x1)
160	#   ]
161	# }
162	.byte	0x0a, 0x00, 0x01, 0x10
163	.byte	0x74, 0x00, 0x00, 0x00
164	.byte	0x01, 0x00, 0xf2, 0xf1
165	# StringId (0x1004) {
166	#   TypeLeafKind: LF_STRING_ID (0x1605)
167	#   Id: 0x0
168	#   StringData: C:\src\testing
169	# }
170	.byte	0x16, 0x00, 0x05, 0x16
171	.byte	0x00, 0x00, 0x00, 0x00
172	.byte	0x43, 0x3a, 0x5c, 0x73
173	.byte	0x72, 0x63, 0x5c, 0x74
174	.byte	0x65, 0x73, 0x74, 0x69
175	.byte	0x6e, 0x67, 0x00, 0xf1
176	# StringId (0x1005) {
177	#   TypeLeafKind: LF_STRING_ID (0x1605)
178	#   Id: 0x0
179	#   StringData: t2.cpp
180	# }
181	.byte	0x0e, 0x00, 0x05, 0x16
182	.byte	0x00, 0x00, 0x00, 0x00
183	.byte	0x74, 0x32, 0x2e, 0x63
184	.byte	0x70, 0x70, 0x00, 0xf1
185	# BuildInfo (0x1006) {
186	#   TypeLeafKind: LF_BUILDINFO (0x1603)
187	#   NumArgs: 5
188	#   Arguments [
189	#     ArgType: C:\src\testing (0x1004)
190	#     ArgType: 0x0
191	#     ArgType: t2.cpp (0x1005)
192	#     ArgType: 0x0
193	#     ArgType: 0x0
194	#   ]
195	# }
196	.byte	0x1a, 0x00, 0x03, 0x16
197	.byte	0x05, 0x00, 0x04, 0x10
198	.byte	0x00, 0x00, 0x00, 0x00
199	.byte	0x00, 0x00, 0x05, 0x10
200	.byte	0x00, 0x00, 0x00, 0x00
201	.byte	0x00, 0x00, 0x00, 0x00
202	.byte	0x00, 0x00, 0xf2, 0xf1
203
204	.addrsig
205