13 .globl "?foobar@@YAHXZ" # -- Begin function ?foobar@@YAHXZ
15 "?foobar@@YAHXZ": # @"?foobar@@YAHXZ"
19 .cv_file 1 "C:\\src\\testing\\t2.cpp" "C9D7AF07363FDE8EC16D73EC30039C5B" 1
20 .cv_loc 0 1 5 0 # t2.cpp:5:0
26 .section .debug$S,"dr"
28 .long 4 # Debug section magic
30 .long .Ltmp2-.Ltmp1 # Subsection size
32 .short .Ltmp4-.Ltmp3 # Record length
34 .short 4412 # Record kind: S_COMPILE3
35 .long 1 # Flags and language
37 .short 9 # Frontend version
41 .short 9000 # Backend version
45 .asciz "clang version 9.0.0 (https://github.com/llvm/llvm-project.git ad522e17b285b1f2667163d52da5abf0968ec650)" # Null-terminated compiler version string
50 .long 241 # Symbol subsection for foobar
51 .long .Ltmp6-.Ltmp5 # Subsection size
53 .short .Ltmp8-.Ltmp7 # Record length
55 .short 4423 # Record kind: S_GPROC32_ID
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
66 .asciz "foobar" # Function name
69 .short .Ltmp10-.Ltmp9 # Record length
71 .short 4114 # Record kind: S_FRAMEPROC
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)
81 .short 2 # Record length
82 .short 4431 # Record kind: S_PROC_ID_END
85 .cv_linetable 0, "?foobar@@YAHXZ", .Lfunc_end0
86 .long 241 # Symbol subsection for globals
87 .long .Ltmp12-.Ltmp11 # Subsection size
89 .short .Ltmp14-.Ltmp13 # Record length
91 .short 4359 # Record kind: S_CONSTANT
93 .byte 0x2a, 0x00 # Value
97 .short .Ltmp16-.Ltmp15 # Record length
99 .short 4359 # Record kind: S_CONSTANT
101 .byte 0x2a, 0x00 # Value
107 .cv_filechecksums # File index to string table offset subsection
108 .cv_stringtable # String table
110 .long .Ltmp18-.Ltmp17 # Subsection size
112 .short .Ltmp20-.Ltmp19 # Record length
114 .short 4428 # Record kind: S_BUILDINFO
115 .long 4102 # LF_BUILDINFO index
120 .section .debug$T,"dr"
122 .long 4 # Debug section magic
124 # TypeLeafKind: LF_ARGLIST (0x1201)
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)
138 # ArgListType: () (0x1000)
140 .byte 0x0e, 0x00, 0x08, 0x10
141 .byte 0x74, 0x00, 0x00, 0x00
142 .byte 0x00, 0x00, 0x00, 0x00
143 .byte 0x00, 0x10, 0x00, 0x00
145 # TypeLeafKind: LF_FUNC_ID (0x1601)
147 # FunctionType: int () (0x1001)
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)
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)
168 # StringData: C:\src\testing
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)
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)
189 # ArgType: C:\src\testing (0x1004)
191 # ArgType: t2.cpp (0x1005)
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