1 /* Unwinder test program.
3 Copyright (C) 2003-2022 Free Software Foundation, Inc.
5 This file is part of GDB.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21 #define SYMBOL(str) SYMBOL_PREFIX #str
23 #define SYMBOL(str) #str
29 void jump_at_beginning (void);
31 void stack_align_ecx (void);
32 void stack_align_edx (void);
33 void stack_align_eax (void);
49 /* A normal prologue. */
53 SYMBOL (standard
) ":\n"
61 /* Relevant part of the prologue from symtab/1253. */
65 SYMBOL (gdb1253
) ":\n"
74 /* Relevant part of the prologue from backtrace/1718. */
78 SYMBOL (gdb1718
) ":\n"
80 " movl $0x11111111, %eax\n"
83 " movl $0x22222222, %esi\n"
89 /* Relevant part of the prologue from backtrace/1338. */
93 SYMBOL (gdb1338
) ":\n"
103 /* The purpose of this function is to verify that, during prologue
104 skip, GDB does not follow a jump at the beginnning of the "real"
109 SYMBOL (jump_at_beginning
) ":\n"
121 SYMBOL (stack_align_ecx
) ":\n"
122 " leal 4(%esp), %ecx\n"
133 " leal -4(%ecx), %esp\n"
138 SYMBOL (stack_align_edx
) ":\n"
139 " leal 4(%esp), %edx\n"
150 " leal -4(%edx), %esp\n"
155 SYMBOL (stack_align_eax
) ":\n"
156 " leal 4(%esp), %eax\n"
167 " leal -4(%eax), %esp\n"