1// REQUIRES: x86-registered-target 2 3// RUN: llvm-mc -filetype=obj -triple=i386-linux-gnu -o %t.o %s 4// RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s 5 6// CHECK: f 7// CHECK-NEXT: a 8// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:11 9// CHECK-NEXT: -5 1 ?? 10// CHECK-NEXT: f 11// CHECK-NEXT: b 12// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:12 13// CHECK-NEXT: -12 4 ?? 14// CHECK-NEXT: f 15// CHECK-NEXT: c 16// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:13 17// CHECK-NEXT: -16 4 ?? 18// CHECK-NEXT: f 19// CHECK-NEXT: d 20// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:14 21// CHECK-NEXT: -20 4 ?? 22// CHECK-NEXT: f 23// CHECK-NEXT: e 24// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:15 25// CHECK-NEXT: -32 8 ?? 26// CHECK-NEXT: f 27// CHECK-NEXT: f 28// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:16 29// CHECK-NEXT: -36 4 ?? 30// CHECK-NEXT: f 31// CHECK-NEXT: g 32// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:17 33// CHECK-NEXT: -37 1 ?? 34// CHECK-NEXT: f 35// CHECK-NEXT: h 36// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:18 37// CHECK-NEXT: -38 1 ?? 38// CHECK-NEXT: f 39// CHECK-NEXT: i 40// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:19 41// CHECK-NEXT: -44 4 ?? 42// CHECK-NEXT: f 43// CHECK-NEXT: j 44// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:21 45// CHECK-NEXT: -45 1 ?? 46// CHECK-NEXT: f 47// CHECK-NEXT: k 48// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:22 49// CHECK-NEXT: -57 12 ?? 50// CHECK-NEXT: f 51// CHECK-NEXT: l 52// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:23 53// CHECK-NEXT: -345 288 ?? 54// CHECK-NEXT: f 55// CHECK-NEXT: m 56// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:24 57// CHECK-NEXT: -352 4 ?? 58 59// Generated from: 60// 61// struct S; 62// 63// void f() { 64// char a; 65// char *b; 66// char &c = a; 67// char &&d = 1; 68// char (S::*e)(); 69// char S::*f; 70// const char g = 2; 71// volatile char h; 72// char *__restrict i; 73// typedef char char_typedef; 74// char_typedef j; 75// char k[12]; 76// char l[12][24]; 77// } 78// 79// clang++ --target=i386-linux-gnu frame-types.cpp -g -std=c++11 -S -o frame-types.s 80 81 .text 82 .file "frame-types.cpp" 83 .globl _Z1fv # -- Begin function _Z1fv 84 .p2align 4, 0x90 85 .type _Z1fv,@function 86_Z1fv: # @_Z1fv 87.Lfunc_begin0: 88 .file 0 "/tmp" "frame-types.cpp" 89 .loc 0 10 0 # frame-types.cpp:10:0 90 .cfi_startproc 91# %bb.0: # %entry 92 pushl %ebp 93 .cfi_def_cfa_offset 8 94 .cfi_offset %ebp, -8 95 movl %esp, %ebp 96 .cfi_def_cfa_register %ebp 97.Ltmp0: 98 pushl %ebx 99 subl $372, %esp # imm = 0x174 100 .cfi_offset %ebx, -12 101 .loc 0 13 9 prologue_end # frame-types.cpp:13:9 102 calll .L0$pb 103.L0$pb: 104 popl %ebx 105.Ltmp1: 106 addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp1-.L0$pb), %ebx 107 leal -5(%ebp), %eax 108 movl %eax, -16(%ebp) 109 .loc 0 14 14 # frame-types.cpp:14:14 110 movb $1, -21(%ebp) 111 .loc 0 14 10 is_stmt 0 # frame-types.cpp:14:10 112 leal -21(%ebp), %eax 113 movl %eax, -20(%ebp) 114 .loc 0 17 14 is_stmt 1 # frame-types.cpp:17:14 115 movb $2, -37(%ebp) 116 .loc 0 24 14 # frame-types.cpp:24:14 117 leal -352(%ebp), %eax 118 xorl %ecx, %ecx 119 movl %eax, (%esp) 120 movl $0, 4(%esp) 121 movl $4, 8(%esp) 122 calll memset@PLT 123 .loc 0 25 1 epilogue_begin # frame-types.cpp:25:1 124 addl $372, %esp # imm = 0x174 125 popl %ebx 126 popl %ebp 127 .cfi_def_cfa %esp, 4 128 retl 129.Ltmp2: 130.Lfunc_end0: 131 .size _Z1fv, .Lfunc_end0-_Z1fv 132 .cfi_endproc 133 # -- End function 134 .section .debug_abbrev,"",@progbits 135 .byte 1 # Abbreviation Code 136 .byte 17 # DW_TAG_compile_unit 137 .byte 1 # DW_CHILDREN_yes 138 .byte 37 # DW_AT_producer 139 .byte 37 # DW_FORM_strx1 140 .byte 19 # DW_AT_language 141 .byte 5 # DW_FORM_data2 142 .byte 3 # DW_AT_name 143 .byte 37 # DW_FORM_strx1 144 .byte 114 # DW_AT_str_offsets_base 145 .byte 23 # DW_FORM_sec_offset 146 .byte 16 # DW_AT_stmt_list 147 .byte 23 # DW_FORM_sec_offset 148 .byte 27 # DW_AT_comp_dir 149 .byte 37 # DW_FORM_strx1 150 .byte 17 # DW_AT_low_pc 151 .byte 27 # DW_FORM_addrx 152 .byte 18 # DW_AT_high_pc 153 .byte 6 # DW_FORM_data4 154 .byte 115 # DW_AT_addr_base 155 .byte 23 # DW_FORM_sec_offset 156 .byte 0 # EOM(1) 157 .byte 0 # EOM(2) 158 .byte 2 # Abbreviation Code 159 .byte 46 # DW_TAG_subprogram 160 .byte 1 # DW_CHILDREN_yes 161 .byte 17 # DW_AT_low_pc 162 .byte 27 # DW_FORM_addrx 163 .byte 18 # DW_AT_high_pc 164 .byte 6 # DW_FORM_data4 165 .byte 64 # DW_AT_frame_base 166 .byte 24 # DW_FORM_exprloc 167 .byte 110 # DW_AT_linkage_name 168 .byte 37 # DW_FORM_strx1 169 .byte 3 # DW_AT_name 170 .byte 37 # DW_FORM_strx1 171 .byte 58 # DW_AT_decl_file 172 .byte 11 # DW_FORM_data1 173 .byte 59 # DW_AT_decl_line 174 .byte 11 # DW_FORM_data1 175 .byte 63 # DW_AT_external 176 .byte 25 # DW_FORM_flag_present 177 .byte 0 # EOM(1) 178 .byte 0 # EOM(2) 179 .byte 3 # Abbreviation Code 180 .byte 52 # DW_TAG_variable 181 .byte 0 # DW_CHILDREN_no 182 .byte 2 # DW_AT_location 183 .byte 24 # DW_FORM_exprloc 184 .byte 3 # DW_AT_name 185 .byte 37 # DW_FORM_strx1 186 .byte 58 # DW_AT_decl_file 187 .byte 11 # DW_FORM_data1 188 .byte 59 # DW_AT_decl_line 189 .byte 11 # DW_FORM_data1 190 .byte 73 # DW_AT_type 191 .byte 19 # DW_FORM_ref4 192 .byte 0 # EOM(1) 193 .byte 0 # EOM(2) 194 .byte 4 # Abbreviation Code 195 .byte 22 # DW_TAG_typedef 196 .byte 0 # DW_CHILDREN_no 197 .byte 73 # DW_AT_type 198 .byte 19 # DW_FORM_ref4 199 .byte 3 # DW_AT_name 200 .byte 37 # DW_FORM_strx1 201 .byte 58 # DW_AT_decl_file 202 .byte 11 # DW_FORM_data1 203 .byte 59 # DW_AT_decl_line 204 .byte 11 # DW_FORM_data1 205 .byte 0 # EOM(1) 206 .byte 0 # EOM(2) 207 .byte 5 # Abbreviation Code 208 .byte 36 # DW_TAG_base_type 209 .byte 0 # DW_CHILDREN_no 210 .byte 3 # DW_AT_name 211 .byte 37 # DW_FORM_strx1 212 .byte 62 # DW_AT_encoding 213 .byte 11 # DW_FORM_data1 214 .byte 11 # DW_AT_byte_size 215 .byte 11 # DW_FORM_data1 216 .byte 0 # EOM(1) 217 .byte 0 # EOM(2) 218 .byte 6 # Abbreviation Code 219 .byte 15 # DW_TAG_pointer_type 220 .byte 0 # DW_CHILDREN_no 221 .byte 73 # DW_AT_type 222 .byte 19 # DW_FORM_ref4 223 .byte 0 # EOM(1) 224 .byte 0 # EOM(2) 225 .byte 7 # Abbreviation Code 226 .byte 16 # DW_TAG_reference_type 227 .byte 0 # DW_CHILDREN_no 228 .byte 73 # DW_AT_type 229 .byte 19 # DW_FORM_ref4 230 .byte 0 # EOM(1) 231 .byte 0 # EOM(2) 232 .byte 8 # Abbreviation Code 233 .byte 66 # DW_TAG_rvalue_reference_type 234 .byte 0 # DW_CHILDREN_no 235 .byte 73 # DW_AT_type 236 .byte 19 # DW_FORM_ref4 237 .byte 0 # EOM(1) 238 .byte 0 # EOM(2) 239 .byte 9 # Abbreviation Code 240 .byte 31 # DW_TAG_ptr_to_member_type 241 .byte 0 # DW_CHILDREN_no 242 .byte 73 # DW_AT_type 243 .byte 19 # DW_FORM_ref4 244 .byte 29 # DW_AT_containing_type 245 .byte 19 # DW_FORM_ref4 246 .byte 0 # EOM(1) 247 .byte 0 # EOM(2) 248 .byte 10 # Abbreviation Code 249 .byte 21 # DW_TAG_subroutine_type 250 .byte 1 # DW_CHILDREN_yes 251 .byte 73 # DW_AT_type 252 .byte 19 # DW_FORM_ref4 253 .byte 0 # EOM(1) 254 .byte 0 # EOM(2) 255 .byte 11 # Abbreviation Code 256 .byte 5 # DW_TAG_formal_parameter 257 .byte 0 # DW_CHILDREN_no 258 .byte 73 # DW_AT_type 259 .byte 19 # DW_FORM_ref4 260 .byte 52 # DW_AT_artificial 261 .byte 25 # DW_FORM_flag_present 262 .byte 0 # EOM(1) 263 .byte 0 # EOM(2) 264 .byte 12 # Abbreviation Code 265 .byte 19 # DW_TAG_structure_type 266 .byte 0 # DW_CHILDREN_no 267 .byte 3 # DW_AT_name 268 .byte 37 # DW_FORM_strx1 269 .byte 60 # DW_AT_declaration 270 .byte 25 # DW_FORM_flag_present 271 .byte 0 # EOM(1) 272 .byte 0 # EOM(2) 273 .byte 13 # Abbreviation Code 274 .byte 38 # DW_TAG_const_type 275 .byte 0 # DW_CHILDREN_no 276 .byte 73 # DW_AT_type 277 .byte 19 # DW_FORM_ref4 278 .byte 0 # EOM(1) 279 .byte 0 # EOM(2) 280 .byte 14 # Abbreviation Code 281 .byte 53 # DW_TAG_volatile_type 282 .byte 0 # DW_CHILDREN_no 283 .byte 73 # DW_AT_type 284 .byte 19 # DW_FORM_ref4 285 .byte 0 # EOM(1) 286 .byte 0 # EOM(2) 287 .byte 15 # Abbreviation Code 288 .byte 55 # DW_TAG_restrict_type 289 .byte 0 # DW_CHILDREN_no 290 .byte 73 # DW_AT_type 291 .byte 19 # DW_FORM_ref4 292 .byte 0 # EOM(1) 293 .byte 0 # EOM(2) 294 .byte 16 # Abbreviation Code 295 .byte 1 # DW_TAG_array_type 296 .byte 1 # DW_CHILDREN_yes 297 .byte 73 # DW_AT_type 298 .byte 19 # DW_FORM_ref4 299 .byte 0 # EOM(1) 300 .byte 0 # EOM(2) 301 .byte 17 # Abbreviation Code 302 .byte 33 # DW_TAG_subrange_type 303 .byte 0 # DW_CHILDREN_no 304 .byte 73 # DW_AT_type 305 .byte 19 # DW_FORM_ref4 306 .byte 55 # DW_AT_count 307 .byte 11 # DW_FORM_data1 308 .byte 0 # EOM(1) 309 .byte 0 # EOM(2) 310 .byte 18 # Abbreviation Code 311 .byte 36 # DW_TAG_base_type 312 .byte 0 # DW_CHILDREN_no 313 .byte 3 # DW_AT_name 314 .byte 37 # DW_FORM_strx1 315 .byte 11 # DW_AT_byte_size 316 .byte 11 # DW_FORM_data1 317 .byte 62 # DW_AT_encoding 318 .byte 11 # DW_FORM_data1 319 .byte 0 # EOM(1) 320 .byte 0 # EOM(2) 321 .byte 19 # Abbreviation Code 322 .byte 19 # DW_TAG_structure_type 323 .byte 1 # DW_CHILDREN_yes 324 .byte 54 # DW_AT_calling_convention 325 .byte 11 # DW_FORM_data1 326 .byte 3 # DW_AT_name 327 .byte 37 # DW_FORM_strx1 328 .byte 11 # DW_AT_byte_size 329 .byte 11 # DW_FORM_data1 330 .byte 58 # DW_AT_decl_file 331 .byte 11 # DW_FORM_data1 332 .byte 59 # DW_AT_decl_line 333 .byte 11 # DW_FORM_data1 334 .byte 0 # EOM(1) 335 .byte 0 # EOM(2) 336 .byte 20 # Abbreviation Code 337 .byte 47 # DW_TAG_template_type_parameter 338 .byte 0 # DW_CHILDREN_no 339 .byte 73 # DW_AT_type 340 .byte 19 # DW_FORM_ref4 341 .byte 3 # DW_AT_name 342 .byte 37 # DW_FORM_strx1 343 .byte 0 # EOM(1) 344 .byte 0 # EOM(2) 345 .byte 21 # Abbreviation Code 346 .byte 13 # DW_TAG_member 347 .byte 0 # DW_CHILDREN_no 348 .byte 3 # DW_AT_name 349 .byte 37 # DW_FORM_strx1 350 .byte 73 # DW_AT_type 351 .byte 19 # DW_FORM_ref4 352 .byte 58 # DW_AT_decl_file 353 .byte 11 # DW_FORM_data1 354 .byte 59 # DW_AT_decl_line 355 .byte 11 # DW_FORM_data1 356 .byte 56 # DW_AT_data_member_location 357 .byte 11 # DW_FORM_data1 358 .byte 0 # EOM(1) 359 .byte 0 # EOM(2) 360 .byte 0 # EOM(3) 361 .section .debug_info,"",@progbits 362.Lcu_begin0: 363 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 364.Ldebug_info_start0: 365 .short 5 # DWARF version number 366 .byte 1 # DWARF Unit Type 367 .byte 4 # Address Size (in bytes) 368 .long .debug_abbrev # Offset Into Abbrev. Section 369 .byte 1 # Abbrev [1] 0xc:0x148 DW_TAG_compile_unit 370 .byte 0 # DW_AT_producer 371 .short 26 # DW_AT_language 372 .byte 1 # DW_AT_name 373 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 374 .long .Lline_table_start0 # DW_AT_stmt_list 375 .byte 2 # DW_AT_comp_dir 376 .byte 0 # DW_AT_low_pc 377 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 378 .long .Laddr_table_base0 # DW_AT_addr_base 379 .byte 2 # Abbrev [2] 0x23:0xa6 DW_TAG_subprogram 380 .byte 0 # DW_AT_low_pc 381 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 382 .byte 1 # DW_AT_frame_base 383 .byte 85 384 .byte 3 # DW_AT_linkage_name 385 .byte 4 # DW_AT_name 386 .byte 0 # DW_AT_decl_file 387 .byte 10 # DW_AT_decl_line 388 # DW_AT_external 389 .byte 3 # Abbrev [3] 0x2f:0xb DW_TAG_variable 390 .byte 2 # DW_AT_location 391 .byte 145 392 .byte 123 393 .byte 5 # DW_AT_name 394 .byte 0 # DW_AT_decl_file 395 .byte 11 # DW_AT_decl_line 396 .long 201 # DW_AT_type 397 .byte 3 # Abbrev [3] 0x3a:0xb DW_TAG_variable 398 .byte 2 # DW_AT_location 399 .byte 145 400 .byte 116 401 .byte 7 # DW_AT_name 402 .byte 0 # DW_AT_decl_file 403 .byte 12 # DW_AT_decl_line 404 .long 205 # DW_AT_type 405 .byte 3 # Abbrev [3] 0x45:0xb DW_TAG_variable 406 .byte 2 # DW_AT_location 407 .byte 145 408 .byte 112 409 .byte 8 # DW_AT_name 410 .byte 0 # DW_AT_decl_file 411 .byte 13 # DW_AT_decl_line 412 .long 210 # DW_AT_type 413 .byte 3 # Abbrev [3] 0x50:0xb DW_TAG_variable 414 .byte 2 # DW_AT_location 415 .byte 145 416 .byte 108 417 .byte 9 # DW_AT_name 418 .byte 0 # DW_AT_decl_file 419 .byte 14 # DW_AT_decl_line 420 .long 215 # DW_AT_type 421 .byte 3 # Abbrev [3] 0x5b:0xb DW_TAG_variable 422 .byte 2 # DW_AT_location 423 .byte 145 424 .byte 96 425 .byte 10 # DW_AT_name 426 .byte 0 # DW_AT_decl_file 427 .byte 15 # DW_AT_decl_line 428 .long 220 # DW_AT_type 429 .byte 3 # Abbrev [3] 0x66:0xb DW_TAG_variable 430 .byte 2 # DW_AT_location 431 .byte 145 432 .byte 92 433 .byte 4 # DW_AT_name 434 .byte 0 # DW_AT_decl_file 435 .byte 16 # DW_AT_decl_line 436 .long 247 # DW_AT_type 437 .byte 3 # Abbrev [3] 0x71:0xb DW_TAG_variable 438 .byte 2 # DW_AT_location 439 .byte 145 440 .byte 91 441 .byte 12 # DW_AT_name 442 .byte 0 # DW_AT_decl_file 443 .byte 17 # DW_AT_decl_line 444 .long 256 # DW_AT_type 445 .byte 3 # Abbrev [3] 0x7c:0xb DW_TAG_variable 446 .byte 2 # DW_AT_location 447 .byte 145 448 .byte 90 449 .byte 13 # DW_AT_name 450 .byte 0 # DW_AT_decl_file 451 .byte 18 # DW_AT_decl_line 452 .long 261 # DW_AT_type 453 .byte 3 # Abbrev [3] 0x87:0xb DW_TAG_variable 454 .byte 2 # DW_AT_location 455 .byte 145 456 .byte 84 457 .byte 14 # DW_AT_name 458 .byte 0 # DW_AT_decl_file 459 .byte 19 # DW_AT_decl_line 460 .long 266 # DW_AT_type 461 .byte 3 # Abbrev [3] 0x92:0xb DW_TAG_variable 462 .byte 2 # DW_AT_location 463 .byte 145 464 .byte 83 465 .byte 15 # DW_AT_name 466 .byte 0 # DW_AT_decl_file 467 .byte 21 # DW_AT_decl_line 468 .long 192 # DW_AT_type 469 .byte 3 # Abbrev [3] 0x9d:0xb DW_TAG_variable 470 .byte 2 # DW_AT_location 471 .byte 145 472 .byte 71 473 .byte 17 # DW_AT_name 474 .byte 0 # DW_AT_decl_file 475 .byte 22 # DW_AT_decl_line 476 .long 271 # DW_AT_type 477 .byte 3 # Abbrev [3] 0xa8:0xc DW_TAG_variable 478 .byte 3 # DW_AT_location 479 .byte 145 480 .ascii "\247}" 481 .byte 19 # DW_AT_name 482 .byte 0 # DW_AT_decl_file 483 .byte 23 # DW_AT_decl_line 484 .long 287 # DW_AT_type 485 .byte 3 # Abbrev [3] 0xb4:0xc DW_TAG_variable 486 .byte 3 # DW_AT_location 487 .byte 145 488 .ascii "\240}" 489 .byte 20 # DW_AT_name 490 .byte 0 # DW_AT_decl_file 491 .byte 24 # DW_AT_decl_line 492 .long 305 # DW_AT_type 493 .byte 4 # Abbrev [4] 0xc0:0x8 DW_TAG_typedef 494 .long 201 # DW_AT_type 495 .byte 16 # DW_AT_name 496 .byte 0 # DW_AT_decl_file 497 .byte 20 # DW_AT_decl_line 498 .byte 0 # End Of Children Mark 499 .byte 5 # Abbrev [5] 0xc9:0x4 DW_TAG_base_type 500 .byte 6 # DW_AT_name 501 .byte 6 # DW_AT_encoding 502 .byte 1 # DW_AT_byte_size 503 .byte 6 # Abbrev [6] 0xcd:0x5 DW_TAG_pointer_type 504 .long 201 # DW_AT_type 505 .byte 7 # Abbrev [7] 0xd2:0x5 DW_TAG_reference_type 506 .long 201 # DW_AT_type 507 .byte 8 # Abbrev [8] 0xd7:0x5 DW_TAG_rvalue_reference_type 508 .long 201 # DW_AT_type 509 .byte 9 # Abbrev [9] 0xdc:0x9 DW_TAG_ptr_to_member_type 510 .long 229 # DW_AT_type 511 .long 245 # DW_AT_containing_type 512 .byte 10 # Abbrev [10] 0xe5:0xb DW_TAG_subroutine_type 513 .long 201 # DW_AT_type 514 .byte 11 # Abbrev [11] 0xea:0x5 DW_TAG_formal_parameter 515 .long 240 # DW_AT_type 516 # DW_AT_artificial 517 .byte 0 # End Of Children Mark 518 .byte 6 # Abbrev [6] 0xf0:0x5 DW_TAG_pointer_type 519 .long 245 # DW_AT_type 520 .byte 12 # Abbrev [12] 0xf5:0x2 DW_TAG_structure_type 521 .byte 11 # DW_AT_name 522 # DW_AT_declaration 523 .byte 9 # Abbrev [9] 0xf7:0x9 DW_TAG_ptr_to_member_type 524 .long 201 # DW_AT_type 525 .long 245 # DW_AT_containing_type 526 .byte 13 # Abbrev [13] 0x100:0x5 DW_TAG_const_type 527 .long 201 # DW_AT_type 528 .byte 14 # Abbrev [14] 0x105:0x5 DW_TAG_volatile_type 529 .long 201 # DW_AT_type 530 .byte 15 # Abbrev [15] 0x10a:0x5 DW_TAG_restrict_type 531 .long 205 # DW_AT_type 532 .byte 16 # Abbrev [16] 0x10f:0xc DW_TAG_array_type 533 .long 201 # DW_AT_type 534 .byte 17 # Abbrev [17] 0x114:0x6 DW_TAG_subrange_type 535 .long 283 # DW_AT_type 536 .byte 12 # DW_AT_count 537 .byte 0 # End Of Children Mark 538 .byte 18 # Abbrev [18] 0x11b:0x4 DW_TAG_base_type 539 .byte 18 # DW_AT_name 540 .byte 8 # DW_AT_byte_size 541 .byte 7 # DW_AT_encoding 542 .byte 16 # Abbrev [16] 0x11f:0x12 DW_TAG_array_type 543 .long 201 # DW_AT_type 544 .byte 17 # Abbrev [17] 0x124:0x6 DW_TAG_subrange_type 545 .long 283 # DW_AT_type 546 .byte 12 # DW_AT_count 547 .byte 17 # Abbrev [17] 0x12a:0x6 DW_TAG_subrange_type 548 .long 283 # DW_AT_type 549 .byte 24 # DW_AT_count 550 .byte 0 # End Of Children Mark 551 .byte 4 # Abbrev [4] 0x131:0x8 DW_TAG_typedef 552 .long 313 # DW_AT_type 553 .byte 24 # DW_AT_name 554 .byte 0 # DW_AT_decl_file 555 .byte 8 # DW_AT_decl_line 556 .byte 19 # Abbrev [19] 0x139:0x16 DW_TAG_structure_type 557 .byte 5 # DW_AT_calling_convention 558 .byte 23 # DW_AT_name 559 .byte 4 # DW_AT_byte_size 560 .byte 0 # DW_AT_decl_file 561 .byte 4 # DW_AT_decl_line 562 .byte 20 # Abbrev [20] 0x13f:0x6 DW_TAG_template_type_parameter 563 .long 335 # DW_AT_type 564 .byte 22 # DW_AT_name 565 .byte 21 # Abbrev [21] 0x145:0x9 DW_TAG_member 566 .byte 20 # DW_AT_name 567 .long 335 # DW_AT_type 568 .byte 0 # DW_AT_decl_file 569 .byte 5 # DW_AT_decl_line 570 .byte 0 # DW_AT_data_member_location 571 .byte 0 # End Of Children Mark 572 .byte 5 # Abbrev [5] 0x14f:0x4 DW_TAG_base_type 573 .byte 21 # DW_AT_name 574 .byte 5 # DW_AT_encoding 575 .byte 4 # DW_AT_byte_size 576 .byte 0 # End Of Children Mark 577.Ldebug_info_end0: 578 .section .debug_str_offsets,"",@progbits 579 .long 104 # Length of String Offsets Set 580 .short 5 581 .short 0 582.Lstr_offsets_base0: 583 .section .debug_str,"MS",@progbits,1 584.Linfo_string0: 585 .asciz "clang version 19.0.0git" # string offset=0 586.Linfo_string1: 587 .asciz "frame-types.cpp" # string offset=107 588.Linfo_string2: 589 .asciz "/tmp" # string offset=123 590.Linfo_string3: 591 .asciz "_Z1fv" # string offset=128 592.Linfo_string4: 593 .asciz "f" # string offset=134 594.Linfo_string5: 595 .asciz "a" # string offset=136 596.Linfo_string6: 597 .asciz "char" # string offset=138 598.Linfo_string7: 599 .asciz "b" # string offset=143 600.Linfo_string8: 601 .asciz "c" # string offset=145 602.Linfo_string9: 603 .asciz "d" # string offset=147 604.Linfo_string10: 605 .asciz "e" # string offset=149 606.Linfo_string11: 607 .asciz "S" # string offset=151 608.Linfo_string12: 609 .asciz "g" # string offset=153 610.Linfo_string13: 611 .asciz "h" # string offset=155 612.Linfo_string14: 613 .asciz "i" # string offset=157 614.Linfo_string15: 615 .asciz "j" # string offset=159 616.Linfo_string16: 617 .asciz "char_typedef" # string offset=161 618.Linfo_string17: 619 .asciz "k" # string offset=174 620.Linfo_string18: 621 .asciz "__ARRAY_SIZE_TYPE__" # string offset=176 622.Linfo_string19: 623 .asciz "l" # string offset=196 624.Linfo_string20: 625 .asciz "m" # string offset=198 626.Linfo_string21: 627 .asciz "int" # string offset=200 628.Linfo_string22: 629 .asciz "Y" # string offset=204 630.Linfo_string23: 631 .asciz "Base<int>" # string offset=206 632.Linfo_string24: 633 .asciz "Alias<int>" # string offset=216 634 .section .debug_str_offsets,"",@progbits 635 .long .Linfo_string0 636 .long .Linfo_string1 637 .long .Linfo_string2 638 .long .Linfo_string3 639 .long .Linfo_string4 640 .long .Linfo_string5 641 .long .Linfo_string6 642 .long .Linfo_string7 643 .long .Linfo_string8 644 .long .Linfo_string9 645 .long .Linfo_string10 646 .long .Linfo_string11 647 .long .Linfo_string12 648 .long .Linfo_string13 649 .long .Linfo_string14 650 .long .Linfo_string15 651 .long .Linfo_string16 652 .long .Linfo_string17 653 .long .Linfo_string18 654 .long .Linfo_string19 655 .long .Linfo_string20 656 .long .Linfo_string21 657 .long .Linfo_string22 658 .long .Linfo_string23 659 .long .Linfo_string24 660 .section .debug_addr,"",@progbits 661 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 662.Ldebug_addr_start0: 663 .short 5 # DWARF version number 664 .byte 4 # Address size 665 .byte 0 # Segment selector size 666.Laddr_table_base0: 667 .long .Lfunc_begin0 668.Ldebug_addr_end0: 669 .ident "clang version 19.0.0git" 670 .section ".note.GNU-stack","",@progbits 671 .addrsig 672 .section .debug_line,"",@progbits 673.Lline_table_start0: 674