Re: undefined reference to printk()

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Tue Apr 23 2002 - 08:56:00 EST


On Tue, 23 Apr 2002, gio zanei wrote:

> hi to all,
> i need to compile a small program that i made. WHen i try to do it, it
> compiles all right with the -c option ( that is i get the .o file), but if i
> do even the linking it just keep giving me the undefined reference error to
> some kernel functions that i need to use. In particular are the printk,
> filp_open, generic_file_read.... I have included the header files that
> declare them ( kernel.h and fs.h) and i have compiled the program with the
> -D__KERNEL__ and other option used by the compiler when it wants to compile
> a module in the kernel. I tried in many different ways but the error in the
> linking is always the same.
> thank you,
> boba
>

Stuff compiled to run in the kernel needs to be run in the kernel.
Stuff compiled to run in user-mode needs to be run in user-mode.
None the twain shall meet.

You can't make a 'program' that calls kernel functions. You make
a module and install it. Modules are not linked as user-mode
executables. They remain object files.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).

                 Windows-2000/Professional isn't.

-
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/



This archive was generated by hypermail 2b29 : Tue Apr 23 2002 - 22:00:35 EST