Re: KGDB 2.0.3 with fixes and development in ethernet interface

From: George Anzinger
Date: Thu Jan 22 2004 - 17:56:40 EST


Tom Rini wrote:
On Thu, Jan 22, 2004 at 10:39:14AM +0530, Amit S. Kale wrote:

On Thursday 22 Jan 2004 4:30 am, George Anzinger wrote:

Amit S. Kale wrote:

Now back to gdb problem of not being able to locate registers.
schedule results in code of this form:

schedule:
framesetup
registers save
...
...
save registers
change esp
call switchto
restore registers
...

I have not analyzed this as yet. However, it does seem to me to be the
same problem as trying to bt through an interrupt frame. The correct way
to do this is to build the dwarf frame descriptors. I have done this for
the interrupt frame and intend to send said patch out in a day or so.

Great! I had to do it this ackward way:

i386 ->

[snip]

I guess your patch will fix this problem for i386 only. Any ideas on doing it for powerpc too?


Maybe I'm missing something, but aside from having to re-write the
solution in PPC asm, if it's in i386 asm, why wouldn't this work for PPC
as well?

I think the asm is not the issue. the only stuff used is constant and pointer generation code, no machine instructions. All that would have to be done is to describe, in the dwarft language, the interrupt frame. This is different for different archs so this is where the work would be needed.

Daniel has suggested that we could just use the new bin tools where in the gas program will build the call frames. I am not sure it can handle expressions, however. And they are needed if you want to tie off the frame if the next step is user land.

By the way, I don't try to build a blow by blow of the frame. Rather I assume it is only of interest at those points where calls are made out of the interrupt /trap code. (Or, in some cases, jumps are made back into it.)


--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/