diff -purN -X /home/mbligh/.diff.exclude 160-lotsa_sds/arch/i386/kernel/traps.c 170-build_options_on_oops/arch/i386/kernel/traps.c
--- 160-lotsa_sds/arch/i386/kernel/traps.c	2004-02-28 09:54:25.000000000 -0800
+++ 170-build_options_on_oops/arch/i386/kernel/traps.c	2004-02-28 09:54:36.000000000 -0800
@@ -293,12 +293,27 @@ spinlock_t die_lock = SPIN_LOCK_UNLOCKED
 void die(const char * str, struct pt_regs * regs, long err)
 {
 	static int die_counter;
+	int nl = 0;
 
 	console_verbose();
 	spin_lock_irq(&die_lock);
 	bust_spinlocks(1);
 	handle_BUG(regs);
 	printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
+#ifdef CONFIG_PREEMPT
+	printk("PREEMPT ");
+	nl = 1;
+#endif
+#ifdef CONFIG_SMP
+	printk("SMP ");
+	nl = 1;
+#endif
+#ifdef CONFIG_DEBUG_PAGEALLOC
+	printk("DEBUG_PAGEALLOC");
+	nl = 1;
+#endif
+	if (nl)
+		printk("\n");
 #ifdef CONFIG_KGDB
 	/* This is about the only place we want to go to kgdb even if in
 	 * user mode.  But we must go in via a trap so within kgdb we will