1/* 2 Copyright 2013-2019 Free Software Foundation, Inc. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 3 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 17 /* The FDE entry for "stop_frame" in the .debug_frame section has 18 been hand modified to mark a set of registers as DW_CFA_same_value. 19 Otherwise this file is as generated by gcc 4.7.2 for x86_64. */ 20 .file "dw2-dup-frame.c" 21 .text 22.Ltext0: 23 .globl stop_frame 24 .type stop_frame, @function 25stop_frame: 26.LFB0: 27 .file 1 "dw2-dup-frame.c" 28 .loc 1 19 0 29 pushq %rbp 30.LCFI0: 31 movq %rsp, %rbp 32.LCFI1: 33 .loc 1 22 0 34 popq %rbp 35.LCFI2: 36 ret 37.LFE0: 38 .size stop_frame, .-stop_frame 39 .globl first_frame 40 .type first_frame, @function 41first_frame: 42.LFB1: 43 .loc 1 26 0 44 pushq %rbp 45.LCFI3: 46 movq %rsp, %rbp 47.LCFI4: 48 .loc 1 27 0 49 movl $0, %eax 50 call stop_frame 51 .loc 1 28 0 52 popq %rbp 53.LCFI5: 54 ret 55.LFE1: 56 .size first_frame, .-first_frame 57 .globl main 58 .type main, @function 59main: 60.LFB2: 61 .loc 1 32 0 62 pushq %rbp 63.LCFI6: 64 movq %rsp, %rbp 65.LCFI7: 66 .loc 1 33 0 67 movl $0, %eax 68 call first_frame 69 .loc 1 35 0 70 movl $0, %eax 71 .loc 1 36 0 72 popq %rbp 73.LCFI8: 74 ret 75.LFE2: 76 .size main, .-main 77 .section .debug_frame,"",@progbits 78.Lframe0: 79 .long .LECIE0-.LSCIE0 80.LSCIE0: 81 .long 0xffffffff 82 .byte 0x1 83 .string "" 84 .uleb128 0x1 85 .sleb128 -8 86 .byte 0x10 87 .byte 0xc 88 .uleb128 0x7 89 .uleb128 0x8 90 .byte 0x90 91 .uleb128 0x1 92 .align 8 93.LECIE0: 94 /* This FDE entry, for stop_frame was modified to mark 95 registers 0 -> 16 (rax..ra/rip) as being DW_CFA_same_value. */ 96.LSFDE0: 97 .long .LEFDE0-.LASFDE0 98.LASFDE0: 99 .long .Lframe0 100 .quad .LFB0 101 .quad .LFE0-.LFB0 102 103 /* START OF NEW CONTENT. */ 104 .byte 0x8 /* DW_CFA_same_value */ 105 .uleb128 0x0 /* ULEB128 register */ 106 .byte 0x8 /* DW_CFA_same_value */ 107 .uleb128 0x1 /* ULEB128 register */ 108 .byte 0x8 /* DW_CFA_same_value */ 109 .uleb128 0x2 /* ULEB128 register */ 110 .byte 0x8 /* DW_CFA_same_value */ 111 .uleb128 0x3 /* ULEB128 register */ 112 .byte 0x8 /* DW_CFA_same_value */ 113 .uleb128 0x4 /* ULEB128 register */ 114 .byte 0x8 /* DW_CFA_same_value */ 115 .uleb128 0x5 /* ULEB128 register */ 116 .byte 0x8 /* DW_CFA_same_value */ 117 .uleb128 0x6 /* ULEB128 register */ 118 .byte 0x8 /* DW_CFA_same_value */ 119 .uleb128 0x7 /* ULEB128 register */ 120 .byte 0x8 /* DW_CFA_same_value */ 121 .uleb128 0x8 /* ULEB128 register */ 122 .byte 0x8 /* DW_CFA_same_value */ 123 .uleb128 0x9 /* ULEB128 register */ 124 .byte 0x8 /* DW_CFA_same_value */ 125 .uleb128 0xa /* ULEB128 register */ 126 .byte 0x8 /* DW_CFA_same_value */ 127 .uleb128 0xb /* ULEB128 register */ 128 .byte 0x8 /* DW_CFA_same_value */ 129 .uleb128 0xc /* ULEB128 register */ 130 .byte 0x8 /* DW_CFA_same_value */ 131 .uleb128 0xd /* ULEB128 register */ 132 .byte 0x8 /* DW_CFA_same_value */ 133 .uleb128 0xe /* ULEB128 register */ 134 .byte 0x8 /* DW_CFA_same_value */ 135 .uleb128 0xf /* ULEB128 register */ 136 .byte 0x8 /* DW_CFA_same_value */ 137 .uleb128 0x10 /* ULEB128 register */ 138 /* END OF NEW CONTENT. */ 139 140 .byte 0x4 141 .long .LCFI0-.LFB0 142 .byte 0xe 143 .uleb128 0x10 144 .byte 0x86 145 .uleb128 0x2 146 .byte 0x4 147 .long .LCFI1-.LCFI0 148 .byte 0xd 149 .uleb128 0x6 150 .byte 0x4 151 .long .LCFI2-.LCFI1 152 .byte 0xc 153 .uleb128 0x7 154 .uleb128 0x8 155 .align 8 156.LEFDE0: 157.LSFDE2: 158 .long .LEFDE2-.LASFDE2 159.LASFDE2: 160 .long .Lframe0 161 .quad .LFB1 162 .quad .LFE1-.LFB1 163 .byte 0x4 164 .long .LCFI3-.LFB1 165 .byte 0xe 166 .uleb128 0x10 167 .byte 0x86 168 .uleb128 0x2 169 .byte 0x4 170 .long .LCFI4-.LCFI3 171 .byte 0xd 172 .uleb128 0x6 173 .byte 0x4 174 .long .LCFI5-.LCFI4 175 .byte 0xc 176 .uleb128 0x7 177 .uleb128 0x8 178 .align 8 179.LEFDE2: 180.LSFDE4: 181 .long .LEFDE4-.LASFDE4 182.LASFDE4: 183 .long .Lframe0 184 .quad .LFB2 185 .quad .LFE2-.LFB2 186 .byte 0x4 187 .long .LCFI6-.LFB2 188 .byte 0xe 189 .uleb128 0x10 190 .byte 0x86 191 .uleb128 0x2 192 .byte 0x4 193 .long .LCFI7-.LCFI6 194 .byte 0xd 195 .uleb128 0x6 196 .byte 0x4 197 .long .LCFI8-.LCFI7 198 .byte 0xc 199 .uleb128 0x7 200 .uleb128 0x8 201 .align 8 202.LEFDE4: 203 .section .eh_frame,"a",@progbits 204.Lframe1: 205 .long .LECIE1-.LSCIE1 206.LSCIE1: 207 .long 0 208 .byte 0x1 209 .string "zR" 210 .uleb128 0x1 211 .sleb128 -8 212 .byte 0x10 213 .uleb128 0x1 214 .byte 0x3 215 .byte 0xc 216 .uleb128 0x7 217 .uleb128 0x8 218 .byte 0x90 219 .uleb128 0x1 220 .align 8 221.LECIE1: 222.LSFDE7: 223 .long .LEFDE7-.LASFDE7 224.LASFDE7: 225 .long .LASFDE7-.Lframe1 226 .long .LFB0 227 .long .LFE0-.LFB0 228 .uleb128 0 229 .byte 0x4 230 .long .LCFI0-.LFB0 231 .byte 0xe 232 .uleb128 0x10 233 .byte 0x86 234 .uleb128 0x2 235 .byte 0x4 236 .long .LCFI1-.LCFI0 237 .byte 0xd 238 .uleb128 0x6 239 .byte 0x4 240 .long .LCFI2-.LCFI1 241 .byte 0xc 242 .uleb128 0x7 243 .uleb128 0x8 244 .align 8 245.LEFDE7: 246.LSFDE9: 247 .long .LEFDE9-.LASFDE9 248.LASFDE9: 249 .long .LASFDE9-.Lframe1 250 .long .LFB1 251 .long .LFE1-.LFB1 252 .uleb128 0 253 .byte 0x4 254 .long .LCFI3-.LFB1 255 .byte 0xe 256 .uleb128 0x10 257 .byte 0x86 258 .uleb128 0x2 259 .byte 0x4 260 .long .LCFI4-.LCFI3 261 .byte 0xd 262 .uleb128 0x6 263 .byte 0x4 264 .long .LCFI5-.LCFI4 265 .byte 0xc 266 .uleb128 0x7 267 .uleb128 0x8 268 .align 8 269.LEFDE9: 270.LSFDE11: 271 .long .LEFDE11-.LASFDE11 272.LASFDE11: 273 .long .LASFDE11-.Lframe1 274 .long .LFB2 275 .long .LFE2-.LFB2 276 .uleb128 0 277 .byte 0x4 278 .long .LCFI6-.LFB2 279 .byte 0xe 280 .uleb128 0x10 281 .byte 0x86 282 .uleb128 0x2 283 .byte 0x4 284 .long .LCFI7-.LCFI6 285 .byte 0xd 286 .uleb128 0x6 287 .byte 0x4 288 .long .LCFI8-.LCFI7 289 .byte 0xc 290 .uleb128 0x7 291 .uleb128 0x8 292 .align 8 293.LEFDE11: 294 .text 295.Letext0: 296 .section .debug_info,"",@progbits 297.Ldebug_info0: 298 .long 0x8c 299 .value 0x2 300 .long .Ldebug_abbrev0 301 .byte 0x8 302 .uleb128 0x1 303 .long .LASF2 304 .byte 0x1 305 .long .LASF3 306 .long .LASF4 307 .quad .Ltext0 308 .quad .Letext0 309 .long .Ldebug_line0 310 .uleb128 0x2 311 .byte 0x1 312 .long .LASF0 313 .byte 0x1 314 .byte 0x12 315 .quad .LFB0 316 .quad .LFE0 317 .long .LLST0 318 .byte 0x1 319 .uleb128 0x3 320 .byte 0x1 321 .long .LASF1 322 .byte 0x1 323 .byte 0x19 324 .quad .LFB1 325 .quad .LFE1 326 .long .LLST1 327 .byte 0x1 328 .uleb128 0x4 329 .byte 0x1 330 .long .LASF5 331 .byte 0x1 332 .byte 0x1f 333 .long 0x88 334 .quad .LFB2 335 .quad .LFE2 336 .long .LLST2 337 .byte 0x1 338 .uleb128 0x5 339 .byte 0x4 340 .byte 0x5 341 .string "int" 342 .byte 0 343 .section .debug_abbrev,"",@progbits 344.Ldebug_abbrev0: 345 .uleb128 0x1 346 .uleb128 0x11 347 .byte 0x1 348 .uleb128 0x25 349 .uleb128 0xe 350 .uleb128 0x13 351 .uleb128 0xb 352 .uleb128 0x3 353 .uleb128 0xe 354 .uleb128 0x1b 355 .uleb128 0xe 356 .uleb128 0x11 357 .uleb128 0x1 358 .uleb128 0x12 359 .uleb128 0x1 360 .uleb128 0x10 361 .uleb128 0x6 362 .byte 0 363 .byte 0 364 .uleb128 0x2 365 .uleb128 0x2e 366 .byte 0 367 .uleb128 0x3f 368 .uleb128 0xc 369 .uleb128 0x3 370 .uleb128 0xe 371 .uleb128 0x3a 372 .uleb128 0xb 373 .uleb128 0x3b 374 .uleb128 0xb 375 .uleb128 0x11 376 .uleb128 0x1 377 .uleb128 0x12 378 .uleb128 0x1 379 .uleb128 0x40 380 .uleb128 0x6 381 .uleb128 0x2117 382 .uleb128 0xc 383 .byte 0 384 .byte 0 385 .uleb128 0x3 386 .uleb128 0x2e 387 .byte 0 388 .uleb128 0x3f 389 .uleb128 0xc 390 .uleb128 0x3 391 .uleb128 0xe 392 .uleb128 0x3a 393 .uleb128 0xb 394 .uleb128 0x3b 395 .uleb128 0xb 396 .uleb128 0x11 397 .uleb128 0x1 398 .uleb128 0x12 399 .uleb128 0x1 400 .uleb128 0x40 401 .uleb128 0x6 402 .uleb128 0x2116 403 .uleb128 0xc 404 .byte 0 405 .byte 0 406 .uleb128 0x4 407 .uleb128 0x2e 408 .byte 0 409 .uleb128 0x3f 410 .uleb128 0xc 411 .uleb128 0x3 412 .uleb128 0xe 413 .uleb128 0x3a 414 .uleb128 0xb 415 .uleb128 0x3b 416 .uleb128 0xb 417 .uleb128 0x49 418 .uleb128 0x13 419 .uleb128 0x11 420 .uleb128 0x1 421 .uleb128 0x12 422 .uleb128 0x1 423 .uleb128 0x40 424 .uleb128 0x6 425 .uleb128 0x2116 426 .uleb128 0xc 427 .byte 0 428 .byte 0 429 .uleb128 0x5 430 .uleb128 0x24 431 .byte 0 432 .uleb128 0xb 433 .uleb128 0xb 434 .uleb128 0x3e 435 .uleb128 0xb 436 .uleb128 0x3 437 .uleb128 0x8 438 .byte 0 439 .byte 0 440 .byte 0 441 .section .debug_loc,"",@progbits 442.Ldebug_loc0: 443.LLST0: 444 .quad .LFB0-.Ltext0 445 .quad .LCFI0-.Ltext0 446 .value 0x2 447 .byte 0x77 448 .sleb128 8 449 .quad .LCFI0-.Ltext0 450 .quad .LCFI1-.Ltext0 451 .value 0x2 452 .byte 0x77 453 .sleb128 16 454 .quad .LCFI1-.Ltext0 455 .quad .LCFI2-.Ltext0 456 .value 0x2 457 .byte 0x76 458 .sleb128 16 459 .quad .LCFI2-.Ltext0 460 .quad .LFE0-.Ltext0 461 .value 0x2 462 .byte 0x77 463 .sleb128 8 464 .quad 0 465 .quad 0 466.LLST1: 467 .quad .LFB1-.Ltext0 468 .quad .LCFI3-.Ltext0 469 .value 0x2 470 .byte 0x77 471 .sleb128 8 472 .quad .LCFI3-.Ltext0 473 .quad .LCFI4-.Ltext0 474 .value 0x2 475 .byte 0x77 476 .sleb128 16 477 .quad .LCFI4-.Ltext0 478 .quad .LCFI5-.Ltext0 479 .value 0x2 480 .byte 0x76 481 .sleb128 16 482 .quad .LCFI5-.Ltext0 483 .quad .LFE1-.Ltext0 484 .value 0x2 485 .byte 0x77 486 .sleb128 8 487 .quad 0 488 .quad 0 489.LLST2: 490 .quad .LFB2-.Ltext0 491 .quad .LCFI6-.Ltext0 492 .value 0x2 493 .byte 0x77 494 .sleb128 8 495 .quad .LCFI6-.Ltext0 496 .quad .LCFI7-.Ltext0 497 .value 0x2 498 .byte 0x77 499 .sleb128 16 500 .quad .LCFI7-.Ltext0 501 .quad .LCFI8-.Ltext0 502 .value 0x2 503 .byte 0x76 504 .sleb128 16 505 .quad .LCFI8-.Ltext0 506 .quad .LFE2-.Ltext0 507 .value 0x2 508 .byte 0x77 509 .sleb128 8 510 .quad 0 511 .quad 0 512 .section .debug_aranges,"",@progbits 513 .long 0x2c 514 .value 0x2 515 .long .Ldebug_info0 516 .byte 0x8 517 .byte 0 518 .value 0 519 .value 0 520 .quad .Ltext0 521 .quad .Letext0-.Ltext0 522 .quad 0 523 .quad 0 524 .section .debug_line,"",@progbits 525.Ldebug_line0: 526 .section .debug_str,"MS",@progbits,1 527.LASF0: 528 .string "stop_frame" 529.LASF3: 530 .string "dw2-reg-undefined.c" 531.LASF2: 532 .string "GNU C 4.7.2" 533.LASF1: 534 .string "first_frame" 535.LASF5: 536 .string "main" 537.LASF4: 538 .string "/home/username/src/gdb/testsuite/gdb.dwarf2" 539 .ident "GCC: (GNU) 4.7.2" 540 .section .note.GNU-stack,"",@progbits 541