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