33fc1dbefb2b83d8c7943d1c96927ed7ac61eb73
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.arch / i386-prologue.c
1 void gdb1253 (void);
2 void gdb1338 (void);
3 void jump_at_beginning (void);
4
5 int
6 main (void)
7 {
8 gdb1253 ();
9 gdb1338 ();
10 jump_at_beginning ();
11 return 0;
12 }
13
14 /* Relevant part of the prologue from symtab/1253. */
15
16 asm(".text\n"
17 " .align 8\n"
18 "gdb1253:\n"
19 " pushl %ebp\n"
20 " xorl %ecx, %ecx\n"
21 " movl %esp, %ebp\n"
22 " pushl %edi\n"
23 " int $0x03\n"
24 " leave\n"
25 " ret\n");
26
27 /* Relevant part of the prologue from backtrace/1338. */
28
29 asm(".text\n"
30 " .align 8\n"
31 "gdb1338:\n"
32 " pushl %edi\n"
33 " pushl %esi\n"
34 " pushl %ebx\n"
35 " int $0x03\n"
36 " popl %ebx\n"
37 " popl %esi\n"
38 " popl %edi\n"
39 " ret\n");
40
41 /* The purpose of this function is to verify that, during prologue
42 skip, GDB does not follow a jump at the beginnning of the "real"
43 code. */
44
45 asm(".text\n"
46 " .align 8\n"
47 "jump_at_beginning:\n"
48 " pushl %ebp\n"
49 " movl %esp,%ebp\n"
50 " jmp .gdbjump\n"
51 " nop\n"
52 ".gdbjump:\n"
53 " movl %ebp,%esp\n"
54 " popl %ebp\n"
55 " ret\n");
This page took 0.029241 seconds and 3 git commands to generate.