diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2003-09-15 09:52:56 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2003-09-15 09:52:56 +0000 |
commit | 71e06f8034fdabee2d7579e85fb6a73d2a98c2ba (patch) | |
tree | 0df2c7b8c8c54a62d8009d30e8661229863fd5f5 /gdb | |
parent | d0f37bb2b3e04df50ffea1cebb74f3906c48a85d (diff) | |
download | gdb-71e06f8034fdabee2d7579e85fb6a73d2a98c2ba.zip gdb-71e06f8034fdabee2d7579e85fb6a73d2a98c2ba.tar.gz gdb-71e06f8034fdabee2d7579e85fb6a73d2a98c2ba.tar.bz2 |
* gdb.asm/asm-source.exp: Add sh*-*-* as supported target.
* gdb.asm/sh.inc: New file.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.asm/asm-source.exp | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.asm/sh.inc | 85 |
3 files changed, 95 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 324c8b3..a81f452 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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. diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp index ef7d74f..8b0df38 100644 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ b/gdb/testsuite/gdb.asm/asm-source.exp @@ -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 } diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc new file mode 100644 index 0000000..88a24c3 --- /dev/null +++ b/gdb/testsuite/gdb.asm/sh.inc @@ -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 |