From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quality Quorum To: Keith Seitz Cc: Subject: Re: gdb & arm Date: Thu, 04 Oct 2001 11:32:00 -0000 Message-id: References: X-SW-Source: 2001-10/msg00052.html 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 (*) (*) - 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