1/* 2 Copyright 2013-2021 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 the return address (rip) as undefined. 19 Otherwise this file is as generated by gcc 4.7.2 for x86_64. */ 20 .file "dw2-undefined-ret-addr.c" 21 .text 22.Ltext0: 23 .globl stop_frame 24 .type stop_frame, @function 25stop_frame: 26.LFB0: 27 .file 1 "dw2-undefined-ret-addr.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 -> 6 as being undefined. */ 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 0x7 /* DW_CFA_undefined */ 105 .uleb128 0x10 /* ULEB128 register */ 106 /* END OF NEW CONTENT. */ 107 108 .byte 0x4 109 .long .LCFI0-.LFB0 110 .byte 0xe 111 .uleb128 0x10 112 .byte 0x86 113 .uleb128 0x2 114 .byte 0x4 115 .long .LCFI1-.LCFI0 116 .byte 0xd 117 .uleb128 0x6 118 .byte 0x4 119 .long .LCFI2-.LCFI1 120 .byte 0xc 121 .uleb128 0x7 122 .uleb128 0x8 123 .align 8 124.LEFDE0: 125.LSFDE2: 126 .long .LEFDE2-.LASFDE2 127.LASFDE2: 128 .long .Lframe0 129 .quad .LFB1 130 .quad .LFE1-.LFB1 131 .byte 0x4 132 .long .LCFI3-.LFB1 133 .byte 0xe 134 .uleb128 0x10 135 .byte 0x86 136 .uleb128 0x2 137 .byte 0x4 138 .long .LCFI4-.LCFI3 139 .byte 0xd 140 .uleb128 0x6 141 .byte 0x4 142 .long .LCFI5-.LCFI4 143 .byte 0xc 144 .uleb128 0x7 145 .uleb128 0x8 146 .align 8 147.LEFDE2: 148.LSFDE4: 149 .long .LEFDE4-.LASFDE4 150.LASFDE4: 151 .long .Lframe0 152 .quad .LFB2 153 .quad .LFE2-.LFB2 154 .byte 0x4 155 .long .LCFI6-.LFB2 156 .byte 0xe 157 .uleb128 0x10 158 .byte 0x86 159 .uleb128 0x2 160 .byte 0x4 161 .long .LCFI7-.LCFI6 162 .byte 0xd 163 .uleb128 0x6 164 .byte 0x4 165 .long .LCFI8-.LCFI7 166 .byte 0xc 167 .uleb128 0x7 168 .uleb128 0x8 169 .align 8 170.LEFDE4: 171 .section .eh_frame,"a",@progbits 172.Lframe1: 173 .long .LECIE1-.LSCIE1 174.LSCIE1: 175 .long 0 176 .byte 0x1 177 .string "zR" 178 .uleb128 0x1 179 .sleb128 -8 180 .byte 0x10 181 .uleb128 0x1 182 .byte 0x3 183 .byte 0xc 184 .uleb128 0x7 185 .uleb128 0x8 186 .byte 0x90 187 .uleb128 0x1 188 .align 8 189.LECIE1: 190.LSFDE7: 191 .long .LEFDE7-.LASFDE7 192.LASFDE7: 193 .long .LASFDE7-.Lframe1 194 .long .LFB0 195 .long .LFE0-.LFB0 196 .uleb128 0 197 .byte 0x4 198 .long .LCFI0-.LFB0 199 .byte 0xe 200 .uleb128 0x10 201 .byte 0x86 202 .uleb128 0x2 203 .byte 0x4 204 .long .LCFI1-.LCFI0 205 .byte 0xd 206 .uleb128 0x6 207 .byte 0x4 208 .long .LCFI2-.LCFI1 209 .byte 0xc 210 .uleb128 0x7 211 .uleb128 0x8 212 .align 8 213.LEFDE7: 214.LSFDE9: 215 .long .LEFDE9-.LASFDE9 216.LASFDE9: 217 .long .LASFDE9-.Lframe1 218 .long .LFB1 219 .long .LFE1-.LFB1 220 .uleb128 0 221 .byte 0x4 222 .long .LCFI3-.LFB1 223 .byte 0xe 224 .uleb128 0x10 225 .byte 0x86 226 .uleb128 0x2 227 .byte 0x4 228 .long .LCFI4-.LCFI3 229 .byte 0xd 230 .uleb128 0x6 231 .byte 0x4 232 .long .LCFI5-.LCFI4 233 .byte 0xc 234 .uleb128 0x7 235 .uleb128 0x8 236 .align 8 237.LEFDE9: 238.LSFDE11: 239 .long .LEFDE11-.LASFDE11 240.LASFDE11: 241 .long .LASFDE11-.Lframe1 242 .long .LFB2 243 .long .LFE2-.LFB2 244 .uleb128 0 245 .byte 0x4 246 .long .LCFI6-.LFB2 247 .byte 0xe 248 .uleb128 0x10 249 .byte 0x86 250 .uleb128 0x2 251 .byte 0x4 252 .long .LCFI7-.LCFI6 253 .byte 0xd 254 .uleb128 0x6 255 .byte 0x4 256 .long .LCFI8-.LCFI7 257 .byte 0xc 258 .uleb128 0x7 259 .uleb128 0x8 260 .align 8 261.LEFDE11: 262 .text 263.Letext0: 264 .section .debug_info,"",@progbits 265.Ldebug_info0: 266 .long 0x8c 267 .value 0x2 268 .long .Ldebug_abbrev0 269 .byte 0x8 270 .uleb128 0x1 271 .long .LASF2 272 .byte 0x1 273 .long .LASF3 274 .long .LASF4 275 .quad .Ltext0 276 .quad .Letext0 277 .long .Ldebug_line0 278 .uleb128 0x2 279 .byte 0x1 280 .long .LASF0 281 .byte 0x1 282 .byte 0x12 283 .quad .LFB0 284 .quad .LFE0 285 .long .LLST0 286 .byte 0x1 287 .uleb128 0x3 288 .byte 0x1 289 .long .LASF1 290 .byte 0x1 291 .byte 0x19 292 .quad .LFB1 293 .quad .LFE1 294 .long .LLST1 295 .byte 0x1 296 .uleb128 0x4 297 .byte 0x1 298 .long .LASF5 299 .byte 0x1 300 .byte 0x1f 301 .long 0x88 302 .quad .LFB2 303 .quad .LFE2 304 .long .LLST2 305 .byte 0x1 306 .uleb128 0x5 307 .byte 0x4 308 .byte 0x5 309 .string "int" 310 .byte 0 311 .section .debug_abbrev,"",@progbits 312.Ldebug_abbrev0: 313 .uleb128 0x1 314 .uleb128 0x11 315 .byte 0x1 316 .uleb128 0x25 317 .uleb128 0xe 318 .uleb128 0x13 319 .uleb128 0xb 320 .uleb128 0x3 321 .uleb128 0xe 322 .uleb128 0x1b 323 .uleb128 0xe 324 .uleb128 0x11 325 .uleb128 0x1 326 .uleb128 0x12 327 .uleb128 0x1 328 .uleb128 0x10 329 .uleb128 0x6 330 .byte 0 331 .byte 0 332 .uleb128 0x2 333 .uleb128 0x2e 334 .byte 0 335 .uleb128 0x3f 336 .uleb128 0xc 337 .uleb128 0x3 338 .uleb128 0xe 339 .uleb128 0x3a 340 .uleb128 0xb 341 .uleb128 0x3b 342 .uleb128 0xb 343 .uleb128 0x11 344 .uleb128 0x1 345 .uleb128 0x12 346 .uleb128 0x1 347 .uleb128 0x40 348 .uleb128 0x6 349 .uleb128 0x2117 350 .uleb128 0xc 351 .byte 0 352 .byte 0 353 .uleb128 0x3 354 .uleb128 0x2e 355 .byte 0 356 .uleb128 0x3f 357 .uleb128 0xc 358 .uleb128 0x3 359 .uleb128 0xe 360 .uleb128 0x3a 361 .uleb128 0xb 362 .uleb128 0x3b 363 .uleb128 0xb 364 .uleb128 0x11 365 .uleb128 0x1 366 .uleb128 0x12 367 .uleb128 0x1 368 .uleb128 0x40 369 .uleb128 0x6 370 .uleb128 0x2116 371 .uleb128 0xc 372 .byte 0 373 .byte 0 374 .uleb128 0x4 375 .uleb128 0x2e 376 .byte 0 377 .uleb128 0x3f 378 .uleb128 0xc 379 .uleb128 0x3 380 .uleb128 0xe 381 .uleb128 0x3a 382 .uleb128 0xb 383 .uleb128 0x3b 384 .uleb128 0xb 385 .uleb128 0x49 386 .uleb128 0x13 387 .uleb128 0x11 388 .uleb128 0x1 389 .uleb128 0x12 390 .uleb128 0x1 391 .uleb128 0x40 392 .uleb128 0x6 393 .uleb128 0x2116 394 .uleb128 0xc 395 .byte 0 396 .byte 0 397 .uleb128 0x5 398 .uleb128 0x24 399 .byte 0 400 .uleb128 0xb 401 .uleb128 0xb 402 .uleb128 0x3e 403 .uleb128 0xb 404 .uleb128 0x3 405 .uleb128 0x8 406 .byte 0 407 .byte 0 408 .byte 0 409 .section .debug_loc,"",@progbits 410.Ldebug_loc0: 411.LLST0: 412 .quad .LFB0-.Ltext0 413 .quad .LCFI0-.Ltext0 414 .value 0x2 415 .byte 0x77 416 .sleb128 8 417 .quad .LCFI0-.Ltext0 418 .quad .LCFI1-.Ltext0 419 .value 0x2 420 .byte 0x77 421 .sleb128 16 422 .quad .LCFI1-.Ltext0 423 .quad .LCFI2-.Ltext0 424 .value 0x2 425 .byte 0x76 426 .sleb128 16 427 .quad .LCFI2-.Ltext0 428 .quad .LFE0-.Ltext0 429 .value 0x2 430 .byte 0x77 431 .sleb128 8 432 .quad 0 433 .quad 0 434.LLST1: 435 .quad .LFB1-.Ltext0 436 .quad .LCFI3-.Ltext0 437 .value 0x2 438 .byte 0x77 439 .sleb128 8 440 .quad .LCFI3-.Ltext0 441 .quad .LCFI4-.Ltext0 442 .value 0x2 443 .byte 0x77 444 .sleb128 16 445 .quad .LCFI4-.Ltext0 446 .quad .LCFI5-.Ltext0 447 .value 0x2 448 .byte 0x76 449 .sleb128 16 450 .quad .LCFI5-.Ltext0 451 .quad .LFE1-.Ltext0 452 .value 0x2 453 .byte 0x77 454 .sleb128 8 455 .quad 0 456 .quad 0 457.LLST2: 458 .quad .LFB2-.Ltext0 459 .quad .LCFI6-.Ltext0 460 .value 0x2 461 .byte 0x77 462 .sleb128 8 463 .quad .LCFI6-.Ltext0 464 .quad .LCFI7-.Ltext0 465 .value 0x2 466 .byte 0x77 467 .sleb128 16 468 .quad .LCFI7-.Ltext0 469 .quad .LCFI8-.Ltext0 470 .value 0x2 471 .byte 0x76 472 .sleb128 16 473 .quad .LCFI8-.Ltext0 474 .quad .LFE2-.Ltext0 475 .value 0x2 476 .byte 0x77 477 .sleb128 8 478 .quad 0 479 .quad 0 480 .section .debug_aranges,"",@progbits 481 .long 0x2c 482 .value 0x2 483 .long .Ldebug_info0 484 .byte 0x8 485 .byte 0 486 .value 0 487 .value 0 488 .quad .Ltext0 489 .quad .Letext0-.Ltext0 490 .quad 0 491 .quad 0 492 .section .debug_line,"",@progbits 493.Ldebug_line0: 494 .section .debug_str,"MS",@progbits,1 495.LASF0: 496 .string "stop_frame" 497.LASF3: 498 .string "dw2-undefined-ret-addr.c" 499.LASF2: 500 .string "GNU C 4.7.2" 501.LASF1: 502 .string "first_frame" 503.LASF5: 504 .string "main" 505.LASF4: 506 .string "/home/username/src/gdb/testsuite/gdb.dwarf2" 507 .ident "GCC: (GNU) 4.7.2" 508 .section .note.GNU-stack,"",@progbits 509