aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.asm/d10v.inc
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2001-12-04 19:45:57 +0000
committerMichael Snyder <msnyder@vmware.com>2001-12-04 19:45:57 +0000
commitca9efc9063b7e94b26582c5b8d6c0c688d9678b6 (patch)
treefb564fcc0a0dc3869a289d85c59a0b04fe38caa9 /gdb/testsuite/gdb.asm/d10v.inc
parent5b5cd1b0faeeda7083dd2ddee4e395202b40ac63 (diff)
downloadgdb-ca9efc9063b7e94b26582c5b8d6c0c688d9678b6.zip
gdb-ca9efc9063b7e94b26582c5b8d6c0c688d9678b6.tar.gz
gdb-ca9efc9063b7e94b26582c5b8d6c0c688d9678b6.tar.bz2
2001-11-30 Michael Snyder <msnyder@redhat.com>
* gdb.asm/asm-source.exp: Add tests for list, search, finish, return, next, info source, info sources, info line, global and static variables, and static functions. * gdb.asm/common.inc: New macro gdbasm_datavar (default definition). * gdb.asm/i386.inc: Override default definition of gdbasm_datavar. * gdb.asm/asmsrc1.s: Add a static function and some variables. * gdb.asm/asmsrc2.s: Make foo2 call foo3 twice (to test 'next'). * gdb.asm/d10v.inc (gdbasm_enter): Set up frame pointer. (gdbasm_leave): Restore frame pointer. (gdbasm_startup): Copy stack set-up from crt0.S.
Diffstat (limited to 'gdb/testsuite/gdb.asm/d10v.inc')
-rw-r--r--gdb/testsuite/gdb.asm/d10v.inc27
1 files changed, 25 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.asm/d10v.inc b/gdb/testsuite/gdb.asm/d10v.inc
index 1ad3b9f..bd9463f 100644
--- a/gdb/testsuite/gdb.asm/d10v.inc
+++ b/gdb/testsuite/gdb.asm/d10v.inc
@@ -1,12 +1,16 @@
comment "subroutine prologue"
.macro gdbasm_enter
+ st r11,@-sp
st r13,@-sp
+ mv r11,sp
.endm
comment "subroutine epilogue"
.macro gdbasm_leave
- ld r13,@sp+
- jmp r13
+ add3 sp,r11,0
+ ld r13,@sp+
+ ld r11,@sp+
+ jmp r13
.endm
.macro gdbasm_call subr
@@ -29,4 +33,23 @@
comment "crt0 startup"
.macro gdbasm_startup
+; R14 always contains memory base address (0)
+
+ ldi r14,0
+
+; Set the USER and SYSTEM stack pointers.
+
+ ldi r0, 0 ; zero arguments
+ ldi r1, 0
+ mvtc r0, psw ; select SPI and set it
+ ldi sp, _stack
+ ldi r10, 0x8000 ; select SPU/FP and set it
+ mvtc r10, psw || ldi r11, 0; clear stack frame
+ ldi sp, _stack - 0x200
+ ldi r13, 0
+
+ st r11, @-sp
+ st r13, @-sp
+; mv r11, sp
+
.endm