* gdb.asm/asm-source.exp: Add sh*-*-* as supported target.
authorCorinna Vinschen <corinna@vinschen.de>
Mon, 15 Sep 2003 09:52:56 +0000 (09:52 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 15 Sep 2003 09:52:56 +0000 (09:52 +0000)
* gdb.asm/sh.inc: New file.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.asm/asm-source.exp
gdb/testsuite/gdb.asm/sh.inc [new file with mode: 0644]

index 324c8b3aa17edca0b896443251ffda9865cff6de..a81f45215e5d6263899ac2f727bf5e711b27d4bd 100644 (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.
index ef7d74fe76da29c194515f3d751f9c90f63341f3..8b0df38f3f18d83e778ea5c0305e2d7408c3a9a1 100644 (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
     }
diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc
new file mode 100644 (file)
index 0000000..88a24c3
--- /dev/null
@@ -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