diff options
Diffstat (limited to 'gdb/testsuite/gdb.asm/d10v.inc')
-rw-r--r-- | gdb/testsuite/gdb.asm/d10v.inc | 27 |
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 |