Link errors with CONFIG_VT=n, CONFIG_SYSRQ=y

Russell King (rmk@arm.linux.org.uk)
Wed, 17 Jul 2002 15:29:29 +0100


lkml, James,

When building 2.5.26 with CONFIG_VT=n and CONFIG_SYSRQ=y, the resulting
kernel can't be linked:

drivers/built-in.o: In function `sysrq_handle_unraw':
drivers/built-in.o(.text+0x14694): undefined reference to `fg_console'
drivers/built-in.o(.text+0x14698): undefined reference to `kbd_table'

The following is a work-around for this problem. There is probably
a cleaner solution to this.

--- orig/drivers/char/sysrq.c Wed Jul 17 15:10:39 2002
+++ linux/drivers/char/sysrq.c Wed Jul 17 15:27:18 2002
@@ -81,10 +81,12 @@
static void sysrq_handle_unraw(int key, struct pt_regs *pt_regs,
struct tty_struct *tty)
{
+#ifdef CONFIG_VT
struct kbd_struct *kbd = &kbd_table[fg_console];

if (kbd)
kbd->kbdmode = VC_XLATE;
+#endif
}
static struct sysrq_key_op sysrq_unraw_op = {
handler: sysrq_handle_unraw,

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

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