* gdb.mi/mi-nonstop.exp: Fix the check for non-stop
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.asm / s390.inc
CommitLineData
cd5195a8
JB
1### entry point code
2 .macro gdbasm_startup
3
4 # Align the stack pointer to an 8-byte boundary.
5 lhi %r0,-8
6 nr %r15,%r0
7
8 # Reserve space for the standard stack frame:
9 # back chain, and space for the callee to save its registers.
10 ahi %r15,-104
11
12 # Zero this frame's back chain pointer.
13 xc 0(4,%r15),0(%r15)
14 .endm
15
16
17### Call a function.
18 .macro gdbasm_call subr
19
20 # Put the address of the constant in %r1, load the constant
21 # (SUBR's address), and jump to it.
22 bras %r1, .Lafterconst\@
23 .long \subr
24.Lafterconst\@:
25 l %r1,0(%r1)
26 basr %r14,%r1
27 .endm
28
29
30### Exit with a zero status.
31 .macro gdbasm_exit0
32 lhi %r2, 0
33 svc 1
34 .endm
35
36### Standard subroutine prologue.
37 .macro gdbasm_enter
38
39 # Save all the callee-saves registers. What the heck.
40 stm %r6,%r15,24(%r15)
41
42 # Allocate the stack frame, and write the back chain pointer.
43 # Keep the original SP in %r11.
44 lr %r1,%r15
45 ahi %r15,-96
46 st %r1,0(%r15)
47 .endm
48
49
50### Standard subroutine epilogue.
51 .macro gdbasm_leave
52
53 # Restore all our registers. This also pops the frame, and
54 # restores our return address.
55 lm %r6,%r15,120(%r15)
56
57 # Jump to the return address.
58 br %r14
59
60 .endm
61
62### Several nops.
63 .macro gdbasm_several_nops
64 lr %r0, %r0
65 lr %r0, %r0
66 lr %r0, %r0
67 lr %r0, %r0
68 .endm
68550daf
JB
69
70### Declare an `int' variable.
584b6e9e 71 .purgem gdbasm_datavar
68550daf
JB
72 .macro gdbasm_datavar name value
73 .data
74\name:
75 .long \value
76 .endm
This page took 0.787113 seconds and 4 git commands to generate.