This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] New gdb.asm target sh
- From: Corinna Vinschen <gdb-patches at sources dot redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Mon, 8 Sep 2003 16:33:56 +0200
- Subject: [RFA] New gdb.asm target sh
Hi,
the below patch adds sh as a supported target to the gdb.asm testsuite.
Ok to checkin?
Corinna
* gdb.asm/asm-source.exp: Add sh*-*-* as supported target.
* gdb.asm/sh.inc: New file.
Index: asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.42
diff -u -p -r1.42 asm-source.exp
--- asm-source.exp 25 Aug 2003 23:43:40 -0000 1.42
+++ asm-source.exp 8 Sep 2003 14:33:28 -0000
@@ -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
}
Index: sh.inc
===================================================================
RCS file: sh.inc
diff -N sh.inc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ sh.inc 8 Sep 2003 14:33:28 -0000
@@ -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
--
Corinna Vinschen
Cygwin Developer
Red Hat, Inc.