This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] New testcase for PR:1291


> > 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");




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]