* gdb.asm/asm-source.exp: Add sh*-*-* as supported target.

* gdb.asm/sh.inc: New file.
This commit is contained in:
Corinna Vinschen 2003-09-15 09:52:56 +00:00
parent d0f37bb2b3
commit 71e06f8034
3 changed files with 95 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2003-09-15 Corinna Vinschen <vinschen@redhat.com>
* gdb.asm/asm-source.exp: Add sh*-*-* as supported target.
* gdb.asm/sh.inc: New file.
2003-09-11 David Carlton <carlton@kealia.com>
* gdb.c++/namespace.exp: Add tests for namespace types.

View File

@ -85,6 +85,11 @@ switch -glob -- [istarget] {
"powerpc*-*" {
set asm-arch powerpc
}
"sh*-*-*" {
set asm-arch sh
set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
set link-flags "--entry _start"
}
"sparc-*-*" {
set asm-arch sparc
}

View File

@ -0,0 +1,85 @@
# You'll find a bunch of nop opcodes in the below macros. They are
# there to keep the code correctly aligned. Be careful to maintain
# them when changing the code.
comment "subroutine declare"
.macro gdbasm_declare name
.align 1
.global \name
\name:
.endm
comment "subroutine prologue"
.macro gdbasm_enter
mov.l r14,@-r15
sts.l pr,@-r15
mov r15,r14
nop
.endm
comment "subroutine epilogue"
.macro gdbasm_leave
mov r14,r15
lds.l @r15+,pr
mov.l @r15+,r14
rts
nop
nop
.endm
comment "subroutine end"
.macro gdbasm_end name
.size \name, .-_foo1
.align 1
.endm
comment "subroutine call"
.macro gdbasm_call subr
mov.l .Lconst\@,r1
bra .Lafterconst\@
nop
nop
.Lconst\@:
.align 2
.long \subr
.align 1
.Lafterconst\@:
jsr @r1
nop
.endm
.macro gdbasm_several_nops
nop
nop
nop
nop
.endm
comment "exit (0)"
.macro gdbasm_exit0
sleep
nop
.endm
comment "crt0 startup"
.macro gdbasm_startup
mov.l .stackaddr,r15
bra .afterstackaddr
nop
nop
.align 2
.stackaddr:
.long 196608 ! 0x30000
.align 1
.afterstackaddr:
.endm
comment "Declare a data variable"
.macro gdbasm_datavar name value
.data
.align 2
.type \name, @object
.size \name, 4
\name:
.long \value
.endm