kdb for i386 has a mismatch between the calling sequence in assembler
and C when the kernel is built with CONFIG_REGPARM. Does this fix your
problem?
Index: linux/include/linux/kdb.h
===================================================================
--- linux.orig/include/linux/kdb.h 2005-06-30 16:19:07.000000000 +1000
+++ linux/include/linux/kdb.h 2005-06-30 16:54:27.000000000 +1000
@@ -107,7 +107,7 @@ typedef enum {
} kdb_reason_t;
#ifdef CONFIG_KDB
-extern int kdb(kdb_reason_t, int, struct pt_regs *);
+extern int asmlinkage kdb(kdb_reason_t, int, struct pt_regs *);
#else
#define kdb(reason,error_code,frame) (0)
#endif
Index: linux/kdb/kdbmain.c
===================================================================
--- linux.orig/kdb/kdbmain.c 2005-06-30 16:19:07.000000000 +1000
+++ linux/kdb/kdbmain.c 2005-06-30 16:54:48.000000000 +1000
@@ -1669,7 +1669,7 @@ kdb_main_loop(kdb_reason_t reason, kdb_r
* release all the cpus at once.
*/
-int
+int asmlinkage
kdb(kdb_reason_t reason, int error, struct pt_regs *regs)
{
kdb_intstate_t int_state; /* Interrupt state */
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.