* config/pa/tm-hppa.h: Define lots register offsets needed by
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / mips_pro.c
CommitLineData
ef44eed1
SS
1/* Tests regarding examination of prologues. */
2
3int
4inner (z)
5 int z;
6{
7 return 2 * z;
8}
9
10/* The native compiler seems to lack asm(). */
11
12#if defined (__GNUC__) && defined (__mips__)
13/* This is the verbatim output corresponding to the function middle.
14 Label names have been changed to avoid conflicts. It is here as
15 asm() so we don't have to worry that (a) the compiler might change
16 how it does things, and (b) we'd have to insure it gets compiled
17 with gcc -O2. */
18
19asm ("\n\
20 .text \n\
21 .align 2 \n\
22 .globl middle \n\
23 .loc 1 22 \n\
24\n\
25 .loc 1 21 \n\
26 .ent middle \n\
27middle: \n\
28 .frame $sp,24,$31 # vars= 0, regs= 1/0, args = 16, extra= 0 \n\
29 .mask 0x80000000,-8 \n\
30 .fmask 0x00000000,0 \n\
31 subu $sp,$sp,24 \n\
32\n\
33 .loc 1 23 \n\
34 .set noreorder \n\
35 .set nomacro \n\
36 beq $4,$0,middle_lab0 \n\
37 sw $31,16($sp) \n\
38 .set macro \n\
39 .set reorder \n\
40\n\
41\n\
42 .loc 1 26 \n\
43 .set noreorder \n\
44 .set nomacro \n\
45 jal inner \n\
46 li $4,0x00000006 # 6 \n\
47 .set macro \n\
48 .set reorder \n\
49\n\
50 j middle_lab1 \n\
51middle_lab0: \n\
52\n\
53 .loc 1 24 \n\
54 .set noreorder \n\
55 .set nomacro \n\
56 jal inner \n\
57 li $4,0x00000005 # 5 \n\
58 .set macro \n\
59 .set reorder \n\
60\n\
61middle_lab1: \n\
62 .set noreorder \n\
63 lw $31,16($sp) \n\
64 nop \n\
65 j $31 \n\
66 addu $sp,$sp,24 \n\
67 .set reorder \n\
68 .end middle \n\
69");
70#if 0
71/* Not necessary, and loses if gcc is not using stabs. */
72asm (".stabs \"middle:F1\",36,0,13,middle");
73asm (".stabs \"x:p1\",160,0,13,0");
74#endif
75#else
76int
77middle (x)
78 int x;
79{
80 if (x == 0)
81 return inner (5);
82 else
83 return inner (6);
84}
85#endif
86
87int
88top (y)
89 int y;
90{
91 return middle (y + 1);
92}
93
94int
95main (argc, argv)
96{
97 return top (-1) + top (1);
98}
This page took 0.066409 seconds and 4 git commands to generate.