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