Re: PPC KGDB changes and some help?

From: George Anzinger
Date: Wed Jan 21 2004 - 18:16:10 EST


Tom Rini wrote:
On Wed, Jan 21, 2004 at 11:42:17AM -0700, Tom Rini wrote:

On Wed, Jan 21, 2004 at 10:23:12PM +0530, Amit S. Kale wrote:


Hi,

Here it is: ppc kgdb from timesys kernel is available at
http://kgdb.sourceforge.net/kgdb-2/linux-2.6.1-kgdb-2.1.0.tar.bz2

This is my attempt at extracting kgdb from TimeSys kernel. It works well in TimeSys kernel, so blame me if above patch doesn't work.

Okay, here's my first patch against this.


And dependant upon this is a patch to fixup the rest of the common PPC
code, as follows:
- Add FRAME_POINTER
- Put the bits of kgdbppc_init into ppc_kgdb_init.
- None of the gen550 stuffs depend on CONFIG_8250_SERIAL directly,
remove that constraint.
- Add missing bits like debuggerinfo, BREAKPOINT, etc.
- Add a kgdb_map_scc machdep pointer.

--- 1.48/arch/ppc/Kconfig Wed Jan 21 10:13:13 2004
+++ edited/arch/ppc/Kconfig Wed Jan 21 12:18:32 2004
@@ -1405,6 +1405,14 @@
Say Y here only if you plan to use some sort of debugger to
debug the kernel.
If you don't debug the kernel, you can say N.
+
+config FRAME_POINTER
+ bool "Compile the kernel with frame pointers"
+ help
+ If you say Y here the resulting kernel image will be slightly larger
+ and slower, but it will give very useful debugging information.
+ If you don't debug the kernel, you can say N, but we may not be able
+ to solve problems without frame pointers.

This is fast becoming old hat. If you compile with dwarf debug info, you not only get more reliable frame info, but you do not need frame pointers. Gdb is almost there. The languages have already arrived.

A question I have been meaning to ask: Why is the arch/common connection via a structure of addresses instead of just calls? I seems to me that just calling is a far cleaner way to do things here. All the struct seems to offer is a way to change the backend on the fly. I don't thing we ever want to do that. Am I missing something?

-g

--
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/