Kernel module, undefined symbol show_regs

From: Tanya Gornak
Date: Wed Nov 25 2009 - 07:27:35 EST


Hello. I can't solve problem that happens while I'm making my kernel module.

part of my module:
// ...
#include <linux/sched.h>
//....
static u32 task_syscall_entry(enum utrace_resume_action action,
                                struct utrace_engine *engine,
                                struct task_struct *task,
                                struct pt_regs *regs){
    // ...
        show_regs(regs);

}
But, while making I get:

WARNING: "show_regs" [/home/tehhi/module/trace.ko] undefined!

extern void show_regs(struct pt_regs *);  define in header
linux/sched.h, place of source code is
linux/arch/x86/kernel/process_32.c
It use extern void __show_regs(struct pt_regs *); and extern
asmlinkage void __backtrace(void);
I think that extern means that I can use it (and there are no static
symbols in this function).

When trying to insert module, it predictably complains of an unknown
symbol show_regs.

What am I missing here?

Thanks in advance.
--
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/