[PATCH]Call frame debug info for 2.6 kernel

From: George Anzinger
Date: Mon Mar 22 2004 - 19:21:26 EST


This patch adds call frame debug record generation for entry.S frames. If used with KGDB and gdb 6.0 it allows correct "back trace" (bt) through interrupt, system call and trap frames. Frames that point to user space are tied off, those that point to the kernel unwind to the kernel. It also ties off the initial frame in head.S and the idle process stacks for cpus other than cpu0 (which actually goes back to head.S). The patch adds one (1) instruction to the executable kernel (a few lines to the debug space, however).

The patch requires a gdb that handles CFI expressions, although it takes pains to work around a bug in gdb 6.0's expression analizer (the work around is also compatable with a correctly working expression analizer as can be found in the CVS version of gdb). AFAIK gdb 6.0 is the first gdb to handle CFI expressions so you must use it to make this patch useful.

Use of earlier gdb's with this patch will not be affected (either for good or bad).
--
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

Attachment: kgdb-dwarf-2.6.4-1.0.patch.gz
Description: GNU Zip compressed data