Re: gdb & arm

Quality Quorum
2001-10-04T11:32:00Z

On Thu, 4 Oct 2001, Keith Seitz wrote:

> On Thu, 4 Oct 2001, Quality Quorum wrote:
>
> > I run into annoying problem with arm gdb, it is still there
> > in gdb-20011002: if set a break point into function, then function
> > parameters will be printed incorrectly when break point is hit.
> >
> > It seems that breakpoint is hit before the function prologue is complete,
> > gdb uses symbol description applicable to the body of the function, and
> > before function prologue is done symbols simply do not match
> > their descriptions.
>
> I've seen this problem recently, too. I'll assume that you've turned on
> debugging info when compiling.
>
> Can you do me a favor, set a breakpoint in arm_skip_prologue before
> setting a breakpoint in arm-xxx-gdb? Does it use the debug info to figure
> out where the prologue ends? Or does it try to figure it out manually?

It call to arm_skip_prologue call find_pc_partial_function and
it succeeds.

My function start looks like following

mov ip, sp
stmdb !sp, { ...}
sub fp, ip, #4
(*) <start moving data from apcs registers to locations
described in symbol tables>

(*) - breakpoint goes here.

>
> I've seen cases where the compiler has output wrong debug info and caused
> gdb to go to manual prologue decoding, which isn't very sophisticated. I
> have a patch to beef it up a little, but it is just a hack: nothing that I
> would submit to the external list.
>
> I could send it to you if you were daring enough to try it. :-)
> Keith
>
>

It seems to me that the problem is a little bit different,
we have to check that if we had stopped at this place we have
to simply use our knowledge of apcs calling convention instead
of symbol table.

Thanks,

Aleksey