This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] New gdb.asm target sh
- From: Elena Zannoni <ezannoni at redhat dot com>
- To: Corinna Vinschen <gdb-patches at sources dot redhat dot com>
- Date: Fri, 12 Sep 2003 13:30:09 -0400
- Subject: Re: [RFA] New gdb.asm target sh
- References: <20030908143356.GI1859@cygbert.vinschen.de>
Corinna Vinschen writes:
> Hi,
>
> the below patch adds sh as a supported target to the gdb.asm testsuite.
> Ok to checkin?
>
yep.
elena
> 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.