This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [patch] New testcase for PR:1291
- From: "Kris Warkentin" <kewarken at qnx dot com>
- To: "Michael Elizabeth Chastain" <mec at shout dot net>, <drow at mvista dot com>, <gdb-patches at sources dot redhat dot com>
- Date: Mon, 27 Oct 2003 13:49:15 -0500
- Subject: Re: [patch] New testcase for PR:1291
- References: <200310241922.h9OJMb5T024347@duracef.shout.net>
> > A) move it and make it generic.
> > B) leave it and write it in assembly.
>
> I like (B) better. The backtrace code is all about specific
> assembly instructions. So I'd like it better in the style of the i386
> prologue tests, with explicit assembly.
>
> Michael C
Okay so this bit of assembly adequately demonstrates the problem. There is
a bit of an issue here though that perhaps some sh4 expert can clear up for
me. If I run this and go "until sub2", it stops on sub2 and works fine.
If, however, I go "until sub1", followed by "until sub2", it stops a couple
instructions before sub2 and I have to 'si' into it. I can modify the test
case to not bother checking sub1 (since we know it's okay anyway) but I'm
still puzzled as to why this is having the problem.
cheers,
Kris
void sub1 (void);
void sub2 (void);
main()
{
sub1();
sub2();
}
asm(".text\n"
" .align 5\n"
"sub1:\n"
" mov.l r14,@-r15\n"
" add #-128,r15\n"
" add #-128,r15\n"
" mov r15,r14\n"
" mov.w .STACK1,r7\n"
" add r7,r14\n"
" mov r14,r15\n"
" mov.l @r15+,r14\n"
" rts\n"
" nop\n"
" .align 1\n"
".STACK1:\n"
" .short 256\n");
asm(".text\n"
" .align 5\n"
"sub2:\n"
" mov.l r14,@-r15\n"
" mov.w .STACK2,r3\n"
" sub r3,r15\n"
" mov r15,r14\n"
" mov.w .STACK2,r7\n"
" add r7,r14\n"
" mov r14,r15\n"
" mov.l @r15+,r14\n"
" rts\n"
" nop\n"
" .align 1\n"
".STACK2:\n"
" .short 260\n");